Vous êtes sur la page 1sur 99

Rpublique Tunisienne

Ministre de lEnseignement Suprieur et de la Recherche Scientifique et des


Technologies de lInformation et de la communication
Universit de Sousse
Ecole Suprieure des Sciences et de Technologie Hammam Sousse

Mastre Professionnel En Pilotage Des Systmes


Industriels
Rapport de stage de fin dtude
Cloud Computing Mobile : Cas dun outil daide la dcision
danalyse de flux des camras IP
Ralis par : Rawen Nedia

Encadrant Universitaire : Dr. Lobna HLAOUA


Encadrant Professionnel : Dr. Zaki BRAHMI

Anne Universitaire 2013-2014

Ddicace

Au Dieu tout puissant mon crateur.


A la mmoire de ma grand-mre.
A mon pre, en signe damour, de reconnaissance et
de gratitude pour tous les soutiens et les sacrifices dont
il a fait preuve mon gard.
A ma mre, ma raison dtre, ma raison de vivre, la
lanterne qui claire mon chemin et millumine de
douceur et damour.
A toute la famille Rawen.
A ma trs chre amie Abir, et tous mes proches
Je vous ddie ce modeste travail en termes damour et de profonde
gratitude

Rawen Nedia

Remerciements
Cest avec un grand plaisir que je rserve cette page, en signe de gratitude et de
profonde reconnaissance tous ceux qui mont aid la ralisation de ce travail.
Je tiens exprimer ma vive reconnaissance Mm. Hlaoua Lobna, pour mavoir fait le
grand honneur daccepter lencadrement tout au long de ce projet et pour ces
conseils.
Je tiens tmoigner mes sincres reconnaissances Mr. Brahmi Zaki, mon encadrant
externe qui ma accord la faveur de faire mon projet au sein du Laboratoire RIADI
GDL et aussi pour ces efforts, sa disponibilit, son encadrement instructif et ses
prcieux conseils qui ont t dun grand apport tout au long de llaboration de ce
travail
Ce travail naurait pas pu tre ralis sans la contribution de Mr. Hergli Mounir, je
tiens lui exprimer mes reconnaissances pour son aide prcieuse durant ce travail.Il
ma toujours conseill, me faisant profiter ainsi de ses comptences thoriques et de
son exprience.
Je noublie pas non plus de remercier tous mes enseignants pour leurs efforts et la
richesse de leurs interventions durant mes tudes universitaires.
Je remercie, enfin, toutes les personnes qui ont contribu de prs ou de loin la
ralisation de ce travail.

Table des matires

Table de matire
Introduction ........................................................................................................................................... 1

Chapitre 1: Gnralit ........................................................................................................................ 3


I. Prsentation du laboratoire RIADI-GDL : ....................................................................................... 3
1.Objectifs: ...................................................................................................................................... 4
2.Domaines:..................................................................................................................................... 4
II.Prsentation du projet : .................................................................................................................... 4
III.Outil daide la dcision : .............................................................................................................. 6
1.Le systme informatique d'aide a la dcision (SIAD) : ................................................................ 7

Chapitre 2: Cloud Computing ............................................................................................................ 9


I.Prsentation du Cloud Computing : .................................................................................................. 9
1.Caractristiques : .......................................................................................................................... 9
2.Historique : ................................................................................................................................. 11
II.Les facteurs dadoption du Cloud Computing : ............................................................................. 11
1.Dmocratisation de linformatique : ........................................................................................... 12
2.Dmocratisation de lInternet : ................................................................................................... 12
3.Dveloppement des rseaux informatiques : .............................................................................. 12
4.Dveloppement des techniques de programmation : .................................................................. 13
III.Architectures du Cloud Computing : ............................................................................................ 13
1.Modle de services orients clients : .......................................................................................... 13
2.Modles de dploiement :........................................................................................................... 15
IV.Avantages et inconvnients du Cloud Computing : ..................................................................... 18
1.Avantages : ................................................................................................................................. 18
2.Inconvnients : ........................................................................................................................... 19
V.La scurit dans le Cloud Computing : ......................................................................................... 20
VI.Cloud Computing, Services Web et Grille de calcul : ................................................................. 20
1.Les services web :....................................................................................................................... 21
2.Grille de calcul : ......................................................................................................................... 23
3.Comparaison entre : Grille de calcul, Services Web et Cloud Computing : .............................. 25
VII.Cloud Computing Mobile : ......................................................................................................... 25
1.Concept et principe :................................................................................................................... 25
2.Architecture : .............................................................................................................................. 26
VIII.Plateformes du Cloud Computing ............................................................................................. 26
1.Etude des principales plateformes Cloud : ................................................................................. 26

Table des matires


IX.Etude comparative des diffrentes plateformes : ......................................................................... 34
1.Comparatif des principales offres de Plateforme as a Service (PaaS) :...................................... 34
2.Comparatif des principales offres dinfrastructure as a Service (IaaS) : .................................... 35
3.Comparatif des principales offres de Software as a Service (SaaS) : ......................................... 36

Chapitre 3: Etude Conceptuelle ....................................................................................................... 38


I.Etude Prliminaire : ........................................................................................................................ 38
1.Mthodologie de dveloppement : ............................................................................................. 38
2.Recueil des besoins fonctionnels : .............................................................................................. 40
3.Recueil des besoins non fonctionnels : ....................................................................................... 40
4.Identification des acteurs : .......................................................................................................... 41
5.Modlisation du contexte : ......................................................................................................... 41
II.Analyse des besoins fonctionnels .................................................................................................. 43
1.Identification des cas dutilisation : ............................................................................................ 44
2.Diagramme de paquetage : ......................................................................................................... 49
III.Analyse des besoins techniques : ................................................................................................. 49
1.Configuration matrielle du systme : ........................................................................................ 50
2.Spcification darchitecture :...................................................................................................... 51
IV.Conception ................................................................................................................................... 52
1.Diagramme de classes : .............................................................................................................. 53
2.Diagramme de squence :........................................................................................................... 56

Chapitre 4: Ralisation ..................................................................................................................... 60


I.Technologies utilises : ................................................................................................................... 60
1.Le langage de programmation JAVA : ....................................................................................... 60
2.La plateforme Android 4.0 (Ice Cream Sandwich) : .................................................................. 60
3.La plateforme Google App Engine (GAE) :............................................................................... 61
4.La technologie NoSQL (Not Only SQL) : ................................................................................. 61
II.Environnement de travail :............................................................................................................. 62
1.Environnement matriel : ........................................................................................................... 62
2.Environnement logiciel : ............................................................................................................ 62
III.Dploiement de lapplication sur Google App Engine :............................................................... 64
1.Les principales interfaces graphiques :....................................................................................... 65
Conclusion ............................................................................................................................................ 71
Glossaire ................................................................................................................................................. a
Bibliographie...........................................................................................................................................c
Annexe A ................................................................................................................................................ g
Annexe B ................................................................................................................................................. l

Liste des Figures

Liste des Figures

Figure 1-1: Logo RIADI.......................................................................................................................... 3


Figure 2-1: Utilisation des ressources [SCALES UP, 2011] ................................................................. 10
Figure 2-2: Evolution de l'informatique [DIRECCTE, 2012] ............................................................... 11
Figure 2-3: Evolution du nombre d'internautes dans le monde (1995-2010) [SEMEL, 2006] ............. 12
Figure 2-4: Les 3 couches du Cloud Computing [PARISOT, 2011]..................................................... 13
Figure 2-5: Les modles de services Cloud [TALYANA, 2012] .......................................................... 15
Figure 2-6: Les modles de services Cloud [TALYANA, 2012] .......................................................... 16
Figure 2-7: Schma de larchitecture matrielle dun Cloud externe .................................................... 17
Figure 2-8: Schma de larchitecture matrielle dun Cloud interne .................................................... 17
Figure 2-9: Structure d'un message SOAP [IBM, 2010] ....................................................................... 22
Figure 2-10: Schma gnrale de l'annuaire UDDI [SOFTDEATH, 2013] .......................................... 23
Figure 2-11: Architecture du Cloud Computing Mobile [KKKM, 2012] ............................................. 26
Figure 2-12: Tableau de bord de Google App Engine........................................................................... 28
Figure 2-13: Fonctionnement de Google App Engine [MOCHE-SAMSON, 2009]............................. 29
Figure 2-14: Portail de gestion de la plateforme Windows Azure [ROUSSET, 2010] ......................... 29
Figure 2-15: Portail d'administration AMAZON EC2 [DOUGLAS, 2009] ......................................... 30
Figure 2-16: Interface d'administration pour AMAZON S3 [SOFT32] ................................................ 31
Figure 2-17: Portail d'administration de la plateforme IAAS OPENNEBULA [OPENNEBULA] ...... 32
Figure 2-18: Tableau de bord de la plateforme EUCALYPTUS [EUCALYPTUS] ............................. 33
Figure 2-19: Tableau de bord d'OPENSTACK [OPENSTACK] .......................................................... 34
Figure 3-1: Le processus de dveloppement en Y [ROQUES, 2003] ................................................... 39
Figure 3-2: Diagramme de contexte dynamique du systme ................................................................ 42
Figure 3-3: Diagramme de contexte statistique du systme .................................................................. 43
Figure 3-4 : Situation de la capture des besoins fonctionnelles dans 2TUP [ROQUES, 2003] ............ 43
Figure 3-5: Digramme de cas d'utilisation global initial ....................................................................... 44
Figure 3-6: Raffinement du cas d'utilisation Grer Camra ............................................................ 45
Figure 3-7: Raffinement du cas d'utilisation Consulter Statistiques ................................................ 46
Figure 3-8: Raffinement du cas d'utilisation Grer Compte ............................................................. 47
Figure 3-9:Raffinement du cas d'utilisation S'Authentifier ............................................................. 48
Figure 3-10: Digramme de package de l'application ............................................................................. 49
Figure 3-11: Situation de la capture des besoins techniques dans 2TUP .............................................. 50

Liste des Figures

Figure 3-12: Digramme de dploiement du systme MADS Cloud...................................................... 50


Figure 3-13: Architecture technique du systme ................................................................................... 52
Figure 3-14: Diagramme de classe de base de donnes ........................................................................ 53
Figure 3-15: Diagramme de classe de conception pour le cas d'utilisation S'Authentifier ............. 54
Figure 3-16: Diagramme de classe de conception pour le cas d'utilisation Visualiser Camra ...... 54
Figure 3-17: Diagramme de classe de conception pour le cas d'utilisation Consulter Statistiques . 55
Figure 3-18: Diagramme de squence du cas d'utilisation S'Authentifier ....................................... 56
Figure 3-19: Diagramme de squence du cas d'utilisation Visualiser Camra ................................ 57
Figure 3-20: Digramme de squence du cas d'utilisation Consulter Statistiques ............................ 58
Figure 4-1: Comparaison entre la BD Relationnelle et BD Oriente Colonne [FIGUIERE, 2010] ...... 62
Figure 4-2: Interface de cration dun nouveau compte ........................................................................ 65
Figure 4-3: Interface de rception mail ................................................................................................. 65
Figure 4-4: Interface de rcupration mot de passe............................................................................... 66
Figure 4-5: Interface d'authentification ................................................................................................. 66
Figure 4-6: Interface de Menu Principal ............................................................................................... 67
Figure 4-7: Interface de Visualisation des Camras .............................................................................. 67
Figure 4-8: Interface dAjout dune Camra ......................................................................................... 68
Figure 4-9: Interface de Suppression dune Camra ............................................................................. 68
Figure 4-10: Interface de consultation des statistiques par jour ........................................................... 69
Figure 4-11: Interface de consultation des statistiques par anne ......................................................... 69
Figure 4-12: Interface de modification du profil ................................................................................... 70
Figure 4-13: Interface de rcupration du mot de passe ........................................................................ 70

Liste des Tableaux

Liste des Tableaux

Tableau 2-1:Avantages et inconvnients des services nuagiques ......................................................... 15


Tableau 2-2:Tableau comparatif des technologies de grille de calcul, de Services Web et du Cloud
Computing ............................................................................................................................................. 25
Tableau 2-3: Etude comparative des principales plateformes PaaS ...................................................... 35
Tableau 2-4: Etude comparative des plateformes IaaS ......................................................................... 36
Tableau 2-5: Etude comparative des offres SaaS .................................................................................. 37
Tableau 3-1:Description du diagramme de contexte dynamique .......................................................... 42
Tableau 3-2:Description des cas dutilisation ....................................................................................... 44
Tableau 3-3: Tableau de priorits .......................................................................................................... 45
Tableau 3-4:Description du cas dutilisation Visualiser Camra .................................................... 46
Tableau 3-5:Description du cas dutilisation Ajouter Camra ........................................................ 46
Tableau 3-6: Description du cas dutilisation Consulter statistiques ............................................... 47
Tableau 3-7:Description du cas dutilisation Crer Compte ........................................................... 48
Tableau 3-8:Description du cas dutilisation Sauthentifier ............................................................. 48
Tableau 3-9: types de classes danalyse ................................................................................................ 55
Tableau 4-1:Description des matriels informatiques ........................................................................... 62

Introduction

Introduction

Avec le dveloppement des technologies de communication et laugmentation


exponentielle des capacits de transfert et de sauvegarde de donnes, linformatique a atteint
un stade o un ordinateur isol devient gnralement dsuet. Linformatique est prsent
base sur la communication entre serveurs, postes utilisateurs, Data Centers1 et rseaux.
La tendance actuelle est effectivement la mutualisation des ressources afin den maximiser
lexploitation et de bnficier dconomies dchelle.
Ce concept est un modle caractris par lusage de ressources extrieures (mmoire, CPU,
logiciels, plateformes, machines virtuelles, donnes) disponibles distance par
lintermdiaire de rseaux et utilisables et adaptables en fonction des besoins.
Paralllement, on assiste actuellement lmergence de technologies mobiles de
communication et de traitement de linformation. A ce propos, les tlphones mobiles sont
devenus un des outils principaux dans la vie quotidienne, personnelle et professionnelle.
Ils ont donn naissance de nouveaux marchs, comme celui des applications mobiles.
Cependant, ces terminaux prsentent certaines contraintes (limite de capacit de calcul, faible
capacit de stockage, restriction sur la consommation dnergie ) qui les empchent
dexcuter des applications qui consomment une quantit de ressources importante.
La problmatique pose se rsume par la question suivante : Comment faire fonctionner des
applications lourdes sur des appareils mobiles de capacit limite ?
La solution quon adopte est le recours la technologie du Cloud Computing mobile .
Cette technologie permet le traitement et le stockage des donnes dans le nuage informatique.
De ce fait, on va raliser une application mobile, qui permet aux utilisateurs de bnficier des
services sans avoir besoin de matriel complexe et coteux.
Dans ce cadre, je propose dans mon projet cette nouvelle technologie comme solution
daide la dcision pour lanalyse des flux des camras IP pour llaboration des statistiques
sur le nombre de personnes qui passent devant les panneaux publicitaires. Ce futur systme
permet aux responsables Marketing, de grer les camras IP (ajouter, modifier, supprimer ou

Introduction

visualiser les camras en temps rel), et visualiser les statistiques sur le nombre de
passagers.Le prsent rapport est structur en deux parties couvrant lensemble des aspects de
notre travail :

La premire partie, compose de deux chapitres, sera consacre lexplication


dtaille des concepts prcits savoir laide la dcision, le Cloud Computing, le
Cloud Computing mobile et les plateformes de linformatique en nuage.

La deuxime partie, compose aussi de deux chapitres, sera consacre la conception


et limplmentation du notre application. Cette partie comprend dans le premier
chapitre, une description dtaille dtude prliminaire, danalyse et conception ; ainsi
que la ralisation dans le deuxime chapitre.

Chapitre i:
Gnralit

Chapitre 1 : Gnralit

Chapitre 1

Gnralit

Introduction :
Au cours de ce chapitre, on labore dans une premire partie le laboratoire RIADI-GDL
ainsi que ces diffrents domaine et objectifs. On expose ensuite une description dtaille du
projet, puis on prsente une tude du systme informatique daide la dcision et ses outils et
mthodes.

I. Prsentation du laboratoire RIADI-GDL :


Le laboratoire
l'Enseignement

a t habilit en 1999 par le Ministre de

Suprieur,

de

la Recherche Scientifique

et

de

la Technologie et par le Secrtariat d'Etat la Recherche Scientifique


et la Technologie sous le N de code IT01 pour la priode 1999-2002.
Figure 1-1: Logo RIADI

Le laboratoire a une grande exprience d'enseignement, de recherche et de collaboration


socio-conomique particulirement dans les domaines des technologies d'information et de
communication.
Jusqu' 2005, le laboratoire a t dirig par Professeur Mohamed Ben Ahmed.
Actuellement le laboratoire est dirig par Professeur Henda Hajjami Ben Ghezala.
La Rhabilitation du laboratoire RIADI-GDL pour la priode 2003-2006 s'est faite sur la base
des thmatiques de quatre ples de recherche essentiellement en s'inscrivant de plus en plus
dans un contexte innovateur et international :

Ple Gnie Logiciel ;

Ple Gnie Documentiel ;

Ple Gnie Linguistique ;

Ple Gnie de connaissances et de l'information.

Le laboratoire compte 113 membres rpartis sur les quatre ples:

30 Chercheurs permanents encadrants ;

41 doctorants ;

42 Mastres.

Chapitre 1 : Gnralit

1. Objectifs:
Les objectifs spcifiques de recherche du laboratoire sont :

Traitement de l'information documentaire ;

Construction d'outils logiciels gnraux pour le traitement de l'arabe crit, ces outils
s'articulent autour des trois axes de recherche (analyse syntaxique, acquisition des
connaissances, construction de dictionnaires) ;

Etude des ontologies, du Knowledge Management et des systmes multi-agents ;

Ingnierie des mthodes, des processus et dveloppement des outils associs.

2. Domaines:
Les domaines dans lesquels s'inscrivent les travaux du laboratoire sont :

Domaine des sciences cognitives traitant particulirement les aspects lis la


modlisation des utilisateurs, l'tude des ontologies et ltude approfondie en
Knowledge Management ;

Domaine des e-services de plus en plus prsent sur Internet tel que : le tlenseignement, le e-businesss, le e-commerce, etc ;

Domaine combinant les deux autres faisant apparatre de nouvelles recherches en


Web smantique ;

Domaine d'ingnierie des systmes. Il s'agit en fait de fournir des mthodes , des
techniques et des outils permettant de dvelopper et d'implanter le plus efficacement
possible les systmes informatiques de natures diverses en vue de l'amlioration de la
productivit et de la qualit.

II. Prsentation du projet :


Les systmes d'information sont aujourd'hui au cur des proccupations des directions
marketing et vente. Pour analyser, suivre les performances des commerciaux, piloter les
actions marketing, mener une politique oriente client...
Les directeurs marketing et commerciaux n'y associent pas immdiatement les outils dont
ils disposent. C'est travers des mots-cls tels que base de donnes, outils d'extraction ou
statistiques et tableaux de bord..., qu'ils tablissent le lien.

Chapitre 1 : Gnralit

Le futur systme offre aux responsables Marketing une opportunit daide dcisionnel,
grce llaboration des statistiques sur le nombre de personnes qui passent devant les
panneaux publicitaires.
Lanalyse des flux vido est une tche intressante quil est ncessaire de mesurer et de
matriser pour le secteur Marketing. Elle permet aux responsables de :

Suivre en temps rel l'volution du nombre de clients ou de visiteurs ;

Mesurer les variations de frquentation sur une zone donne (lieu public, centre
commercial) ;

Analyser les performances des oprations marketing ralises ;

Suivre l'impact d'une publicit ;

Prendre des dcisions finement corrles aux faits ;

Amliorer la qualit de service la clientle.

Plusieurs technologies sont disponibles dans le domaine danalyse des flux vido.
Cependant, elles ne sont pas toutes adaptes aux environnements extrieurs et certaines sont
simplement ni fiables ni efficaces. Les technologies rcentes dans ce domaine consistent aux
systmes lectroniques bass sur les capteurs de mouvement. Ils permettent la dtection de
personnes et la collecte des donnes sur le nombre de passagers, cependant, ils prsentent
certaines limites et inconvnients :

Ils sont coteux et reprsentent un investissement important ;

Linstallation de ces systmes est souvent complexe ;

La zone de dtection des capteurs est limite.

Dautre part, la ralisation dapplications mobiles pour lanalyse des flux vido est
difficile. En effet, les appareils mobiles ont une capacit de traitement et de stockage limite,
ce qui les empchent de supporter des applications de ce genre.
La solution quon propose est la ralisation dun outil daide la dcision pour lanalyse des
flux des camras IP. Cet outil sera bas sur la technologie du Cloud Computing qui consiste
dporter sur des serveurs distants des traitements informatiques complexes et des quantits de
donnes importantes.
Notre projet consiste donc concevoir et raliser une application mobile hberge via la
technologie Cloud Computing permettant lanalyse des flux des camras IP, et ceci afin
dlaborer des statistiques sur le nombre de personnes qui passent devant les panneaux
publicitaires. Les fonctionnalits offertes par le futur systme seront donc:

Chapitre 1 : Gnralit

La gestion des camras IP (Ajout, modification, Suppression et visualisation) ;

La collection des donnes sur le nombre de personnes.

Les autres domaines dapplications du notre projet sont multiples, citons:

Les lieux commerciaux :

Dans un centre commercial, lanalyse de flux de camra IP est essentielle car elle offre
plusieurs fonctionnalits pour les responsables marketing, et notamment :

La mesure de l'impact des actions promotionnelles ;

Le calcul de l'efficacit commerciale en comparant les visites et les ventes ;

La comparaison des performances de diffrents sites.

Les lieux publics :

Les exploitants de lieux publics ou organisateurs dvnements sont tenus de ne pas dpasser
le nombre de visiteurs autoriss. Lanalyse de flux des camras IP permet de surveiller en
permanence le nombre de personnes prsentes dans une salle et, par exemple, douvrir si
ncessaire des espaces supplmentaires pour accueillir les visiteurs en surplus.

Le secteur de transport :

Lanalyse des flux pour le secteur de transport est une proccupation importante : les
oprateurs de transport cherchent une information de comptage fiable et prcise pour pouvoir
planifier et grer de la manire la plus adquate les ressources humaines, financires et
matrielles.

III. Outil daide la dcision :


La signification du terme dcision peut fortement varier. Dune manire gnrale La
dcision rfre un processus complexe, et plus prcisment, un processus didentification
et de rsolution de problmes.

Dans la thorie de la dcision normative ou statistique, la dcision est laction de


slectionner une stratgie particulire entre plusieurs voies possibles dactions ;

Dans la thorie des organisations, la thorie de la dcision empirique et le domaine de


lintelligence artificielle, la dcision est le processus de traitement de linformation ou
le processus organisationnel lui-mme.

Pour les psychologues, la dcision peut tre assimile un certain type de comportement.

Chapitre 1 : Gnralit

1. Le systme informatique d'aide a la dcision (SIAD) :


Le SIAD est un outil dobservation et de description qui vise, partir de donnes de
gestion et/ou de statistiques, donner aux managers dune entreprise les moyens didentifier
des alertes de gestion, de suivre lvolution de lactivit et de disposer doutils dinvestigation
de sujets ou phnomnes particuliers. Il ne fournit pas les explications ni les commentaires qui
relvent dune phase de travail postrieure lobservation.
a. Types de SIAD :

Il est dusage de distinguer trois types diffrents du systme informatique :

les systmes supportant la conception des produits (calcul numrique, CAO, ...) ;

les systmes industriels : (conduite de machines, contrle de process industriel, ...) ;

les systmes de gestion : Ces derniers couvrent toutes les activits de gestion du
fonctionnement de lentreprise (marketing, vente, achat, production, logistique,
finance, ressources humaines, R&D2).

b. But dun SIAD :

Dans lentreprise, le SIAD a pour objectif de faciliter ltablissement et la mise en uvre


de la stratgie, en particulier de concrtement supporter la ralisation des activits. Il vise :

Prsenter des informations utiles : ceci implique quil soit construit selon des critres
de slectivit en choisissant, parmi toutes les statistiques quil est possible de produire,
celles qui peuvent servir telle ou telle catgorie dutilisateurs ;

Fournir aux utilisateurs un outil de consultation commode, dune ergonomie aise, de


faon minimiser les tches de recherche de linformation et de prsentation des
rsultats ;

Produire des statistiques, en adressant au coup par coup des requtes une application
oprationnelle, est coteux en traitement ;

Protger les bases de donnes oprationnelles en sintercalant comme un tampon entre


elles et les utilisateurs et en prparant la plupart des statistiques dont ces derniers ont
besoin.

c. Outils et Mthodes de laide la dcision :

Laide la dcision utilise des techniques et des mthodologies issues du domaine des
mathmatiques appliques telles que loptimisation, les statistiques, la thorie de la dcision

R&D : Le management de la Recherche et dveloppement est une discipline dont l'objectif est de mettre en place dans l'entreprise des processus permettant la
circulation des savoir-faire d'abord au travers des quipes responsables des nouveaux produits puis jusqu' la mise en production de ceux-ci.

Chapitre 1 : Gnralit

ainsi que des thories de domaines moins formelles telles que lanalyse des organisations
et les sciences cognitives.
Outils de laide la dcision :

Les outils de laide la dcision sont classs selon quils soient destins lusage
individuel, un groupe ou lorganisation dans son ensemble. Pour chaque type on cite les
principaux outils :

Les tableaux de bord comportant des alertes ;

Les tableaux prformats contenant lessentiel de la statistique dactivit et


denvironnement ;

Les tableaux et graphiques restituant les rsultats dinterrogations en utilisant la


technologie" hypercubes3 ";

La restitution danalyses sophistiques (analyse de corrlation, simulation etc.)


utilisant les outils de " datamining4".

Mthodes de laide la dcision :

L'aide la dcision reprsente l'ensemble des moyens (modles, mthodes, outils,


concepts,) mis a la disposition du dcideur pour faciliter la prise de dcision. Chaque outil
informatique est dot de ses propres mthodes de ralisation et de mise en uvre:

Mthodes KOD (Knowledge Oriented Design) [Vogel 88] ou KADS (Knowledge


Acquisition and Documentation Structuring) [Breuker 94] pour les systmes experts,
Data Mining ;

Mthodes KDD (Knowledge Discovery in Databases) [Fayyad 96] pour lextraction


des connaissances a partir des donnes, Data Warehouse5 [Kimball 00].

Les mthodes sont diversifies, nombreuses, non relies, utilisant des concepts ou
formalismes diffrents selon les outils. Seule la modlisation des donnes reste un point peu
prs partage.

Conclusion :
On a prsent dans ce chapitre le laboratoire RIADI-GDL, ainsi que la description dtaille
du projet et les outils daides la dcision pour le secteur marketing. Dans le prochain
chapitre on prsentera le cloud computing et ses diffrentes plateformes.

hypercubes : http://www.bearingpoint.com/fr-fr/7-7531/la-technologie-hypercube-destinee-au-secteur-de-la-sante/
datamining : Lexploration de donnes, connue aussi sous l'expression de fouille de donnes, data mining, ou encore extraction de connaissances partir de donnes, ECD en franais,
KDD en anglais, a pour objet lextraction d'un savoir ou d'une connaissance partir des donnes.
5
Data Warehouse : Le terme Entrept de donnes dsigne une base de donnes utilise pour collecter, ordonner, journaliser et stocker des informations provenant de base de donnes
oprationnelles et fournir ainsi un socle l'aide la dcision en entreprise.
4

Chapitre ii :
Cloud Computing

Chapitre 2 : Cloud Computing

Chapitre 2

Cloud Computing

Introduction :
La technologie de lInternet se dveloppe de manire exponentielle depuis sa cration.
Actuellement, une nouvelle tendance a fait son apparition dans le monde des technologies de
l'information et de la communication, il s'agit du cloud computing .
Dans le prsent chapitre, on prsente dans une premire partie le concept du cloud
computing et ses caractristiques. On expose ensuite les facteurs dmergence et larchitecture
de ce nouveau modle informatique. Puis, on parle de la relation existante entre le cloud
computing, les services web et les grilles de calcul. Enfin, on prsente le concept du cloud
computing mobile ainsi que les diffrentes plateformes.

I. Prsentation du Cloud Computing :


A ce jour, il nexiste pas de dfinition officielle ou standardise du Cloud Computing.
Toutes dfinitions nous mne dduire que le cloud Computing est un concept majeur dans
lvolution informatique. Il consiste dporter sur des serveurs distants des donnes et des
traitements informatiques traditionnellement effectus sur des ordinateurs locaux. Les
utilisateurs ou les entreprises ne sont plus grants de leurs propres capacits informatiques
mais peuvent ainsi accder via Internet de nombreux services en ligne sans avoir grer
linfrastructure sous-jacente, souvent complexe.
1. Caractristiques :
Selon la dfinition propose par le NIST6, le cloud computing comprend cinq
caractristiques principales [Scales Up, 2011].
a. Accs rseau universel :

Les grands fournisseurs du cloud computing rpartissent leurs centres de traitements sur la
plante pour fournir un accs aux systmes en moins de 50 ms de nimporte quel endroit. Les
prestations sont accessibles via Internet, ce qui permet une utilisation dans le monde entier
avec divers dispositifs terminaux (PC, Tablette, Smartphone, etc.)

NIST (National Institute for Standards and Technology) : cest une agence du dpartement du commerce amricain. Son objectif est de promouvoir
linnovation et la comptitivit de lindustrie au travers de la technologie et des standards.
6

Chapitre 2 : Cloud Computing

b. Mutualisation des ressources :

Les ressources informatiques du fournisseur sont de divers types : serveurs, capacit de


stockage, bande passante, puissance de traitement, etc. Ces ressources sont mises en commun
pour servir plusieurs clients, et sont alloues et libres dynamiquement suivant la demande.
La notion de partage de ressources sappuie sur le concept de virtualisation qui permet de
faire fonctionner simultanment plusieurs systmes dexploitation dans des machines
virtuelles, sur un mme serveur physique. Le client na en gnral ni le contrle ni la
connaissance de lemplacement exact de ses donnes et ressources, mme sil peut parfois
choisir des prfrences gographiques (par pays, continent).
c. Elasticit :

Llasticit est lune des caractristiques fondamentales du cloud computing. Elle signifie
la capacit modifier dynamiquement la quantit de ressources alloues en fonction de
l'utilisation. Ce concept offre lutilisateur limpression davoir en permanence des
ressources de calcul et/ou de stockage illimites. Ces ressources peuvent tre facilement et
rapidement alloues ou retires, afin de rpondre aux besoins de lutilisateur. Illustrons le
principe dlasticit, par la figure 2.1 ci-dessous :

Figure 2-1: Utilisation des ressources [SCALES UP, 2011]

d. Libre-service la demande :

Dans un environnement de type Cloud, lutilisateur peut allouer et librer des ressources
suivant ses propres besoins, de faon automatise, sans ncessiter dinteraction humaine avec
les fournisseurs.

Chapitre 2 : Cloud Computing


e. Service mesurable et facturable :

Les fournisseurs de services cloud computing sont capables de mesurer de faon prcise la
consommation des diffrentes ressources (CPU, Stockage, bande passante...). Cette mesure
leurs permet ensuite de facturer le client selon lusage.
Lutilisation des ressources est donc surveille, signale et gage de transparence aussi bien
pour le fournisseur que pour le consommateur du service utilis.
2. Historique :
Le concept du Cloud Computing est loin d'tre nouveau, il est mme prsent depuis des
dcennies. On en trouve les premires traces dans les annes 1960, quand John McCarty7
affirmait que "cette puissance de traitement informatique serait accessible au public dans le
futur ".
Le Cloud Computing a t mis en uvre par Amazon8 pour absorber la charge importante
des commandes faites sur leurs sites pendant les ftes de Nol. Rcemment, dautres acteurs
comme Google, IBM et Microsoft entrent sur le march du Cloud Computing.La figure cidessous illustre lvolution de linformatique depuis le Minitel jusquau Cloud Computing :

Figure 2-2: Evolution de l'informatique [DIRECCTE, 2012]

II. Les facteurs dadoption du Cloud Computing :


L'adoption de la philosophie Cloud Computing ne s'est pas faite sans facteurs. Plusieurs
catalyseurs ont grandement favoris son expansion. Citons la dmocratisation de
linformatique et de lInternet, le dveloppement des rseaux informatiques et des techniques
de programmation et la crise conomique.

John McCarthy :(n le 4 septembre 1927, Boston, Massachusetts) est le principal pionnier de l'intelligence artificielle et galement l'inventeur du langage
Lisp.
8
Amazon : Entreprise de commerce lectronique amricaine. Sa spcialit la plus connue est la vente de livres, mais elle est diversifie dans d'autres produits,
notamment dans la vente de tous types de produits culturels (CD, DVD, appareils photos numriques).

Chapitre 2 : Cloud Computing

1. Dmocratisation de linformatique :
De nos jours, tout le monde possde un ordinateur, et la plupart des travailleurs de
l'information sont devenus familiers avec l'utilisation de la souris, du clavier et des interfaces
homme-machine conventionnelles. Cette dmocratisation tend faciliter l'adoption de
processus d'ingnierie complexe et permet aux entreprises de faire reposer leur stratgie
interne non plus sur l'informatique elle-mme, mais sur la connaissance de l'informatique par
leurs employs.
2. Dmocratisation de lInternet :
Internet a considrablement influenc nos habitudes, tant au bureau qu' la maison. Cette
technologie a suivi des volutions majeures, qui en font aujourdhui une plate-forme
dchange grande chelle, permettant la communication entre un utilisateur et une
application, mais aussi la dissmination de logiciels au sein du rseau. Cette dernire dcennie
aura vu l'augmentation du nombre dabonns Internet. La figure 2.3 dmontre le
phnomne:

Figure 2-3: Evolution du nombre d'internautes dans le monde (1995-2010) [SEMEL, 2006]

3. Dveloppement des rseaux informatiques :


Le dveloppement des rseaux informatiques est lun des facteurs cls de ladoption du
Cloud Computing. Ce progrs consiste en :

Une augmentation de la bande passante, de ce fait, il devient possible d'accder des


applications distantes sans souffrir de problmes daccs Internet ;

Fiabilit du rseau tel point que les utilisateurs transitent leurs informations
personnelles et bancaires sur le rseau ;

Chapitre 2 : Cloud Computing

Apparition de la technologie de virtualisation qui permet une gestion optimise des


ressources matrielles cest--dire le fait de fonctionner un ou plusieurs systmes
dexploitation, sur un serveur au lieu den installer un seul par machine ;

Avnement des rseaux sans fils dont le dveloppement est en plein essor.

4. Dveloppement des techniques de programmation :


Au cours de ces dernires annes, de nouveaux langages et de nouvelles technologies sont
apparues. Ces techniques de programmation ont permis de changer radicalement le
comportement d'une application sans en modifier le code. C'est particulirement vrai pour les
applications web, grce des Frameworks9 tels que Symfony10 pour PHP, ou Groovy11 pour
Java.

III. Architectures du Cloud Computing :


1. Modle de services orients clients :
Le Cloud Computing comprend trois modles de services quil est important de les
diffrencier, savoir :

Software as a Service (SaaS): produit final pour les utilisateurs ;

Platform as a Service (PaaS) : destine aux dveloppeurs dapplications ;

Infrastructure as a Service (IaaS) : plutt gre par les architectes rseaux.

La Figure 2.4 reprsente les diffrents services du cloud computing :

Figure 2-4: Les 3 couches du Cloud Computing [PARISOT, 2011]

Framework : kit de composants logiciels structurels, qui sert crer les fondations ainsi que les grandes lignes de tout ou dune partie d'un logiciel.
Symfony : http://symfony.com/
11
groovy :http://groovy.codehaus.org/
9

10

Chapitre 2 : Cloud Computing


a. La couche SaaS (Software as a Service) :

Cest un modle qui consiste fournir des services ou des logiciels informatiques par le biais
d'Internet ou par le Web. De cette faon, l'utilisateur n'a plus besoin d'installer et maintenir les
applications sur sa machine, mais juste dun terminal pour y accder travers le Cloud
Computing. Contrairement au modle classique qui ncessite lachat de licence et linstallation
sur un serveur local, le modle SaaS propose l'application accessible distance comme un service.
b. La couche PaaS (Platform as a Service) :

Cette couche permet aux dveloppeurs d'applications d'avoir une plateforme de travail
souple, distribue et virtualise dans laquelle ils n'ont besoin d'aucune comptence dans les
domaines sous-jacents (rseau, matriel, systme dexploitation..).
Le modle PaaS abstrait les systmes dexploitation, les bases de donnes, la couche
Middleware ainsi que la couche de serveur web ncessaire au dploiement des applications.
En gnral, cette abstraction saccompagne de la fourniture dun certain nombre doutil de
dveloppement et de dploiement destins faciliter le travail des dveloppeurs sur la plateforme.
Les principales plateformes sont actuellement Windows Azure de Microsoft [Microsoft1],
App Engine de Google [Google] et Force.com de Salesforce [Salesforce].
c. La couche IaaS (Infrastructure as a Service) :

Cette couche forme le socle du Cloud Computing. Elle permet de fournir des ressources
physiques (serveurs, mmoire RAM, espace disque, bande passante) en tant que service.
Auparavant, l'entreprise cliente louait un serveur physique avec des caractristiques bien
dtermines, mais avec ce service elle peut louer un serveur dont les ressources peuvent
voluer en fonction de ses besoins de faon dynamique. De ce fait, Le cloud de type IaaS
simplifie le travail de certains dveloppeurs en leur permettant de sabstraire largement des
contraintes matrielles et de disposer dune capacit informatique virtuellement illimite.
Parmi les prestataires dIaaS, on peut citer : Amazon avec EC2 [Amazon] ou Orange Business
Services avec Flexible Computing [Orange].
La figure 2.5 illustre bien les caractristiques et les frontires de contrle suivant les modles
de services Cloud Computing :

Chapitre 2 : Cloud Computing

Figure 2-5: Les modles de services Cloud [TALYANA, 2012]

Dans le tableau 2.1, on prsente une tude des diffrents modles de services, et ceci, suivant
leurs avantages et inconvnients :
Avantages
- Libration des charges techniques
(installation, mise jour, scurit...)
- Rapidit de dploiement
SaaS
- Lapplication est accessible tout moment et
en tout lieu
- Possibilit de tester sans engager
- Optimisation des cots
- Dveloppement dapplications sur mesure
- Dploiement automatis
PaaS
- Possibilit doffrir lapplication dveloppe
en mode SaaS
- Abstraction de linfrastructure
- Gestion automatique de linfrastructure
IaaS
- Dploiement de tout type de logiciel
- Grande flexibilit dutilisation

Inconvnients
- Soucis de confidentialit
- Dpendance aux prestataires de services
- Applications non personnalisables
- Intgration difficile avec le systme dinformations
interne
- Limit par les fonctions offertes par lhbergeur
(exemple aux technologies Python ou Java pour
Google App Engine)
- Problme de scurit des donnes
- Pas de contrle de machines virtuelles sous-jacentes
-Besoin dadministrateurs systmes
-La cration des machines virtuelles est difficile

Tableau 2-1: Avantages et inconvnients des services nuagiques

2. Modles de dploiement :
Une des caractristiques des solutions cloud tant dtre installes dans des Datacenter. On
identifie communment trois modles de dploiement, associ trois types de cloud
computing:

Chapitre 2 : Cloud Computing


a. Cloud public :

Lappellation Cloud public est utilise lorsque les ressources sont fournies par un
prestataire tiers, et mutualises pour un usage par plusieurs clients. Il ny a donc aucun
investissement initial pour lutilisateur, et lon paie uniquement pour les ressources que lon
utilise. On peut citer comme exemple de cloud public :

Amazon Elastic Compute Cloud (EC2);

Sun Cloud [Oracle] ;

IBMs Blue Cloud [IBM] ;

Google App Engine [Google] ;

Windows Azure Services Platform [Microsoft1].

La figure 2.6 explique larchitecture matrielle du cloud public.

Figure 2-6: Les modles de services Cloud [TALYANA, 2012]

Il sagit dun ensemble de ressources gr par des entreprises spcialises qui proposent leur
service dautres, quelles soient utilisatrices du Cloud ou elles-mmes prestataires de service
sur ce Cloud.
b. Cloud priv :

Cest un modle de dploiement interne aux entreprises ou organisations qui en sont les
propritaires. On distingue 2 types de cloud priv :

Cloud priv externe : Il est ddi une seule entreprise mais dont la gestion est
externalise un prestataire. Cest le cas par exemple avec Amazon Virtual Private
Cloud (Amazon VPC) ;

Chapitre 2 : Cloud Computing

La figure 2.7 montre le schma de l'architecture matrielle du cloud priv externe :

Figure 2-7:SchmadelarchitecturematrielledunCloudexterne

Un prestataire fourni lentreprise un Cloud, quelle seule, utilisera mais la gestion choie au
fournisseur et non au client.

Cloud priv interne : Cest un type de Cloud travers lequel la Direction des systmes
dinformations est propritaire de son infrastructure qui lui permet daccder par le
biais d'un rseau scuris, interne et ferm (Figure 2.8) .

Figure 2-8:SchmadelarchitecturematrielledunCloudinterne

Il sagit dun Cloud gr et hberg en interne par lentreprise propritaire.


c. Cloud hybride :

Un cloud hybride est lutilisation de plusieurs Clouds, quils soient privs ou publics. Par
exemple, on pourra exporter nos applications dans un cloud public mais ces applications
utiliseront galement des donnes stockes sur un cloud priv. On se trouve donc dans le cas
dun cloud hybride. Lapproche hybride du Cloud Computing sera la solution pour les
entreprises qui auraient la possibilit de ne pas externaliser les donnes sensibles, do un
contrle total de leurs informations.

Chapitre 2 : Cloud Computing

IV. Avantages et inconvnients du Cloud Computing :


Le Cloud Computing est indniablement lune des principales avances technologiques de
ces dernires annes. Il reprsente une forme dvolution des systmes dinformation pouvant
apporter des avantages une entreprise ainsi quun ensemble de risques. Cette section, donne
un aperu sur les apports et les limites de ce nouveau concept.
1. Avantages :
Cette partie traitera les avantages du Cloud dont bnficient le client et le fournisseur.
a. Avantages du cot client :

Les avantages du cot client sont multiples, citons :

La rduction des cots : les services cloud payants sont gnralement moins chers que
les systmes physiques traditionnels. En effet, lutilisateur n'est plus contraint
dinvestir en matriel et logiciel, il accde son service sans avoir besoin de payer
pour la maintenance rgulire ou les mises niveau ;

La matrise de budget : concept de consommation lusage ;

La flexibilit : lespace de stockage et la puissance de calcul voluent de manire


dynamique. Le client ne rserve que ce dont il a besoin, et dsactive ce dont il a plus
besoin ;

La simplicit : le cloud computing transfre la complexit dune infrastructure interne


vers le centre de calcul dun fournisseur spcialis ;

La productivit : les services cloud permettent aux collaborateurs de travailler


distance grce une simple connexion Internet ;

La scurit : les fournisseurs Cloud scurisent leurs centres de calcul non seulement du
cot physique, mais utilisent sur leurs serveurs les dernires technologies de scurit et
effectuent en permanence des mises jour des donnes clients ;

La mobilit : lutilisateur peut accder ses applications tout moment et de


nimporte quel appareil connect Internet (PC, Tablette, Smartphone ).

b. Avantages du cot fournisseur :

Les avantages dont bnficient les fournisseurs de services cloud sont les suivants:

Adoption de nouveaux services : le fournisseur de services Cloud Computing a tout


intrt complter leurs offres logicielles par de nouveaux services tel que la facilit

Chapitre 2 : Cloud Computing

daccs, la disponibilit, la ractivit face aux montes et descentes en charge de


l'utilisateur ;

Acquisition de nouvelles comptences : le prestataire de services Cloud Computing


doit dvelopper de nouvelles comptences autres que des comptences purement
informatiques, notamment dans les domaines de la gestion des contrats, des audits des
garanties de SLA12 ;

Possibilits de virtualisation : qui soffrent la mutualisation et la virtualisation des


serveurs permettent de rduire les cots tout en gagnant en efficacit et en agilit.
Ainsi, une virtualisation bien planifie permet au fournisseur dobtenir un retour sur
investissement lev et durable ;

Nouveaux modes de tarification : en mutualisant leurs offres, les fournisseurs de


solution Cloud Computing peuvent proposer des prix plus comptitifs et une
tarification attractive pour de nouveaux clients.

2. Inconvnients :
Cette partie, traite les limites de linformatique en nuage du ct client et du ct fournisseur.
a. Inconvnients du cot client :

Les risques quapporte le cloud computing ses clients sont :

La dpendance au rseau Internet : Si lutilisateur na pas de connexion Internet, ou


une connexion insuffisante, il ne pourra pas accder sa plateforme de travail ;

La confidentialit et scurit des donnes : Les risques dattaque et de perte de


confidentialit sont augments, car selon le systme utilis, lentreprise ne pourra pas
travailler ou disposer de ses donnes en dehors du rseau Internet qui est vulnrable
aux attaques et au piratage ;

La perte du contrle des donnes : Lentreprise perd la matrise de son systme


informatique. Elle dpend de son prestataire, tant au niveau technique que de la qualit
de service ;

La localisation des donnes : Il est difficile de localiser lemplacement physique des


donnes stockes lintrieur dun nuage. Ce manque de visibilit peut entraner des
problmes de scurit et de conformit.

b. Inconvnients du cot fournisseur :

Les contraintes quapporte le Cloud Computing ses fournisseurs sont les suivantes:
12

SLA (Service Level Agreement) : contrat dfinissant les engagements de l'hbergeur quant la qualit de sa prestation,

Chapitre 2 : Cloud Computing

Adoption dune mthodologie diffrente : le cloud computing est une technologie


compltement diffrente qui demande de nouvelles connaissances et une vision
renouvele du march ;

Cot dinfrastructure lev : pour tre capable dhberger des services de plus en plus
diversifies, le fournisseur des services cloud computing doit investir dans des Data
Center. Cependant, chaque centre de donnes reprsente un investissement compris
entre 500 millions et un milliard de dollars [Naugs, 2010] ;

Dfaillance du systme : cette catgorie de risques concerne l'chec imprvisible des


mcanismes de stockage, de mmoire, de routage.

V. La scurit dans le Cloud Computing :


La notion de scurit des donnes est devenue lun des principaux sujets de discussion
propos du cloud computing car les exemples de dconvenues sont aujourdhui nombreux.
Parmi les accidents de linformatique dans les nuages, on peut citer :

Les cyber-attaques : ces attaques exploitent les failles logicielles et peuvent causer
des fuites de donnes, affectant des millions d'utilisateurs.

Les catastrophes naturelles : Ces vnements amnent les fournisseurs de services


Cloud une perte des donnes.

Les recommandations prendre en compte pour rduire les risques sont les suivantes :

Identifier les donnes et les traitements qui passeront dans le Cloud ;

Dfinir les exigences de scurit technique et juridique ;

Analyser les risques afin de dfinir les mesures de scurit mettre en place ;

Identifier le type de Cloud pertinent pour le traitement envisag ;

Choisir un prestataire prsentant des garanties suffisantes ;

Dfinir la politique de scurit interne ;

Surveiller les volutions dans le temps.

Avant dtre en mesure de confier une application informatique au nuage, il conviendra de


procder une solide analyse des risques et de contrler les vulnrabilits identifies, dans le
cadre de mesures organisationnelles, techniques et naturellement juridiques.

VI. Cloud Computing, Services Web et Grille de calcul :


Lobjectif de cette section est de dcrire la relation qui existe entre ses diffrentes
technologies ainsi que les similitudes et les diffrences entre eux.

Chapitre 2 : Cloud Computing

1. Les services web :


Laccs aux systmes dinformation sappuie aujourdhui sur les technologies Internet. Les
efforts de standardisation dans ce contexte ont accentu lengouement des personnes et des
organisations pour lutilisation de lInternet et ont permis lmergence des services Web
comme support de dveloppement des applications accessibles par Internet.
a. Dfinition :

Plusieurs dfinitions des services Web ont t labores par diffrents auteurs. On cite cidessous une dfinition gnralement accepte et fournie par le consortium W3C [W3C-WSAGroup, 2004].

Un service web est un systme logiciel identifi par une URI, dont les interfaces publiques et les
associations sont dfinies et dcrites en XML13. Sa dfinition peut tre dcouverte par dautres
systmes logiciels. Ces systmes peuvent alors interagir avec le Service Web selon les modalits
indiques dans sa dfinition, en utilisant des messages XML transmis par des protocoles Internet
b. Technologies des Services Web :

Les standards XML utiliss par la technologie de services web sont :

La couche transport SOAP :

Simple Object Access Protocol (SOAP), comme protocole de communication. Les


interactions entre les services Web seffectuent par le biais denvois de messages structurs au
format XML. Le protocole SOAP qui est un standard de W3C fournit le cadre permettant ces
changes. En effet, il autorise un objet invoquer des mthodes d'objets physiquement situs
sur un autre serveur. Le transfert se fait le plus souvent l'aide du protocole HTTP14, mais
peut galement se faire par un autre protocole, tel que le SMTP (Simple Mail Transport
Protocol).
Un message SOAP est un document XML constitu dune enveloppe contenant deux parties :
SOAP Header : c'est un lment optionnel qui contient les donnes d'en-ttes comme
les informations dauthentification et le contexte de transaction ;
SOAP Body : c'est le corps du message qui contient les appels de mthodes ainsi que
les informations sur les rponses. Il doit tre prsent de manire unique dans chaque
message ;

Chapitre 2 : Cloud Computing

La figure 2.9 montre la structure dun message SOAP :

Figure 2-9:Structure d'un message SOAP [IBM, 2010]

La couche description WSDL :

WSDL (Web Service Description Language) est un langage de description de services Web
bas sur XML. Il permet de fournir une description structurelle et fonctionnelle des services
indpendamment de la plateforme et du langage utilis [IBM, 2012].
Un document WSDL est compos de deux parties :

La partie abstraite : dcrit les messages et les oprations. Elle est compose des
lments :

< types> : dfinit les types de donnes utilises par le service Web
< message> : dcrit les messages utiliss par le service Web
< portType > : contient les oprations ralises par le service Web

La partie concrte : dcrit le protocole et le type d'encodage utiliser. Elle est


compose des lments :

< binding > : dfinit les protocoles de communication utiliss par le service Web
< services > : regroupe l'ensemble de ports

La couche dcouverte UDDI :

Lannuaire UDDI (Universal Description Discovery and Integration) est un standard pour
la publication et la dcouverte des informations sur les services Web [SoftDeath, 2013].
La spcification UDDI vise crer une plate-forme indpendante, un espace de travail ouvert
pour la description, la dcouverte et l'intgration des services des entreprises.
Ce modle se compose de cinq types de structures de donnes :

Lentit fournisseur (Business Entity) : comprend des informations concernant


l'entreprise qui expose le service ;

Le service (Business Service) : reprsente lensemble des services exposs par


l'entreprise.

Chapitre 2 : Cloud Computing

Les accs au service (Binding Template) : fournissent des informations sur le lieu
d'hbergement du service ;

Le type de service (tModel) : permet de donner le mode daccs au service ;

Le publisher Assertion : dcrit lensemble des informations contractuelles pour


accder au service.

Larchitecture type dun annuaire UDDI est illustre dans la Figure 2.10 ci-dessous :

Figure 2-10:Schma gnrale de l'annuaire UDDI [SOFTDEATH, 2013]

En effet, les fournisseurs de services publient les descriptions de leurs services Web en UDDI,
sous la forme de fichiers WSDL. Ainsi, les clients peuvent plus facilement rechercher les services
Web dont ils ont besoin en interrogeant le registre UDDI. Lorsqu'un client trouve une description
de service Web qui lui convient, il tlcharge son fichier WSDL depuis le registre UDDI. Ensuite,
partir des informations inscrites dans le fichier WSDL, notamment la rfrence vers le service
Web, le client peut invoquer le service et lui demander d'excuter certaines de ses fonctionnalits.

2. Grille de calcul :
Deux nouveaux concepts de calcul sont en train de modifier le monde informatique,
comme la fait Internet partir des annes 80 : ce sont les concepts de grilles de calcul ou
Grid Computing et de linformatique en nuage. Ces modles sont apparus pour rpondre une
demande croissante des scientifiques et des industriels en puissance de calcul, en ressources
de stockage et en applicatifs.
a. Dfinition :

La grille de calcul est une infrastructure virtuelle constitue dun ensemble de ressources
informatiques potentiellement partages, distribues, htrognes, dlocalises et autonomes.

Chapitre 2 : Cloud Computing

Son rle consiste partager ces ressources entre des participants, des organisations et des
entreprises afin de pouvoir excuter des applications de calcul intensif ou des traitements de
trs gros volume de donnes.
Cette infrastructure est qualifie de virtuelle car les relations entre les entits qui la
composent n'existent pas sur le plan matriel mais d'un point de vue logique.
b. Avantages :

Les avantages de Grid Computing portent principalement sur [Soueid] :

Le partage de ressources informatiques (matrielles et logicielles) ;

Laccs transparent aux ressources;

Le calcul et le stockage la demande ;

Laugmentation de la puissance de calcul moindre cot ;

Fiabilit et disponibilit des services;

Lexploitation de la puissance de calcul inutilise;

Lallgement des charges des calculateurs;

Loptimisation de la productivit et du travail collaboratif.

c. Inconvnients :

Il existe plusieurs limites ce que larchitecture des grilles peut accomplir dans un
environnement dentreprise. On peut citer :

La faiblesse du niveau de scurit ;

La lenteur des temps daccs aux ressources ;

Labsence dadministration centralise ;

La difficult de cration des applications qui marchent sur toutes les plateformes ;

Le manque dadaptation des applications traditionnelles avec la grille de calcul.

d. Domaines dapplications :

La technologie de grille de calcul est utilise dans des projets ncessitant de telles puissances
de calculs. Parmi les secteurs concerns par cette technologie on cite :

Le secteur financier ;

Le secteur de la biotechnologie ;

Le secteur industriel ;

Le secteur de lastronomie.

Chapitre 2 : Cloud Computing

3. Comparaison entre : Grille de calcul, Services Web et Cloud Computing :


Le tableau 2.2 reprsente une tude comparative des technologies :
Similitudes

Les deux systmes partagent le


mme
objectif
qui
est
lallocation de ressources
Cloud computing informatiques (stockage et
et Grille de calcul puissance de calcul) en
fonction des demandes des
utilisateurs.

Le cloud computing et les


services
web
sont
pour
la
Cloud computing incontournables
rduction du temps et des
et Services Web
cots associs au dploiement
et la maintenance des
applications.
lutilisation de services Web
est le point critique pour la
Grille de calcul et russite de la mise en place
dune infrastructure de grille,
Services Web
et notamment pour faire face
aux problmes dhtrognit
du matriel et des logiciels.

Diffrences
-Le cloud computing est considr comme une
volution de grille de calcul
- Linformatique en nuage noffre pas seulement des
ressources la demande, mais fournit galement de
nouveaux services et fonctionnalits selon les besoins
de chaque client.
- Le cloud computing procure la notion de
virtualisation et dlasticit des ressources alors que
la grille de calcul fournit les ressources de faon
quitable entre les organisations.
- Le cloud offre un accs immdiat ses applications
et ses donnes, par contre, dans le cas de grille de
calcul le temps daccs aux ressources est trs lent.
Les deux technologies se diffrent dans la faon
dutilisation des ressources :
le Cloud Computing focalise sur loptimisation des
ressources, alors que les services Web se limitent
donner accs des capacits, sans se proccuper de
quelle faon les ressources seront utilises.
le Cloud computing tente de renforcer le concept de
grille de calcul et d'viter le point de dfaillance
unique lorsqu'une unit choue. Le cloud computing
est conu pour agir comme un tout et ses units
composes sont automatiquement interchangeables.

Tableau 2-2:Tableau comparatif des technologies de grille de calcul, de Services Web et du Cloud
Computing

VII. Cloud Computing Mobile :


Dans cette section, on prsente dabord le concept du cloud computing mobile. On passe
ensuite dcrire son architecture, ses avantages et dfis. Enfin, on expose ses diffrents
domaines dapplication.
1. Concept et principe :
Le cloud computing mobile est l'une des tendances de la technologie mobile dans lavenir.
De nombreuses dfinitions existent pour ce nouveau concept. Il sagit donc dun nouveau
modle permettant laccs des applications en mode SaaS depuis des terminaux mobiles
tels que les Smartphones, les tablettes Ces application sont construites, ralises et
hberges via la technologie du cloud computing. Le cloud computing mobile se diffrencie
de l'informatique mobile car les dispositifs mobiles excutent des applications web,

Chapitre 2 : Cloud Computing

bases sur le cloud plutt que des applications natives15. [Claybrook, 2011]
2. Architecture :
Larchitecture gnrale du cloud computing mobile est reprsente dans la figure 2.11

Figure 2-11: Architecture du Cloud Computing Mobile [KKKM, 2012]

Comme lindique la figure prcdente, lopration se droule comme suit : Les clients
mobiles interagissent avec le fournisseur de services cloud en utilisant des applications web
accessibles via un navigateur. Ils se connectent donc au rseau mobile via les stations de base
(Satellite, point daccs, Base Transceiver Station16) et communiquent avec le nuage
informatique travers Internet.

VIII. Plateformes du Cloud Computing :


De nos jours, on parle de plus en plus du Cloud Computing, tant pour les solutions de type
PaaS, IaaS ou SaaS. Au cours de cette phase, on tudiera en dtails les diffrentes plateformes
proposes par les grands acteurs de linformatique en nuages. Ainsi, on prsente une tude
comparative des principales plateformes et offres SaaS.
1. Etude des principales plateformes Cloud :
Les principales plateformes des grands acteurs du Cloud Computing sont : Google App
Engine de Google, Windows Azure de Microsoft, Amazon Web Services dAmazon,
Force.com de Salesforce, OpenNebula, Eucalyptus et OpenStack. Dans cette partie, on
dtaille le fonctionnement de chacune delles.

15

Une application native dsigne un logiciel tlcharger depuis un store (exemple : Google Play) et installer sur un appareil mobile.

16

Base Transceiver Station (BTS) : cest un lment de base du systme cellulaire de tlphonie mobile GSM, appel plus communment antenne-relais GSM.

Chapitre 2 : Cloud Computing


a. Plateforme Google App Engine (GAE) :

Google a t un des pionniers dans le domaine du PaaS avec son fameux Google App
Engine sorti en Avril 2008. Cette plate-forme de dveloppement et d'hbergement
d'applications dans le Cloud, permet de gnrer des applications sans avoir grer
l'infrastructure correspondante [Google2]. Les avantages de la plateforme App Engine sont
nombreux. Citons quelques-uns [Google3] :

Le dmarrage simple et rapide ;

Lvolutivit automatique ;

La fiabilit et la scurit ;

Lhbergement conomique ;

La priode dessai sans risques.

Google App Engine prend en charge deux environnements dapplication, Java et Python:

lenvironnement

d'excution

Java:

est

compatible

avec

de

nombreux

environnements logiciels Java tels que NetBeans, Eclipse Ainsi, les applications
App Engine peuvent tre crites en Java ou dans tout langage compatible JVM17 (par
exemple JRuby18, Groovy, Scala19, etc.).

Lenvironnement d'excution Python: inclut un interprteur et une bibliothque


Python standard. Il ne prend en charge que la version Python 2.5.

Google App Engine permet de grer l'ensemble des applications dployes grce une
console dadministration. Parmi les fonctions disponibles dans cette console on notera :

Le tableau de bord (Dashboard): Il permet aux dveloppeurs d'valuer et de


surveiller en toute simplicit le systme App Engine : il mesure les performances de
tous les principaux composants dApp Engine, savoir du magasin de donnes, de
l'infrastructure de service, du cache mmoire, de l'authentification utilisateur, de la
manipulation des images et de l'infrastructure de messagerie. Les informations
fournies sont instantanes et indiquent, pour les dernires 24 heures, la quantit de
ressources consommes la seconde.

17

JVM : Machine virtuelle Java qui permet dexcuter des programmes compils sous forme de bytecode Java. Elle assure l'indpendance du matriel et du

systme d'exploitation lors de l'excution des applications Java.


18

JRuby : http://jruby.org/

19

Scala : http://www.scala-lang.org/

Chapitre 2 : Cloud Computing

La figure 2.12 montre le tableau de bord de la plateforme App Engine.

Figure 2-12: Tableau de bord de Google App Engine

La console dadministration de la plateforme App Engine est constitue de plusieurs lments,


notamment :

Logs: cette rubrique permet laffichage des erreurs de lapplication ;

Datastore Viewer: il permet de voir le contenu de la base de donnes ;

Application Settings: cette fonctionnalit assure le paramtrage de lapplication ;

Permissions: elle permet de grer les permissions sur lapplication ;

Version: Ce menu assure la gestion des diffrentes versions de lapplication ;

Cron jobs: le Cron jobs permet de configurer des tches planifies qui s'excutent
des heures dfinies ou des intervalles rguliers. On peut utiliser le service Cron jobs,
par exemple, pour lenvoi des e-mails de rapport quotidien, pour mettre certaines
informations jour Pour notre cas, le Cron jobs dclenche la mthode danalyse des
flux des camras IP permettant le comptage de personnes ainsi que lenvoi des
statistiques de comptage la base de donnes.

b. Fonctionnement de la plateforme App Engine :

Comme lindique la figure 2.13, les utilisateurs interagissent avec une application Web
(Python ou Java) via un site web ou un service web. Lapplication communique avec la base
de donnes Google BigTable en utilisant le langage GQL. Des traitements en arrire-plan
peuvent galement se drouler.

Chapitre 2 : Cloud Computing

Figure 2-13: Fonctionnement de Google App Engine [MOCHE-SAMSON, 2009]

c. Plateforme Windows Azure de Microsoft :

Microsoft a fait le pari du succs de l'informatique en nuage en publiant la plateforme PaaS


Windows Azure. Cette plateforme permet aux dveloppeurs dhberger et intgrer des
applications dans les centres de donnes globales de Microsoft.
Windows Azure offre un portail dadministration permettant de superviser et dadministrer les
diffrents services de la plateforme. Comme lindique la figure 2.14, ce portail comporte les
sections suivantes :

Figure 2-14: Portail de gestion de la plateforme Windows Azure [ROUSSET, 2010]

Chapitre 2 : Cloud Computing

La plateforme Azure propose aussi un ensemble de services destins tre utiliss


individuellement ou de manire combine par les dveloppeurs dapplications. Ces services
sont :

Windows Azure ;

SQL Azure ;

.NET services ;

Live Services ;

Windows Azure AppFabric.

d. Plateforme Amazon Web Services (AWS):

Amazon a lanc depuis 2002 un ensemble doutils et de services permettant de crer et


dhberger des applications Web. Parmi ces services on peut noter 2 services principaux :
e. Amazon EC2 (Elastic Computing Cloud):

Cest un service web qui fournit une capacit de calcul redimensionnable dans le nuage.
L'interface du service Web Amazon EC2 (figure 2.15) permet d'obtenir et de configurer des
capacits avec un minimum d'efforts. Elle fournit galement un contrle complet de
ressources informatiques et permet d'excuter lapplication sur l'environnement informatique
d'Amazon.

Figure 2-15: Portail d'administration AMAZON EC2 [DOUGLAS, 2009]

Chapitre 2 : Cloud Computing


f. Amazon S3 (Simple Storage) :

Cest un service web de stockage en ligne, conu pour faciliter l'accs aux ressources
informatiques. Comme indique la figure 2.16, Amazon offre une simple interface de services
Web qui permet de stocker et d'extraire des donnes de n'importe quelle taille. Ces donnes
sont stockes dans des conteneurs appels buckets20 et sont accessibles au travers d'un
ensemble de services Web (cration, suppression, visualisation, sauvegarde, restauration).

Figure 2-16: Interface d'administration pour AMAZON S3 [SOFT32]

g. Plateforme Force.com de Salesforce :

Force.com est une plateforme de dveloppement dapplications web, lance en Septembre


2005. Elle supporte les diffrentes tapes de l'laboration d'une application, soit le
dveloppement, les tests, le dploiement, ainsi que la maintenance [Salesforce2]. Les
applications construites sur cette plateforme peuvent tre facilement partages, changes et
installes en quelques clics via le march en ligne de Salesforce.
Force.com propose galement un ensemble de fonctionnalits pour crer tout type
dapplications professionnelles :

Un systme dexploitation la demande ;

La possibilit de crer nimporte quelle base de donnes la demande ;

Un moteur de workflow21 pour grer les changes entre utilisateurs ;

Le langage de programmation Apex Code pour crer des systmes complexes ;

20

Bucket : cest un espace de stockage sur Amazon S3.

21

Workflow : cest est la reprsentation d'une suite de tches ou oprations effectues par une personne.

Chapitre 2 : Cloud Computing

Les services Web API de pour la programmation ;

Un environnement pour crer des interfaces graphiques sur mesure.

h. Plateforme OpenNebula :

OpenNebula est une plateforme open-source, permettant de construire n'importe quel type
de nuage (priv, public et hybride). Elle a t cre en tant que projet de recherche en 2005 et
son premier lancement public a eu lieu en mars 2008.
Cette solution gre le stockage, le rseau et les technologies de virtualisation afin de
permettre la mise en place dynamique de services multi-niveaux (des groupes de machines
virtuelles interconnectes) sur les infrastructures distribues.
Parmi les avantages dOpenNebula on peut citer :

la construction et la gestion de centres de donnes virtualiss et des nuages IaaS ;

Le haut niveau de personnalisation du cloud ;

La possibilit davoir des informations sur la localisation des machines physiques et


virtuelles.

En contrepartie, les contraintes que prsente cette plateforme sont les suivantes :

Utilisation par dfaut du protocole NFS22 qui nest pas scuris ;

Ncessit dune grande matrise de la part de ladministrateur.

Linterface dadministration de cette plateforme est reprsente dans la figure 2.17. Elle
permet aux dveloppeurs et aux utilisateurs la gestion des ressources physiques et virtuelles.

Figure 2-17: Portail d'administration de la plateforme IAAS OPENNEBULA [OPENNEBULA]

22

NFS (Network File System) : cest un protocole qui permet un ordinateur daccder des fichiers via un rseau.

Chapitre 2 : Cloud Computing

La plateforme OpenNebula est largement utilise dans de nombreux secteurs, tels que les
industries dhbergement de sites Internet, de tlcommunications ou de le-Government.
i. Plateforme Eucalyptus :

Cest une plateforme IaaS permettant de crer des solutions de type cloud priv ou hybride
[Eucalyptus]. Elle offre lutilisateur la possibilit de :

Crer, lancer, et arrter des instances de serveurs (ou machines virtuelles) en fonction
de ses besoins ;

Mettre en place des machines virtuelles isoles physiquement (qui ne s'excutent pas
sur le mme serveur physique). Comme cela en cas de panne, il sera possible de
restaurer les instances endommages et d'assurer une continuit de service ;

Grer le stockage des donnes traites par les machines virtuelles du cloud ;

Configurer de multiples grappes de serveurs comme un seul nuage ;

Sinterfacer avec le cloud dAmazon EC2.

Comme lindique la figure 2.18, la plateforme Eucalyptus fournit une interface Web
permettant aux utilisateurs deffectuer des oprations en libre-service.

Figure 2-18: Tableau de bord de la plateforme EUCALYPTUS [EUCALYPTUS]

j. Plateforme OpenStack :

Cest une plateforme open-source qui permet la construction de cloud priv et public
[Rackspace]. Elle a t lance en Mars 2010 et se caractrise par :

La scalabilit ;

La compatibilit ;

Lvolutivit.

Chapitre 2 : Cloud Computing

La plateforme est compose de trois modules :

OpenStack Compute ;

OpenStack Object Storage ;

OpenStack Image Service.

Cette plateforme offre aussi un portail dadministration dont les utilisateurs et les
administrateurs se servent pour contrler les ressources alloues. La figure 2.19 montre le
tableau de bord dOpenStack.

Figure 2-19 : Tableau de bord dOPENSTACK [OPENSTACK]

IX. Etude comparative des diffrentes plateformes :


Dans cette partie, on ralise une tude comparative entre les diffrentes plateformes cloud
tudies dans la phase prcdente. La premire partie se focalise sur les plateformes PaaS. La
deuxime partie traite les diffrentes plateformes IaaS. La troisime partie est consacre la
comparaison des offres SaaS.
1. Comparatif des principales offres de Plateforme as a Service (PaaS) :
Le tableau 2.3 illustre les diffrences entre les principales plateformes PaaS et ceci en se
basant sur les critres suivants : Fournisseur, outils de dveloppement, langages supports,
systme de stockage de donnes, date de lancement et interaction avec les autres plateformes
ou services.

Chapitre 2 : Cloud Computing

Fournisseur
Outils de
dveloppement

Langage
supports

Systme de
stockage de
donnes

Exemples
dapplication
dveloppe sur la
plateforme
Date de
lancement
Interaction avec
les autres
plateformes ou
services

Plateforme Azure
Microsoft
-Microsoft Visual
Studio
- SDK Azure Services

- .Net (C#, C++,


VB.Net, Delphi )
- PHP
- Java
- Python, Ruby
- Perl (A venir)
- Stockage de fichiers,
tables simples,
fichiers sur lAzure
Storage
- Stockage de donnes
structures sur SQL
services
- Hotmail
- Xbox Live
- Bing
- Live Mesh
- Version bta en
Octobre 2008
-Version commerciale
fin 2009
- Interoprabilit entre
Azure et Google App
Engine

Google AppEngine
Google
- Eclipse
- Google Plugin for
Eclipse
- Django
- Apache Ant
- Java
- Python
- PHP (Via Java)
- Dautres langages vont
tre supports lavenir
- Stockage des fichiers
avec Google File System
- Base de donnes
appele Google Big
Table

- Google Wave
- Best Buy
- 3Scale
- Caucho Technology
- Avril 2008 pour la
version Python
- Avril 2009 pour la
version Java
-Migration possible des
applications Zoho sur
Google App Engine.
- Intgration avec
Salesforce

Amazon Web Services


(AWS)
Amazon
- Eclipse
- AWS Toolkit for Eclipse

- J2EE
- .Net
- PHP
- Python
- Ruby
Base de donnes :
- SQL Server
- MySQL
- Oracle
Fichiers :
Sur le disque dur ou sur le
service
- New York Times
- Autodesk
- Rackspace
- Harvard Medical School
-Version bta en Aot 2006
- Version commerciale sortie
en Octobre 2008
- bauche dInteroprabilit
entre Azure , OpenStack et
Amazon

Tableau 2-3 : Etude comparative des principales plateformes PaaS

Chacune de ses plateformes prsentent des avantages ainsi que des inconvnients. Windows
Azure supporte plusieurs langages de programmation et offre une base de donnes
relationnelle. Cependant, il est limit deux instances de serveurs sur la version bta.
2. Comparatif des principales offres dinfrastructure as a Service (IaaS) :
Ltude des plateformes IaaS a permis dlaborer un comparatif des trois solutions
(GoGrid, OpenStack et AWS), prsent dans le tableau 2.4. La comparaison est base sur les
critres suivants :

Chapitre 2 : Cloud Computing

Fournisseur ;

Serveur type ;

Systmes dexploitation supports ;

logiciels inclus ;

tarification ;

date de lancement.

Fournisseur
Serveur type

Systmes
dexploitation
supports

Logiciels inclus

Tarification

Date de lancement

ServePath
- 1 Go de RAM
- Processeur mono-vis-vis 3 GHz

Rackspace et NASA
- Serveur avec 2 Go de
RAM
- 80 Go despace
disque

- Windows Server 2003 et


2008
- RedHat Linux
- CentOS

- CentOS Gentoo
- Debian
- Fedora
- Ubuntu
- RedHat

- IIS7
- SQL Server
- PHP
- Apache
- MySQL

- PHP
- Apache
- MySQL

Service de stockage de
donnes : 0.15$ par Go
stocks et par mois

Service de
sauvegarde : 0.15$ par
Go sauvegards et par
mois

Mars 2008

Fvrier 2008

Amazon
- 1.7 Go de RAM 160 Go
despace disque
- Processeur Xeon 1.2 GHz
(1coeur)
- Windows Server 2003
- RedHat Linux
- Fedora
- Gentoo
- Debian
- Ubuntu
- Suse
- SQL Server ou MySQL
- IIS 6 ou Apache IBM
DB2
- IBM IDS
- Oracle
Tarification pour les
instances EC2 :
* 0,12 $ par heure pour
lusage Windows
* 0.095 $ par heure
Pour lusage Linux / Unix
- Version bta sortie en
Aot 2006
-Version commerciale
sortie en Octobre 2008

Tableau 2-4 : Etude comparative des plateformes IaaS

3. Comparatif des principales offres de Software as a Service (SaaS) :


Dans le tableau 2.5, on prsente une tude comparative des principales offres SaaS :
Google Apps, Microsoft Office et SalesCloud. La comparaison est base sur les critres
suivants : Fournisseur, type de paiement, tarif et caractristiques principales.

Chapitre 2 : Cloud Computing

Fournisseur
Type de
paiement

Google
Abonnement annuel par utilisateur

Microsoft
Abonnement mensuel par
utilisateur

- 40 pour la version complte


- Version standard

Tarif

Caractristi
ques
principales

Accs des applications multiples


- Gmail (messagerie)
- Google Documents (partage de
documents)
- Google Agenda
- Google Cloud Connect (interface
avec les produits Microsoft Office)
- Rduction des cots informatiques
- Favorise le travail collaboratif

De 5,25 22
- Plate-forme applicative : Microsoft Exchange
(Messagerie)
- Microsoft SharePoint
(Partage de documents)
- Microsoft Office (Logiciels
bureautiques)
- Offres modulables et
calcules selon les besoins
prcis de lentreprise
- Matrise des cots

Salesforce.com
Abonnement mensuel
par utilisateur
De 4 270

- Mise disposition
des outils de gestion
de la relation Client
(CRM)
- Automatisation des
forces de vente et
gestion de contacts.

Tableau 2-5 : Etude comparative des offres SaaS

Daprs ce tableau comparatif, on dduit que les solutions de type SaaS prsentent des
similitudes et des diffrences. Les points communs sont multiples, citons :

La simplicit dutilisation de lapplication ;

Laccs direct lapplication depuis nimporte o dans le monde ;

Les fonctionnalits limites de lapplication (par exemple SalesCloud offre


uniquement des outils de gestion de la relation Client, de mme, Microsoft Office 365
fournit que les logiciels bureautiques).

Les diffrences sont au niveau :

Des tarifs proposs ;

Du type de paiement (Abonnement mensuel, annuel ) ;

Des versions offertes pour chaque solution SaaS (exemple Google offre une version
standard gratuite et une version payante pour son produit, par contre, Salesforce offre
uniquement une version payante de son offre Sales Cloud).

Conclusion :
On a prsent dans ce chapitre une description dtaille du cloud computing ainsi que ses
diffrentes plateformes. Ainsi, on a expos une tude comparative des principales solutions de march
(offres PaaS, IaaS et SaaS). Le choix sest fix sur la plateforme Google App Engine pour plusieurs
raisons quon dtaillera dans la partie ralisation. Dans le prochain chapitre on prsentera une tude
conceptuelle dun outil daide la dcision danalyse de flux des camras IP.

Chapitre iii :
Etude Conceptuelle

Chapitre 3 : Etude Conceptuelle

Chapitre 3

Etude Conceptuelle

Introduction :
Au cours de ce chapitre nous tablirons une tude prliminaire du systme. On entamera
ensuite lanalyse

des besoins , cette phase est identifie par la description des besoins

fonctionnels qui prsentent les diffrentes fonctions du systme, les besoins non fonctionnels
qui prsentent les contraintes que le systme doit vrifier, et les besoins techniques qui
permettent dassurer la correspondance entre les cas dutilisation et les contraintes techniques
existantes. Aprs avoir dfini les objectifs de notre application et aprs avoir dtaill par des
diagrammes de cas dutilisation les diffrentes fonctionnalits dsires, nous passerons la
conception de la solution.

I. Etude Prliminaire :
Ltude prliminaire est la premire tape de notre processus de dveloppement. Elle
survient la suite dune dcision de dmarrage du projet, et consiste effectuer un premier
reprage des besoins fonctionnels et oprationnels.
1. Mthodologie de dveloppement :
a. UML (Unified Modeling Language) :

Avant de se lancer dans la programmation et lcriture du code, il est ncessaire


dorganiser les ides, les documenter, puis organiser la ralisation en dfinissant les modules
et les tapes. Cette dmarche sappelle la modlisation, elle a t standardise en produisant
un langage de modlisation unifi appel UML.
Pour modliser les fonctionnalits que doit offrir notre systme, on a choisi ce langage de
modlisation graphique et textuel, il est destin comprendre et dcrire des besoins, spcifier
et documenter des systmes, concevoir des solutions et communiquer des points de vue
[ROQUES, 2002].
Le choix dUML est justifi par les raisons suivantes :

Cest un langage formel et normalis, qui encourage lutilisation doutils et assure le


gain de prcision et le gage de stabilit ;

Cest un support de communication performant qui facilite la comprhension de


reprsentations abstraites complexes.

Chapitre 3 : Etude Conceptuelle


b. Processus de dveloppement 2 TUP :

La famille des Unified Process constitue une trame commune pour intgrer les
meilleures pratiques de dveloppement. Un processus UP est itratif et incrmental, centr sur
larchitecture, conduit par les exigences des utilisateurs, pilot par les risques et orient
composants.
Le processus de dveloppement logiciel 2TUP 2 Track Unified Process [ROQUES,
2003] se situe dans cette ligne, en insistant sur la non-corrlation initiale des aspects
fonctionnels et techniques. Les deux branches dtude fusionnent ensuite pour la conception
du systme, ce qui donne la forme dun processus de dveloppement en Y. Comme lindique
la figure 3.1, le processus 2TUP sarticule autour de 3 phases essentielles :

Figure 3-1 : Le processus de dveloppement en Y [ROQUES, 2003]

La branche gauche (fonctionnelle) comporte :

La capture des besoins fonctionnels, qui produit un modle des besoins focalis sur le
mtier des utilisateurs. Elle qualifie au plus tt le risque de produire un systme
inadapt aux utilisateurs ;

Lanalyse, qui consiste tudier prcisment la spcification fonctionnelle de manire


obtenir une ide de ce que va raliser le systme en termes de mtier.

La branche droite (technique) comporte :

La capture des besoins techniques, qui recense toutes les contraintes et les choix
dimensionnant la conception du systme ;

La conception gnrique, qui dfinit les composants ncessaires la construction de


larchitecture technique.

Chapitre 3 : Etude Conceptuelle

Larchitecture technique construit le squelette du systme informatique et carte la plupart des


risques de niveau technique.

La branche du milieu comporte :

La conception prliminaire, qui reprsente une tape dlicate, car elle intgre le modle
danalyse fonctionnelle dans larchitecture technique de manire tracer la cartographie des
composants du systme dvelopper ;

La conception dtaille, qui tudie ensuite comment raliser chaque composant ;

Ltape de codage, qui produit ces composants et teste au fur et mesure les units de
codes raliss ;

Ltape de recette, qui consiste enfin valider les fonctions du systme dvelopp.

On a choisi la mthode de dveloppement 2TUP car elle sappuie sur UML tout au long du
cycle de dveloppement, et elle apporte une rponse aux contraintes de changement continue
imposes aux systmes dinformation de lentreprise :

Changement de technologies : une entreprise qui maintiendrait son modle fonctionnel


peut le raliser sous diffrentes technologies : il suffit de greffer une nouvelle
architecture technique pour mettre jour un systme existant.

Ajout de fonctionnalits : on peut rutiliser une architecture technique.

2. Recueil des besoins fonctionnels :


On dsigne par les besoins fonctionnels les diffrentes fonctionnalits qui seront assures
par le systme et qui seront offertes lutilisateur final.
Le futur systme doit offrir aux utilisateurs les fonctions suivantes :

Obtenir des statistiques prcises sur le nombre de passagers ;

Consulter les statistiques de nimporte o et tout moment ;

Grer lensemble des camras installes diffrents endroits ;

Afficher la vido de la camra en temps rel ;

Exploiter localement les donnes quotidiennes de comptage afin dtablir des analyses
marketing.

3. Recueil des besoins non fonctionnels :


Aprs avoir dtaill les besoins fonctionnels de lapplication, il est intressant de se baser
sur certains critres afin de rpondre aux besoins non fonctionnels. Ces besoins peuvent tre
dcrits comme suit :
Lergonomie23 : Les interfaces Homme/Machine constituent un lment important dans la
russite dune application. Cette contribution est dautant plus importante lorsquil sagit
23

Ergonomie : http://developer.android.com/design/index.html.

Chapitre 3 : Etude Conceptuelle

dune application mobile. En effet, les interfaces doivent tre simples afin de permettre aux
utilisateurs de se concentrer sur les principales fonctionnalits. Ainsi, le nombre de boutons
doit tre minimum afin de permettre une navigation plus simple.
Les aspects ergonomiques que doit offrir notre applications sont nombreuses, citons :

Les ActionBar : ce composant remplace les menus disponibles dans les anciennes
versions dAndroid et permet lutilisateur daccder facilement aux
fonctionnalits les plus importantes de lapplication ;

Les Fragments : ils ont pour objectif de permettre une plus grande flexibilit pour
les crans larges tels que les tablettes tactiles ou les Smartphones ;

ListView avec choix multiple : ce composant permet le choix de plusieurs menus


simultanment.
La performance : Vu que notre application sera dploye dans le Cloud, le temps de

rponse des requtes envoyes au prestataire de service doit tre rduit.

La scurit : le systme doit assurer un accs privilgi (chaque utilisateur naccde


lapplication quaprs une authentification), la confidentialit et lintgrit des
donnes stockes dans la base.

Lextensibilit : dans le dveloppement des diffrents modules de cette application, il


faut tenir compte de la possibilit de son extension par lajout de nouvelles
fonctionnalits.

4. Identification des acteurs :


Un acteur est une entit externe qui interagit avec le systme par lenvoi et la rception de
messages sous forme dchange de donnes. Les acteurs du systme MADS Cloud (Mobile
Application of Decision Support Cloud) sont :

Le responsable Marketing : cest un acteur principal, il a accs toutes les


fonctionnalits du systme.

Le Serveur mail : cest un acteur secondaire, il vrifie lexistence du mail lors de


linscription de lutilisateur. Ainsi, il permet denvoyer un nouveau mot de passe si
lutilisateur a perdu ou oubli son ancien mot de passe.

Le Serveur de la camra IP : cest un acteur secondaire, il se charge denvoyer le


flux vido de la camra au systme.

5. Modlisation du contexte :
Le modle de contexte sert reprsenter les interactions entre le domaine dtude et
lenvironnement, et entre le domaine dtude et les ventuels domaines connexes.

Chapitre 3 : Etude Conceptuelle


a. Modlisation du contexte dynamique :

Un acteur doit consulter et/ou modifier directement ltat du systme, il doit communiquer
directement avec le systme par mission et rception de messages. Tous les messages
peuvent tre reprsents de faon synthtique sur un diagramme que lon peut qualifier de
diagramme de contexte dynamique. La figure 3.2 reprsente le diagramme de contexte
dynamique du notre systme.

Figure 3-2 : Diagramme de contexte dynamique du systme

Le tableau ci-dessous montre une description dtaille des messages changs avec le systme :
Message

Entres
Lutilisateur sidentifie en introduisant son mail et son mot de
passe.

- Demande dajout, modification ou suppression des


camras ;
- Demande de visualisation des camras.

Lutilisateur demande dafficher les statistiques sur le


nombre de passagers

6
7

Sorties

Le systme autorise laccs.


- Le systme enregistre les mises
jour effectues ;
- Le systme envoie le flux vido
en temps rel.
Le systme affiche les donnes

- Le systme lui cre un nouveau


- Lutilisateur demande de crer un nouveau compte ;
profil
- Lutilisateur demande de modifier ses donnes personnelles. - Le systme enregistre les
modifications.
Le systme demande au serveur mail de vrifier lexistence
Le serveur de messagerie effectue
de ladresse mail saisie par lutilisateur lors de la cration de
la vrification et renvoie la rponse
son compte
au systme.
Le serveur de messagerie renvoie
Le systme demande au serveur mail de rcuprer le mot de
lutilisateur un mot de passe
passe oubli par lutilisateur.
alatoire.
Le systme demande dafficher le flux vido de la camra en Le serveur de la Camra IP renvoie
temps rel.
le flux vido.
Tableau 3-1 : Description du diagramme de contexte dynamique

Chapitre 3 : Etude Conceptuelle


b. Modlisation du contexte statique :

On peut complter le modle de contexte dynamique par ltude du contexte statique. Ce


dernier spcifie le nombre dinstances dacteurs relies au systme un moment donn. La
figure montre le diagramme de contexte statique de systme MADS Cloud.

Figure 3-3 : Diagramme de contexte statistique du systme

II. Analyse des besoins fonctionnels :


Lanalyse des besoins fonctionnels est la premire tape de la branche gauche du cycle en
Y. Elle formalise et dtaille ce qui a t bauch au cours de ltude prliminaire. La figure
3.4 montre la phase de capture des besoins fonctionnels dans le processus de dveloppement
2TUP.

Figure 3-4 : Situation de la capture des besoins fonctionnelles dans 2TUP [ROQUES, 2003]

Chapitre 3 : Etude Conceptuelle

1. Identification des cas dutilisation :


Les cas dutilisations permettent de structurer les besoins des utilisateurs travers un
systme sans prsenter les solutions dimplmentation. Ils donnent une vue claire et filtre sur
les acteurs et leur interaction avec le systme. Le tableau 3.2 fournit une description dtaille
des cas dutilisation.
Acteur
- Responsable Marketing
- Serveur Mail

Cas dutilisation

Sauthentifier

- Responsable Marketing
- Serveur Mail

Grer compte

- Responsable Marketing
- Serveur Camra

Grer camra

Responsable Marketing

Consulter statistiques

Description
Lutilisateur doit sauthentifier afin daccder
aux diffrentes fonctionnalits du systme.
Ce cas dutilisation permet lutilisateur de
crer un nouveau compte ou de modifier ses
donnes personnelles
Lutilisateur peut grer lensemble de ses
camras (Visualisation, Ajout, modification et
suppression).
Ce cas dutilisation permet dafficher les
donnes de comptage sous forme dun
graphique (courbe, histogramme, cercle)

Tableau 3-2 : Descriptiondescasdutilisation

a. Diagramme de cas dutilisation global initial :

Le modle de cas dutilisation global permet de donner une vision globale du


comportement fonctionnel du systme. La figure 3.5 reprsente le diagramme de cas
dutilisation global initial.

Figure 3-5 : Digramme de cas dutilisation global initial

Chapitre 3 : Etude Conceptuelle


b. Affectation des priorits aux cas dutilisations :

Lapplication permet de manipuler une diversification doprations. Ceci nous mne


affecter des priorits pour la classification des diffrents cas dutilisation selon leurs degrs
dimportance dans le systme. Le tableau 3.3 reprsente la priorit associe chaque cas
dutilisation.
Priorit *
1

Cas dutilisation
Grer camra
Consulter statistiques

Grer Compte

Sauthentifier

Priorit 1 : Pour le cas dutilisation le plus prioritaire.


Priorit 2 : Pour le cas dutilisation moyennement prioritaire
Priorit 3 : Pour le cas dutilisation le moins prioritaire

Tableau 3-3 : Tableau de priorits

c. Raffinement des cas dutilisations :

Pour dcomposer le systme, on a recours au raffinement ayant pour objectif de dtailler


les scnarios identifis prcdemment et dillustrer les relations entre les cas dutilisation.
Dans ce qui suit, on labore les diagrammes de cas dutilisation raffins.
Grer

Camra :

Le cas dutilisation Grer Camra comprend les fonctionnalits :

Visualiser camra ;

Ajouter camra ;

Modifier camra ;

Supprimer camra.

La figure 3.6 reprsente le raffinement du cas dutilisation Grer Camra

Figure 3-6: Raffinement du cas d'utilisation Grer Camra

Chapitre 3 : Etude Conceptuelle

Le tableau 3.4 prsente la description textuelle du cas dutilisation Visualiser Camra


Cas dutilisation
Rsum

Visualiser Camra
Ce cas dutilisation permet lutilisateur de visualiser lensemble de ses camras
Responsable Marketing
Acteurs
Serveur de la camra
Utilisateur identifi et autoris
Pr condition
La vido saffiche sur lcran
Post condition
1. Lutilisateur slectionne une ou plusieurs camras
2. Il choisit loption de visualisation
Scnario principal 3. Le systme demande le flux vido du serveur de la camra
4. Le serveur renvoie le flux
5. Le systme affiche la vido lutilisateur
Si le serveur de la camra est en panne, le systme affiche un message derreur.
exceptions
Tableau 3-4 : DescriptionducasdutilisationVisualiserCamra

Le tableau 3.5 reprsente la description textuelle du cas dutilisation Ajouter Camra


Cas dutilisation
Rsum
Acteurs
Pr condition
Post condition
Scnario
principal

exceptions

Ajouter Camra
Ce cas dutilisation permet lutilisateur dajouter une nouvelle camra au systme.
Responsable Marketing
Utilisateur authentifi
La camra est ajoute avec succs
1. Lutilisateur saisit les donnes de la camra (adresse IP, nom, login, mot de passe,
numro de port et localisation) puis confirme sa saisie
2. Le systme vrifie la saisie et lexistence de la camra
3. Si les donnes sont valides et la camra nexiste pas, le systme enregistre
lopration dajout
4. Le systme affiche un message de succs
Si la camra existe dans le systme, une erreur est gnre.
Tableau 3-5 : Description du cas dutilisationAjouterCamra

Consulter

statistiques :

La figure 3.7 ci-dessous indique le raffinement du cas dutilisation consulter statistiques

Figure 3-7 : Raffinement du cas dutilisation Consulter Statistiques

Chapitre 3 : Etude Conceptuelle

Le tableau 3.6 dcrit le cas dutilisation Consulter Statistiques


Cas dutilisation
Rsum
Acteurs
Pr condition
Post condition
Scnario
principal

Exceptions

Consulter Statistiques
Ce cas dutilisation permet lutilisateur dobtenir des statistiques sur le nombre de
passagers.
Responsable Marketing
Utilisateur identifi
Affichage des statistiques de comptage
1. Lutilisateur slectionne le type de graphique visualiser (Histogramme, courbe,
cercle) puis dtermine ladresse IP de la camra ;
2. Il choisit le type de statistiques (par jour, par mois ou par anne) et slectionne la
date ;
3. Si la date choisie est valide, le systme affiche les donnes.
Si la date slectionne est invalide, le systme affiche un message derreur
Tableau 3-6 :DescriptionducasdutilisationConsulterstatistiques

Grer

Compte :

Le cas dutilisation Grer Compte comprend les fonctionnalits Crer Compte et Modifier
Compte. La figure 3.8 reprsente le raffinement du cas dutilisation Grer compte

Figure 3-8 : Raffinement du cas dutilisation Grer Compte

Chapitre 3 : Etude Conceptuelle

Le tableau ci-dessous indique la description textuelle du cas dutilisation Crer Compte


Cas dutilisation

Crer compte
Ce cas dutilisation permet lutilisateur de crer un nouveau compte afin de pouvoir
Rsum
connecter au systme.
-Responsable Marketing
Acteurs
-Serveur mail
Lutilisateur na pas de compte
Pr condition
Cration dun nouveau compte
Post condition
1. Lutilisateur introduit ses donnes (Nom, E-mail, sexe) puis valide lopration ;
2. Le systme contrle la saisie et vrifie lexistence du mail avec le serveur mail ;
Scnario principal
3. Si les donnes sont valides et le mail existe dans le serveur de messagerie, un mot de
passe sera envoy ladresse mail de lutilisateur et le nouveau compte sera cr.
Si les donnes saisies sont errones ou le mail nexiste pas, le systme affiche un
Exceptions
message derreur
Tableau 3-7 : DescriptionducasdutilisationCrerCompte
Sauthentifier

La figure ci-dessous montre le raffinement du cas dutilisation Sauthentifier

Figure 3-9 : Raffinement du cas dutilisation SAuthentifier

Le tableau 3.8 reprsente une description textuelle du cas dutilisation Sauthentifier


Cas dutilisation
Rsum
Acteurs
Pr condition
Post condition
Scnario
principal

Exceptions

Sauthentifier
Ce cas dutilisation permet lutilisateur de sauthentifier auprs du systme
Responsable Marketing
Lutilisateur nest pas connect au systme
Lutilisateur est identifi Affichage du menu principal
1. Lutilisateur saisit les paramtres dauthentification (mail et mot de passe) et confirme
sa saisie ;
2. Les informations seront envoyes au systme ;
3. Le systme vrifie la validit des informations saisies ;
4. Si les donnes sont valides, lutilisateur sera connect au systme.
Si les donnes saisies sont errones, le systme affiche un message derreur
Tableau 3-8 : DescriptionducasdutilisationSauthentifier

Chapitre 3 : Etude Conceptuelle

2. Diagramme de paquetage :
Un paquetage tant un conteneur logique permettant de regrouper et dorganiser les
lments dans le modle UML. Les classes regroupes dans un package partagent les mmes
spcificits.
Le diagramme de paquetage sert reprsenter les dpendances entre paquetages, cest-
dire les dpendances entre un ensemble de dfinitions. La figure 3.10 reprsente le diagramme
de package de notre application.

Figure 3-10 : Digramme de package de lapplication

Package Cronjobs : Permet de dclencher le module OpenCV dune faon automatique

Package OpenCv : Permet de raliser le traitement dimages-vido

Package Statistical : Gestion des statistiques

Package Camera : Gestion des camras IP

III. Analyse des besoins techniques :


La spcification technique est une activit de la branche droite du cycle en Y ; elle est
primordiale pour la conception darchitecture. Cette tape a lieu lorsque les architectes ont
obtenu suffisamment dinformations sur les prs requis techniques. Ils doivent a priori
connatre au moins le matriel, savoir les machines et rseaux, les progiciels intgrer, et
les outils retenus pour le dveloppement.

Chapitre 3 : Etude Conceptuelle

La figure 3.11 indique la situation de la capture des besoins techniques dans 2TUP.

Figure 3-11 : Situation de la capture des besoins techniques dans 2TUP

1. Configuration matrielle du systme :


Les choix des prs requis techniques impliquent des contraintes relatives la configuration
du rseau matriel, les performances daccs aux donnes, lintgration des applications, la
volumtrie et la scurit du systme. La configuration matrielle de notre systme est
schmatise par un diagramme de dploiement (figure 3.12) qui dcrit la structure physique
du systme en montrant la rpartition des fonctions sur les diffrents vis--vis de calcul du
rseau.

Figure 3-12 : Digramme de dploiement du systme MADS Cloud

Chapitre 3 : Etude Conceptuelle

Comme lindique la figure, le systme est quip des lments suivants :

Un appareil mobile supportant Android OS : ce vis--vis comporte le niveau


prsentation. Il permet lutilisateur dinteragir avec lapplication.

Le serveur Google App Engine : il comporte le niveau traitement et le niveau des


donnes : il intgre la logique mtier et comporte lenregistrement des donnes de
lapplication.

Le serveur mail : Son rle consiste vrifier lexistence de ladresse mail lors de
linscription de lutilisateur. Ainsi, il permet denvoyer un nouveau mot de passe si
lutilisateur a oubli ou perdu son ancien mot de passe.

Le serveur de la camra IP : il se charge denvoyer le flux vido des camras au


systme MADS Cloud.

2. Spcification darchitecture :
Notre application doit permettre lextensibilit du systme par lajout de nouvelles
fonctionnalits. Pour assurer a, on a opt larchitecture oriente service : cest une
architecture distribue fonde sur la description et linteraction de services. Elle reprsente la
solution la plus adapte notre systme car elle offre :

Une rpartition des tches entre les acteurs du systme ;

Linteroprabilit : cest la gestion de lintgration entre les applications de


plateformes diffrentes ;

La rutilisation permettant le partage de modules entre les applications ;

Lagilit : cest la facilit de modification ;

Lvolutivit permettant aux applications de greffer de nouveaux modules ;

La prennit impliquant le support des technologies existantes et venir.

On a choisi galement les services Web REST (Representational State Transfer). Les
principales motivations pour ce choix sont :

Lindpendance vis--vis du langage de programmation ;

Lindpendance vis--vis de la plateforme sur laquelle ils sont dploys ;

La simplicit dimplmentation car la couche transport na pas besoin dtre redfinie


et il nest plus ncessaire de crer un dictionnaire de donnes comme on le fait avec
SOAP ;

Lutilisation de multiples formats pour lchange de donnes (XML, JSON, HTML).

Chapitre 3 : Etude Conceptuelle

La figure 3.13 dcrit larchitecture technique de notre application.

Figure 3-13 : Architecture technique du systme

Comme lindique la figure, lutilisateur accde lapplication via son appareil mobile qui
est connect Internet travers un rseau Wi-Fi ou bien travers un rseau tlphonique
(Rseau 3G, GPRS, EDGE). Les demandes de service sont envoyes au nuage informatique
qui se charge de traiter les requtes et allouer les ressources ncessaires.
Le serveur de la camra IP intervient lorsque lutilisateur demande de visualiser les camras
en temps rel.
Le serveur de messagerie permet de vrifier ladresse mail de lutilisateur lors de son
inscription, ainsi il assure lenvoi dun nouveau mot de passe si lutilisateur a perdu ou oubli
son ancien mot de passe.

IV. Conception :
Aprs avoir dfini les objectifs de notre application et aprs avoir dtaill par des
diagrammes de cas dutilisation les diffrentes fonctionnalits dsires, on passera la
conception de la solution. Cette phase est cruciale dans le cycle de dveloppement du projet.
On va prsenter par la suite une vue statique par la modlisation de diagramme de classe de
base de donnes, et une vue dynamique du systme par la modlisation des diagrammes de
squence.

Chapitre 3 : Etude Conceptuelle

1. Diagramme de classes :
Le diagramme de classe est un lment important dans une dmarche de conception
oriente objet. Il reprsente les diffrentes entits intervenant dans le systme et les relations
entre celles-ci.
a. Diagramme de classe de base de donnes :

Le diagramme de classe ci-dessous (figure 3.14) reprsente les classes mises en vidence
dans notre application.

Figure 3-14: Diagramme de classe de base de donnes

Chapitre 3 : Etude Conceptuelle


b. Diagramme de classe Sauthentifier:

Figure 3-15: Diagramme de classe de conception pour le cas d'utilisation S'Authentifier

c. Diagramme de classe Visualiser Camra:

Figure 3-16: Diagramme de classe de conception pour le cas d'utilisation Visualiser Camra

Chapitre 3 : Etude Conceptuelle


d. Diagramme de classe Consulter Statistiques:

Figure 3-17: Diagramme de classe de conception pour le cas d'utilisation Consulter Statistiques

L'analyse permet de structurer les besoins et les exigences de telle sorte que leur
comprhension, leur prparation, leur modification, leur rutilisation en soient facilit.
Une ralisation-analyse dun cas dutilisation dcrit la faon dont le cas dutilisation est
ralis en termes de classes danalyse.
Le tableau 3.9 ci-dessous dcrit les trois types de classes danalyse.
Classe
Les classes de dialogues
boundary

Strotype

Rle
Elles permettent linteraction entre lIHM et les utilisateurs. Ces
classes sont directement issues de lanalyse de maquette

Les classes de contrles


control

Ces classes modlisent la cinmatique de lapplication. Elles font


la jonction entre les dialogues et les classes mtiers en permettant
aux diffrentes vues de lapplication de manipuler les
informations dtenues par un ou plusieurs objets mtier.

Les classes entits


Entity

Ces classes sont gnralement persistantes, elles proviennent


directement du modle du domaine et permettent des donnes
et des relations dtre stockes dans des fichiers ou des bases de
donnes.
Tableau 3-9:typesdeclassesdanalyse

Au cours de cette section, on analyse les cas dutilisations (Visualiser camra, Consulter
statistiques et Sauthentifier). Cette analyse consiste raliser la traabilit entre le modle du
cas dutilisation et le modle danalyse, ainsi que llaboration du diagramme de
collaboration.

Chapitre 3 : Etude Conceptuelle

2. Diagramme de squence :
a. Diagramme de squence S'Authentifier:

Figure 3-18: Diagramme de squence du cas d'utilisation S'Authentifier

Avant laccs lapplication, lutilisateur doit sauthentifier avec la saisie de son mail et
mot de passe. Aprs vrification, si lutilisateur est accept, il aura accs au systme et la
fentre du Menu principal saffiche, sinon on aura un message derreur.

Chapitre 3 : Etude Conceptuelle


b. Diagramme de squence Visualiser Camra:

Figure 3-19: Diagramme de squence du cas d'utilisation Visualiser Camra

La figure 3.19 prsente les tapes de laffichage de flux vido des camras IP. Tout
dabord, lutilisateur doit sauthentifier au systme. Une fois identifi, il choisit le menu
Camera Management et loption de visualisation. Ensuite, il slectionne le(s) camra(s)
isualiser. Si le nombre des camras coches ne dpasse pas quatre, le flux vido sera affich
lcran, sinon un message derreur est apparu.

Chapitre 3 : Etude Conceptuelle


c. Diagramme de squence Consulter Statistiques:

Figure 3-20: Digramme de squence du cas d'utilisation Consulter Statistiques

Chapitre 3 : Etude Conceptuelle

La figure 3.20 illustre le scnario daffichage des statistiques. Aprs authentification,


lutilisateur choisit le menu Statistics. Ensuite, il slectionne le type de graphique, ladresse IP
de la camra et la date des statistiques. Aprs vrification, si la date choisie est valide les
statistiques seront affiches, sinon un message derreur est apparu.

Conclusion :
Dans ce chapitre, on a effectu un premier reprage des besoins fonctionnels et non
fonctionnels de lapplication. On a prsent dans une deuxime partie les besoins fonctionnels
bauchs durant ltude prliminaire. En troisime lieu, on a prsent la spcification
technique de lapplication, et ceci par la modlisation de la configuration matrielle du
systme et larchitecture technique de lapplication.
La conception de lapplication suivant le processus de dveloppement 2TUP et le langage
de modlisation UML a aboutie prsenter ltape danalyse qui nous a permis de passer
dune structuration fonctionnelle via les cas dutilisations une structuration objet via les
classes. Finalement, on a labor la conception de lapplication dun point de vue statique et
dynamique. A partir de cette conception, on va entamer la partie ralisation qui fera lobjet du
chapitre suivant.

Chapitre iv :
Ralisation

Chapitre 4 : Ralisation

Chapitre 4

Ralisation

Introduction :
Aprs avoir achev ltude conceptuelle de lapplication, on va entamer dans ce chapitre la
partie ralisation dans laquelle on prsente les diffrentes technologies utilises,
lenvironnement de travail et quelques captures dcran de lapplication.

I. Technologies utilises :
Pour la ralisation de lapplication, on a adopt les technologies suivantes : le langage de
programmation JAVA, la plateforme Android 4.0, la plateforme Google App Engine et la
technologie NoSQL.
1. Le langage de programmation JAVA :
Java est un langage de programmation volu et orient objet. Ses caractristiques ainsi
que la richesse de son cosystme lui ont permis d'tre trs largement utilis pour le
dveloppement d'applications dentreprises et mobiles. Notre choix du langage Java se justifie
par plusieurs raisons, notamment :

Lexploitation des possibilits offertes par Android OS ;

La compatibilit avec la plateforme App Engine de Google ;

La simplicit : La syntaxe de Java est une simplification de celle de C++ ;

La fiabilit : Java a t conu pour que les programmes qui lutilisent soient fiables ;

La programmation orient objet : Java se concentre sur les objets et sur les interfaces avec
ces objets. Il offre aussi de nombreuses classes permettant de manipuler les objets

La portabilit : Elle signifie quun programme crit une seule fois fonctionnera sur
diffrentes plateformes sans ncessiter une modification de code ;

Langage interprt : un programme compil n'est pas directement excutable par le systme

d'exploitation mais il doit tre interprt par un autre programme, qu'on appelle interprteur.

2. La plateforme Android 4.0 (Ice Cream Sandwich) :


Android est une couche logicielle pour les appareils mobiles qui inclut un systme
d'exploitation, un middleware et des applications cls. Parmi les points forts de cette
technologie on peut citer le cot Open Source, lintgration transparente avec les services
Google (Gmail, Maps...), la facilit de synchronisation

Chapitre 4 : Ralisation

Le choix de la version 4.0 de la plateforme Android se justifie par les raisons suivantes :

Capacit unifier le dveloppement des interfaces Smartphone, tablette, tlvision


connecte et systme embarqu ;

Navigation simple avec des gestes intuitives ;

Loffre de nouvelles fonctionnalits tels que : le dverrouillage par reconnaissance


faciale, la suppression des boutons physiques, une interface graphique plus ergonomique,
un navigateur web plus performant ;

Le multitche : Android permet d'ouvrir plusieurs logiciels simultanment.

Les nouvelles fonctionnalits dIce Cream Sandwich en font un srieux prtendant sur le
march mobile et tablette.

3. La plateforme Google App Engine (GAE) :


Suite une premire tude des diffrentes plateformes cloud, on a choisi de dvelopper et
dployer lapplication MADS Cloud sur la plateforme Google App Engine. Ce choix est
justifi par les raisons suivantes :

Le support du langage Java de cette plateforme ;

Cest la seule offre actuelle dhbergement qui rpond notre besoin : pouvoir dployer
rapidement, facilement et presque gratuitement une application crite en Java ;

GAE est un service qui permet le dploiement de lapplication sur linfrastructure de


Google qui soccupera de grer la monte en charge de cette application. Ceci est un
avantage par rapport un serveur ddi.

4. La technologie NoSQL (Not Only SQL) :


Le NoSQL est une catgorie de bases de donnes qui se diffrencie du modle relationnel
que lon retrouve dans les SGBD connues tels que MS SQL Server, Oracle, PostgresSQL
Cette technologie rsout les problmes de rapidit en lecture et en criture sur les donnes et
limine les goulots dtranglement gnrs par les outils classiques. Le NoSQL fait galement
le compromis dabandonner certaines fonctionnalits classiques des SGBD relationnels au
profit de la simplicit, la performance et une forte scalabilit.
La base de donnes quon va utiliser via la plateforme App Engine est une base NoSQL.
Elle est oriente colonne cest--dire que sur chaque ligne on peut insrer un grand nombre de
colonnes et sur chaque colonne les donnes sont reprsentes par un couple cl -valeur.
Comme le montre la figure 4.1, dans une base de donnes relationnelle, une table est un
ensemble de donnes organises en colonnes dont le nombre est fixe quel que soit le nombre

Chapitre 4 : Ralisation

denregistrements. Contrairement au modle orient colonne dont le nombre de colonnes peut


varier pour chaque enregistrement.

Figure 4-1: Comparaison entre la BD Relationnelle et BD Oriente Colonne [FIGUIERE, 2010]

II. Environnement de travail :


Avant de commencer la dmarche de ralisation, il convient de prsenter lenvironnement
de travail dun point de vue matriel et logiciel.
1. Environnement matriel :
Cette application a t implmente sur un micro-ordinateur ayant les caractristiques
suivantes :
Ordinateur

Caractristiques
Processeur : Intel Pentuim Core i5 2.20 GHz
Mmoire vive : 4.00 Go
Disque dur : 500 Go
Systme dexploitation : Microsoft Windows 7, 64 bits
Tableau 4-1: Description des matriels informatiques

2. Environnement logiciel :
Afin de concevoir et dvelopper lapplication, on a utilis un ensemble de logiciels et
doutils de dveloppement :
a. Power AMC :

Cest un environnement intgr danalyse et de conception dapplications, permettant


d'effectuer les tches suivantes :

Modlisation intgre via l'utilisation de mthodologies et de notation standard ;

Gnration automatique de code via des templates personnalisables (Java, SQL...) ;

Lajout des rgles, des commandes, des concepts et des attributs nos mthodologies de
modlisation et de codage ;

Chapitre 4 : Ralisation

Une solution de rfrentiel d'entreprise avec des fonctionnalits de scurit et de gestion


des versions trs compltes pour permettre un dveloppement multiutilisateur ;

Fourniture doutils de modlisation professionnels qui associent les techniques et la


notation standard de modlisation de processus mtiers, des donnes et d'applications
UML.

b. Eclipse IDE :

Eclipse est un environnement de dveloppement extensible, universel et polyvalent. Il a t


conu pour le langage Java mais ses nombreux greffons en font un environnement de
dveloppement pour des autres langages de programmation tels que C, C++, Python, PHP,
Ruby La spcificit dEclipse vient du fait que son architecture est totalement dveloppe
autour de la notion de plug-in.
c. Java Development Kit 1.6 (JDK) :

Le kit de dveloppement, communment appel JDK, est indispensable pour le


dveloppement et lexcution de notre application. Il comprend plusieurs outils ncessaires
pour dvelopper et tester des programmes crits en Java. Parmi ces outils on cite :

Javac : le compilateur Java ;

Javadoc : un gnrateur de documentation ;

Jar : un outil de compression de classes Java.

Notre choix sest fix sur la version 1.6 vu quelle est compatible avec la plateforme Google
App Engine.
d. Software Development Kit 4.0 (SDK) :

Cest un ensemble complet doutils de dveloppement. Il permet de fournir les


bibliothques dAPI et les outils ncessaires pour construire, tester et dboguer des
applications Android.
e. Android Development Tools (ADT) :

Cest un plug-in du logiciel Eclipse qui a t conu afin de donner un environnement


puissant et intgr dans lequel on peut tablir des applications Android.
ADT tend les fonctionnalits dEclipse pour installer rapidement des nouveaux projets
Android, ajouter des paquets bass sur l'API24 Android, corriger nos applications en utilisant
les outils dAndroid SDK, exporter des APK25 afin de distribuer notre application.
24

API (Application Programming Interface) : Interface de programmation indispensable linteroprabilit entre les composants logiciels. (Page 65)

25

APK (Android Application Package) : Format de fichier utilis pour distribuer et installer l'application.

Chapitre 4 : Ralisation
f. Plug-in Google App Engine:

Avec le plug-in Google Pour Eclipse on a pu programmer notre application App Engine
Java. En effet, ce greffon permet de crer, tester et transfrer des applications App Engine
partir d'Eclipse. Il facilite galement le dveloppement laide de Google Web Toolkit
GWT26 en vue de leur excution dans App Engine ou dans d'autres environnements.
g. AChartEngine 1.0 :

Cest une bibliothque graphique pour les applications Android. Elle permet de gnrer
plusieurs types de tracs notamment les graphiques en ligne, en aires, en anneau, barres, les
chronogrammes, les diagrammes de dispersion
On a utilis ce Framework pour la reprsentation graphique de donnes statistiques.
h. Objectify 3.1 :

Objectify est un Framework conu spcialement pour la base de donnes de Google. Il


permet de simplifier la persistance des donnes et de leurs manipulations, ainsi, elle rajoute
une couche d'abstraction facilitant normment les diffrentes interactions.
i. Restlet 2.0 :

Cest un Framework RESTful web pour Java. Il permet d'utiliser le style d'architecture du
Web REST et de bnficier de sa simplicit et son volutivit. Par ailleurs, il peut tre utilis
dans diffrents environnements d'excution bass sur Java, ct client comme ct serveur et
s'intgre particulirement dans les plateformes Cloud notamment Google App Engine.
j. OpenCV :

Cest une bibliothque graphique libre, dvelopp la base par Intel et spcialise dans le
traitement dimages et vidos. On a utilis ce Framework pour la dtection et la
reconnaissance de formes des tres humains. [Annexe B]

III. Dploiement de lapplication sur Google App Engine :


Aprs avoir install lenvironnement de dveloppement, tout est prt pour quon
commence crer lapplication App Engine. On a prsent les tapes de dploiement de
lapplication MADS Cloud sur la plateforme Google App Engine. [Annexe A]

26

GWT (Google Web Toolkit) : cest un ensemble doutils logiciels dvelopp par Google.

Chapitre 4 : Ralisation

1. Les principales interfaces graphiques :


On essayera dans cette partie de prsenter quelques captures dcran de lapplication afin
d'illustrer les diverses fonctionnalits.
a. Interface de Cration Compte :

Cette fentre permet lutilisateur de crer un nouveau compte afin daccder aux diffrentes
fonctionnalits de lapplication. Les donnes introduire sont le nom, lEmail et le sexe.

Figure 4-2: Interfacedecrationdunnouveaucompte

b. Interface de rception Mail :

Une fois le compte cr, un courrier lectronique sera envoy lutilisateur contenant ses
coordonnes (Email et Mot de passe). La Figure 4.3 reprsente le mail reu.

Figure 4-3: Interface de rception mail

Chapitre 4 : Ralisation
c. Interface de Rcupration mot de passe :

En cas de perte ou doubli de mot de passe, lutilisateur peut en demander un nouveau en


saisissant son adresse mail. La figure 4.4 montre linterface de rcupration de mot de passe.

Figure 4-4: Interface de rcupration mot de passe

d. Interface dauthentification :

partir de cette interface, un utilisateur dj inscrit pourra se connecter lapplication. Il


suffit dentrer son mail et son mot de passe puis cliquer sur le bouton (Log In).

Figure 4-5: Interface d'authentification

Chapitre 4 : Ralisation
e. Interface du Menu principal :

La figure 4.6 montre le menu principal de notre application. A partir de cette interface,
lutilisateur peut grer lensemble de ses camras, visualiser les statistiques ou modifier les
donnes de son profil.

Figure 4-6: Interface de Menu Principal

f. Interface de Visualisation Camra :

Cette fentre permet lutilisateur dafficher le flux vido des camras implantes sur
plusieurs sites distants.

Figure 4-7: Interface de Visualisation des Camras

Chapitre 4 : Ralisation
g. Interface dAjout Camra :

Pour ajouter une nouvelle camra au systme, lutilisateur doit renseigner les champs
suivants : adresse IP, Nom de la camra, login, mot de passe, numro de port et localisation.

Figure 4-8: Interface dAjout dune Camra

h. Interface de Suppression Camra :

Lutilisateur du systme peut supprimer une ou plusieurs camras via cette interface. La
figure 4.9 prsente la fentre de suppression des camras.

Figure 4-9: Interface de Suppression dune Camra

Chapitre 4 : Ralisation
i. Interfaces de Consultation statistiques :

Les interfaces ci-dessous montrent les statistiques sur le nombre de passagers, que ce soit par
jour ou par anne.

Figure 4-10: Interface de consultation des statistiques par jour

Figure 4-11: Interface de consultation des statistiques par anne

Chapitre 4 : Ralisation
j. Interface de Modification profil :

Une fois authentifi, l'utilisateur peut accder au systme pour modifier ses donnes
personnelles (Nom, Mail, Mot de passe et sexe).

Figure 4-12: Interface de modification du profil

k. Interface de rcupration du mot de passe :

Lorsque lutilisateur valide lopration de rcupration du mot de passe, un nouveau mot de


passe lui sera envoy instantanment. La figure 4.13 montre la rception du mail reu pour la
rcupration du mot de passe.

Figure 4-13: Interface de rcupration du mot de passe

Conclusion :
Ce chapitre a t consacr la ralisation du projet. Au dbut on a dcrit le
lenvironnement logiciel et matriel du projet, puis on a prsent quelques interfaces du test
de la solution MADS Cloud. Et cest par cette phase quon clture le travail.

Conclusion

Chapitre 5

Conclusion

Dans le cadre de mon stage de Fin dtude au sein du laboratoire RIADI-GDL, jai
propos, comme solution la ralisation dune application mobile daide la dcision pour le
secteur Marketing, par lanalyse des flux des camras IP pour llaboration des statistiques sur
le nombre de personnes qui passent devant les panneaux publicitaires.
Durant ce projet, on a touch plusieurs domaines : le Cloud Computing, les grilles de
calcul, les services Web et le Cloud Computing mobile. On a tudi les diffrentes
plateformes de linformatique en nuage (PaaS, IaaS et SaaS), et on a prsent la conception et
la ralisation de la solution dploye dans le nuage informatique via la plateforme Google
App Engine.
Ce projet a t trs enrichissant et bnfique pour ma formation. Il ma permis de visualiser
de prs lambiance du travail dans un laboratoire, dans lequel plusieurs quipes travaillent
dans des domaines de recherche diffrents et sorganisent pour approfondir les
connaissances technologiques et scientifiques. Il ma offert aussi loccasion de dcouvrir et de
travailler avec une nouvelle technologie du cloud computing et daccrotre mes comptences
dans ce domaine en abordant plusieurs aspects techniques.
Ainsi, il ma aid amliorer mes capacits dadaptation aux diffrentes contraintes
rencontres durant les diffrentes phases de dveloppement, telque le manque de
documentation au niveau des outils et des nouvelles technologies de dveloppement que jai
utilis, et linexistence de standard a rendu parfois difficile la dcouverte de linformation
fiable. Le plus difficile dans ce projet tait lintgration de toutes ces nouvelles notions.
Le travail quon a ralis peut tre tendu de plusieurs manires. On propose comme
amliorations que cette application ne se limite pas aux appareils mobiles supportant Android
OS, mais ventuellement avec tout type de terminaux mobile. Ainsi, on peut approfondir la
recherche sur la problmatique de la scurit au niveau de lapplication dveloppe.

Glossaire

Chapitre 6

Glossaire

Data Center : Cest un site physique sur lequel se trouvent regroups des quipements constituants le

systme dinformation de lentreprise (mainframes, serveurs, baies de stockage, quipements rseaux


et de tlcommunications, etc.). Il peut tre interne et/ou externe lentreprise, exploit ou non avec le
soutien de prestataires. (Page 1)
2

R&D : Le management de la Recherche et dveloppement est une discipline dont l'objectif est de

mettre en place dans l'entreprise des processus permettant la circulation des savoir-faire d'abord au
travers des quipes responsables des nouveaux produits puis jusqu' la mise en production de ceux-ci.
(Page 7)
3

hypercubes:

http://www.bearingpoint.com/fr-fr/7-7531/la-technologie-hypercube-destinee-au-

secteur-de-la-sante/(Page 8)
datamining : Lexploration de donnes, connue aussi sous l'expression de fouille de donnes, forage

de donnes, prospection de donnes, data mining, ou encore extraction de connaissances partir de


donnes, ECD en franais, KDD en anglais, a pour objet lextraction d'un savoir ou d'une
connaissance partir des donnes. (Page 8)
5

Data Warehouse : Le terme Entrept de donnes dsigne une base de donnes utilise pour

collecter, ordonner, journaliser et stocker des informations provenant de base de donnes


oprationnelles et fournir ainsi un socle l'aide la dcision en entreprise. (Page 8)
NIST (National Institute for Standards and Technology) : cest une agence du dpartement du

commerce amricain. Son objectif est de promouvoir linnovation et la comptitivit de lindustrie au


travers de la technologie et des standards. (Page 9)
7

John McCarthy :(n le 4 septembre 1927, Boston, Massachusetts) est le principal pionnier de

l'intelligence artificielle et galement l'inventeur du langage Lisp. (Page 11)


Amazon : Cest une entreprise de commerce lectronique amricaine. Sa spcialit la plus connue est

la vente de livres, mais elle est diversifie dans d'autres produits, notamment dans la vente de tous
types de produits culturels (CD, DVD, appareils photos numriques). (Page 11)
Framework : Cest un kit de composants logiciels structurels, qui sert crer les fondations ainsi que

les grandes lignes de tout ou dune partie d'un logiciel. (Page 13)
10

Symfony : http://symfony.com/ (Page 13)

11

groovy : http://groovy.codehaus.org/ (Page 13)

Glossaire
12

SLA (Service Level Agreement) : contrat dfinissant les engagements de l'hbergeur quant la

qualit de sa prestation, et des pnalits engages en cas de manque. (Page 19)


XML (Extensible Markup Language) : cest un langage informatique de balisage destin pour

13

lchange de donnes entre applications. (Page 21)


Hyper Text Transport Protocol (http): cest un protocole destin transfrer des donnes dun

14

serveur Web un poste client. (Page 21)


15

Une application native dsigne un logiciel tlcharger depuis un store (exemple : Google Play) et

installer sur un appareil mobile (Page 26)


Base Transceiver Station (BTS) : cest un lment de base du systme cellulaire de tlphonie

16

mobile GSM, appel plus communment antenne-relais GSM. (Page 26)


JVM : cest la machine virtuelle Java qui permet dexcuter des programmes compils sous forme

17

de bytecode Java. Elle assure l'indpendance du matriel et du systme d'exploitation lors de


l'excution des applications Java. (Page 27)
18

Jruby : http://jruby.org/ (Page 27)

19

Scala : http://www.scala-lang.org/ (Page 27)


Bucket : cest un espace de stockage sur Amazon S3 (Page 31)

20

Workflow : cest est la reprsentation d'une suite de tches ou oprations effectues par une

21

personne. (Page 31)


NFS (Network File System) : cest un protocole qui permet un ordinateur daccder des fichiers

22

via un rseau. (Page 32)


23

Ergonomie : http://developer.android.com/design/index.html. (Page 40)

24

API (Application Programming Interface) : Interface de programmation indispensable

linteroprabilit entre les composants logiciels. (Page 63)


25

APK (Android Application Package) : Format de fichier utilis pour distribuer et installer

l'application. (Page 63)


GWT (Google Web Toolkit) : cest un ensemble doutils logiciels dvelopp par Google. (Page 64)

26

Bibliographie

Chapitre 7

Bibliographie

[AM] Frdric Arlhac et Jrme Mattera. Le Grid Computing.2004. 27 pages. Rapport de


bibliographie, Universit Claude Bernard Lyon, 2003-2004. (Consult le 02/03/2014)
[Amazon] Amazon. Web: http://aws.amazon.com/fr/ec2/ (Consult le 07/05/2014)
[Amazon2] Amazon Web Services. Web: http://aws.amazon.com/fr/ec2/ (Consult le 30/03/2014)
[Amazon3] Amazon Web Services. Web: http://aws.amazon.com/fr/s3/ (Consult le 02/07/2014)
[Amazon4] Amazon Web Services. Web: http://aws.amazon.com/fr/free/(Consult le 02/07/2014)
[AUDIBERT, 2009] Laurent AUDIBERT. UML 2 : de lapprentissage la pratique. 31/10/2006.
Accessible http://laurent-audibert.developpez.com/Cours-UML/html/index.html (Consult le
20/04/2014)
[Beaulieu, 2009] Alain Beaulieu. Le nuage informatique: un concept nouveau. 20 Fvrier 2009.
(Consult le 24/05/2014)
[Beaulieu, 2009] Alain Beaulieu. Le nuage informatique: un concept nouveau. 20 Fvrier 2009.
(Consult le 24/05/2014)
[Bellefoy, 2012] Sandra Bellefoy, Tendance 2012: les applications mdicales. 20 janvier 2012,
pages 1-10. Web : http://www.synchro-blogue.com/apps/suggestions-sympatico/iphoneipadsuggestions-sympatico/tendance-2012-les-applications-medicales/4/ (Consult le 19/03/2014)
[Ben Aissi, 2010] Akram Ben Aissi. Historique des web services. 4 Juin 2010. Web
:http://akrambenaissi.wordpress.com/2010/06/04/historique-des-web-services/#more-52 (Consult
le 23/05/2014)
[Breuker 94] Breuker J., Wieling B., KADS structured knowledge acquisition for expert system
, 5th international workshop on expert systems and their application, Avignon, 1995.
[Cavazza,2011] Frdric Cavazza. Dfinition et usages du cloud computing. 16 mars 2011.
(Consult le 01/05/2014)
[CERN] CERN.The Grid. October 2009. Geneva, Switzerland Communication Group, CERNBrochure-2009-008-Eng (Consult le 27/05/2014)
[Claybrook, 2011] Bill Claybrook. Enterprises usher in mobile cloud computing. Septembre
2011. SearchCloudComputing (Consult le 04/03/2014)
[CNIL, 2012] Commission Nationale de linformatique et des liberts. Recommandations pour les
entreprises qui envisagent de souscrire des services de Cloud computing. 2Juillet 2012.
(Consult le 18/05/2014)
[Direccte,2012] Direction rgionale des entreprises, de la concurrence, de la consommation du
travail et de lemploi. Le cloud computing une nouvelle filire fortement structurante. Septembre
2012. (Consult le 02/05/2014)

Bibliographie
[DLNW, 2011] Hoang T. Dinh et Chonho Lee et Dusit Niyato et Ping Wang, A Survey of Mobile
Cloud Computing: Architecture, Applications, and Approaches. Septembre 2011, (pp. 1-38).
(Consult le 02/03/2014)
[Douglas, 2009] Jeff Douglas. Amazons EC2 Console Makes Cloud
Computing Fun and Easy. 9 Juin 2009. Web : http://blog.jeffdouglas.com/2009/01/09/amazonsec2-console-makes-cloud-computing-fun-and-easy/ (Consult le 31/03/2014)
[Eucalyptus] Eucalyptus. Web: http://www.eucalyptus.com/eucalyptus-cloud/iaas/functionality
(Consult le 12/07/2014)
[Fayyad 96] Fayyad U. M., Piatetsky-Shapiro G., Smyth P. From data mining to knowledge
discovery: an overview , in Advances in knowledge discovery and data mining p. 134.
(AAAI/MIT Press), 1996.
[Figuire, 2010] Michal Figuire. NoSQL Europe : Bases de donnes orientes colonnes et
Cassandra. 4 mai 2010. (Consult le 20/07/2014)
[Foster, 2003] Ian Foster. Ian Foster Named 2003 Innovator of the Year. 10 Octobre 2003,
(Consult le 24/05/2014)
[Google] Google. Web: https://developers.google.com/appengine/?hl=fr (Consult le 06/05/2014)
[Google2] Google Developers. Web: (Consult le 23/03/2014)
http://support.google.com/a/bin/answer.py?hl=fr&answer=91077
[Google3] Google Developers. 26 mars 2012. Web:
https://developers.google.com/appengine/whyappengine?hl=fr. (Consult le 23/03/2014)
[Google4]

Google

Developers.13

Fvrier

2013.

Web:

https://developers.google.com/appengine/docs/quotas (Consult le 23/03/2014)


[Google5] Google Developers. 26 mars 2012. Web : https://developer
[IBM] IBM. Web: http://www.ibm.com/cloud-computing/us/en/ (Consult le 11/05/2014)
[IBM, 2010] IBM. 30 Septembre 2010. Web : http://pic.dhe.ibm.com/ (Consult le 24/05/2014)
[Jcbrechard, 2012] Jcbrechard. Zappos.com victime du vol des donnes de 24 millions de clients.
8 Avril 2012. Actualit trangre. (Consult le 15/05/2014)
[Kaskade,2009] Jim Kaskade. Definition of Cloud Computing - Again. 8 Novembre 2009.
(Consult le 01/05/2014)
[Kimball 00] Kimball R. Les entrepts de donnes , Eyrolles, 2000.
[KKKM, 2012] Abdul Nasir Khan et M.L. Mat Kiah et Samee U. Khan et Sajjad A Madani.
Towards secure mobile cloud computing: A Survey. Aot 2012, (pp. 1-22). Future Generation
Computer Systems. (Consult le 11/03/2014)
[Leclere, 2009] Olivier Leclere. Maslintcho on the Cloud. 31 Aot 2009. Web:
http://maslintchoonthecloud.blogspot.com/2009_08_01 archive.html (Consult le 28/05/2014)

Bibliographie
[LR] Cantone Laurent et Unal Rsoul. Le Grid Computing et son utilisation dans les entreprises et
les industries.2005.Travail de diplme ralis en vue de l'obtention du mmoire de recherche,
Universit Claude Bernard Lyon1, 2004-2005. (Consult le 27/05/2014)
[MATI Montral] MATI Montral. Web : http://www.matimtl.ca/recherches/projet.jsp?id=57
(Consult le 16/03/2014)
[MG, 2011] Peter Mell et Timothy Grance. The NIST Definition of Cloud Computing:
Recommendations of the National Institute of Standards and Technology.Septembre 2011, NIST
Special Publication 800-145 (Consult le 01/05/2014)
[Microsoft1] Microsoft. Web: http://www.windowsazure.com/fr-fr/ (Consult le 05/05/2014)
[Microsoft2] Microsoft. Web: https://mspartner.microsoft.com/fr/fr/Pages/Solutions/Windo wsazure-platform.aspx. (Consult le 27/03/2014)
[Microsoft3] Microsoft. Web http://www.microsoft.com/france/visualstudio/scenarios/developper-pour-le-cloud.aspx (Consult le 27/03/2014)
[MOCHE-SAMSON, 2009] Aurlien MOCHE-SAMSON. Le Cloud Computing fondera-t-il les
architectures informatiques de demain. 2009. 55 pages. Travail ralis en vue de lobtention de
Mastre de recherche, 2008-2009 (Consult le 26/03/2014)
[Naugs, 2010] Louis Naugs. LEurope face aux dfis des infrastructures Cloud Computing. 24
Mars 2010. (Consult le 11/05/2014)
[Oracle] Oracle. Web : http://www.oracle.com/technetwork/systems/s3compatibility-139866.html
(Consult le 10/05/2014)
[Orange] Orange. Web: http://www.orange-business.com/fr (Consult le 09/05/2014)
[OpenNebula] OpenNebula. Web: http://opennebula.org/documentation:archives:rel2.2:sunstone
(Consult le 10/07/2014)
[OpenStack] OpenStack. Web: http://openstackdev.wordpress.com/ (Consult le 14/07/2014)
[Parisot,2011] Mathieu Parisot. Le cloud - les concepts de base. 13 Septembre 2011. Web:
http://blog.soat.fr/2011/09/le-cloud-13-les-concepts-de-base/ (Consult le 03/05/2014)
[PW, 2006] Pawel Plaszczak et Richard Wellner. Grid Computing: The Savvy Manager's Guide.
2005. San Francisco: Morgan Kaufmann, 2006. (Consult le 25/05/2014)
[Rackspace]

Rackspace.

Web:

http://www.rackspace.com/cloud/openstack/

(Consult

le

14/07/2014)
[Raynal, 2012] Juliette Raynal, Les 3 dernires tudes dcouvrir, 19 Novembre 2012. Le
Magazine des professionnels FrenchWeb (Consult le 16/03/2014)
[Rouse, 2005]

Margaret

Rouse.

m-commerce (mobile commerce), Septembre

2005.

SearchMobileComputing. (Consult le 15/03/2014)


[Rousset, 2010] David Rousset. Comment exposer une application WCF RIA Services dautres
clients : la migration vers Azure. 23 Dcembre 2010. (Consult le 29/03/2014)

Bibliographie
[ROQUES, 2002] Pascal Roques. Les Cahiers du programmeur UML : Modliser un site ecommerce. Edition 2002. (Consult le 17/07/2014)
[ROQUES, 2003] Pascal ROQUES, Franck VALLE. UML en action. In : De lanalyse des
besoins la conception en Java. Deuxime dition 2003. (Consult le 18/07/2014)
[Saba] Saba. http://www.saba.com/blogs/?p=2229 (Consult le 17/03/2014)
[Salesforce2] Salesforce.com. Web: http://www.salesforce.com/fr/platform/features.jsp (Consult
le 07/07/2014)
[Salesforce3] Salesforce. Web: http://www.salesforce.com/fr/platform/service-delivery/ (Consult
le 08/07/2014)
[Salesforce] Salesforce. Web: http://www.force.com/ (Consult le 07/05/2014)
[ScalesUp,2011]

Scales

Up.

Le

cloud

computing.

dcembre

http://www.scalesup.com/ressources/post/2011/12/01/Le-cloud-computing.aspx

2011.

Web

(Consult

:
le

02/05/2014)
[SelfGrowth] The online Self Improvement Community. Web:
http://www.selfgrowth.com/articles/how-mobile-cloud-computing-benefits-development-andusage-of-mobile-apps (Consult le 14/03/2014)
[Semel, 2006] Terry Semel. The Next Yahoo: Defining the Future. 2006. Analyst Day 2006
(Consult le 02/05/2014)
s.google.com/appengine/docs/python/runtime?hl=fr#Pure_Python (Consult le 23/03/2014)
[Soft32] Soft32. Web: http://s3-browser.soft32.com/ (Consult le 05/07/2014)
[SoftDeath, 2013] SoftDeath. Les services web. 8 Janvier 2014. Web:
http://www.siteduzero.com/informatique/tutoriels/les-services-web/l-annuaire-des-services-uddi
(Consult le 24/05/2014)
[Soueid] Toni Soueid. Grilles de calcul : Etat de lart. Juin 2003. 56 pages. Travail de diplme
ralis en vue de l'obtention du mmoire de recherche, cole nationale suprieure des
tlcommunications, 2003. (Consult le 28/05/2014)
[Talyana, 2012] Talyana C. Communaut francophone du cloud Computing In the cloud. 31 Mai
2012. (Consult le 10/05/2014)
[Vogel 88] Vogel C. Gnie Cognitif , Masson, 1988.
[W3C-WSA-Group, 2004] Hugo Haas, Allen Brown. Web Services Architecture. 11 Fvrier
2004. http://www.w3.org/TR/ws-gloss/

Annexes

Annexe A

Annexe A
Plateforme Google App Engine :
La cration d'une application App Engine est trs simple, et ne prend que quelques minutes.
Les tapes de cration sont prsentes comme suit :
1- Tout dabord, lutilisateur doit se connecter son compte Google App Engine via ladresse
suivante : https://appengine.google.com/.
Il introduit donc son adresse mail et son mot de passe, puis clique sur le bouton connexion

Remarque : Si lutilisateur ne dispose pas d'un compte Google, il peut tlcharger le SDK
App Engine et de dvelopper ses applications.
2- Une fois authentifi, lutilisateur sera redirig vers la page de validation du compte. A
partir de cette interface, il peut introduire son numro de tlphone et attendre larrive dun
code secret par SMS pour complter la cration du compte GAE.
Remarque : Un numro de tlphone portable donn ne peut tre utilis qu'une seule fois
pour la cration d'une instance AppEngine.

Annexe A
3- Ds que le numro de tlphone est confirm et que lutilisateur est connect, linterface "Create an
application" est affiche (Figure ci-dessous).

- Le champ Application Identifier contient lid de lapplication mettre dans le fichier


web.xml. LURL complte de votre application sera http://application-id.appspot.com/
- Le champ Application Title contient le titre de lapplication.

4 - Enfin, lapplication est cre et un message saffiche lutilisateur Application


Registered Successfully

Dploiement de lapplication sur Google App Engine :


Aprs avoir install lenvironnement de dveloppement, tout est prt pour quon commence
crer notre application App Engine.
Dans cette section, on va prsenter les tapes de dploiement de notre application MADS
Cloud sur la plateforme Google App Engine.
Cration du serveur App Engine :
Pour

crer

le

serveur

App

Engine,

il

suffit

de

connecter

sur

ladresse

https://appengine.google.com/ laide du compte Google. Une fois connect, linterface


intitule Create an application est affiche :

Annexe A

- Le champ Application Identifier contient lid de lapplication mettre dans le fichier


web.xml. LURL complte de lapplication sera http://application-id.appspot.com/
- Le champ Application Title contient le titre de lapplication.

Une fois lapplication cre, on va accder au tableau de bord contenant les diffrents
lments de lapplication

Cration de lapplication Web :


Pour crer une nouvelle application App Engine, on va utiliser le bouton et accder la
rubrique New Web Application Project .
Lorsque la fentre Create a Web Application souvre, on va:

Donner un nom notre premier projet : Dans notre cas AdsCloud

Donner un nom au Package : Pour notre projet com.riadi.ads

Annexe A

Cocher les cases Use Google App Engine et Generate project sample code

Dcocher la case Use Google Web Toolkit

Cliquer sur le bouton Finish.

La figure suivante indique la cration de lapplication Web sur lIDE Eclipse.

Configuration de lapplication :
Maintenant quon a cr notre projet App Engine, il faut configurer lapplication par le biais
du fichier appengineweb.xml qui se trouve dans le dossier war/WEB-INF . La
configuration consiste ajouter lid de lapplication cr prcdemment entre les balises
<application> </application>
Le fichier appengineweb.xml de notre application est le suivant:

Annexe A

Dploiement de lapplication :
Une fois termine, on va dployer le projet sur la plateforme de Google

Annexe B

Annexe B

Dtection de personnes avec JavaCV


La dtection de passagers est un domaine de la vision par ordinateur consistant dtecter un
humain dans une image numrique.
On sintresse dans ce tutoriel la dtection de personnes par la technique JavaCV (Java
Computer Vision) : cest une implmentation en Java de la librairie OpenCV. Elle permet de
raliser le traitement d'images - vido et elle dispose de plusieurs milliers de fonctions ddies.
Les utilisations typiques possibles sont :

Les traitements d'image de base ;

Les traitements de vido (reconnaissance et suivi d'objet,) ;

Les algorithmes d'analyse d'image (reconnaissance de lignes, de cercle) ;

La dtection de contour.

Installation de JavaCV et configuration des variables denvironnement


Les outils de dveloppement quon va utiliser sont :

Eclipse ;

JDK ;

JavaCV ;

OpenCV.

1. Tout dabord, il faut tlcharger tous ces outils


2. Extraire les fichiers compresss des Frameworks JavaCv et OpenCV sous C:\
3. Configurer les variables denvironnement : Cette configuration est schmatise par la figure cidessous.
Nom de la premire variable : CLASSPATH

Valeur de la premire variable:


C:\opencv\build\x86\vc10\lib;C:\opencv\build\common\tbb\ia32\vc10;C:\opencv\build\x86\vc10\staticlib;%CLASSPATH%

Nom de la deuxime variable : PATH

Valeur de la deuxime variable:

C:\opencv\build\common\tbb\ia32\vc10\;C:\opencv\build\x86\vc10\bin\;
La figure ci-dessous illustre la configuration des variables denvironnement

Annexe B

Cration du projet
Une fois la configuration effectue, vous devez crer un nouveau projet sur Eclipse et importez les
JARs (JavaCV & OpenCV) tlchargs. Il suffit donc daccder la rubrique Librairies > Add
External JARs

Annexe B

Cration du package package com.riadi.mads.opencv


Dans ce package on va crer tout dabord les classes ncessaires pour la dtection de
personnes.
A ce stade, il faut ajouter le fichier person_detector.xml qui contient les fonctions de dtection
et de comparaison de formes.
Une fois le fichier xml cr, on ajoute la classe HumainDetcor.java qui permet le comptage et
le traage des contours. Ci-dessous un extrait de cette classe :
public class HumainDetector {
public long count() throws Exception {
Loader.load(opencv_objdetect.class);
CvHaarClassifierCascade faceClassifier = loadHaarClassifier("/ApcCloud/war/PersonDetector.xml");
CvHaarClassifierCascade handClassifier = loadHaarClassifier("/ApcCloud/war/recognition.xml");
CvCapture capture = opencv_highgui.cvCreateCameraCapture(0);
opencv_highgui.cvSetCaptureProperty(capture,
opencv_highgui.CV_CAP_PROP_FRAME_HEIGHT, 320);
opencv_highgui.cvSetCaptureProperty(capture,
opencv_highgui.CV_CAP_PROP_FRAME_WIDTH, 480);
IplImage grabbedImage = opencv_highgui.cvQueryFrame(capture);
IplImage mirrorImage = grabbedImage.clone();
IplImage grayImage = IplImage.create(mirrorImage.width(),
mirrorImage.height(), IPL_DEPTH_8U, 1);
CvMemStorage faceStorage = CvMemStorage.create();
CvMemStorage handStorage = CvMemStorage.create();
CanvasFrame frame = new CanvasFrame("Object Detection Demo", 1);
while (frame.isVisible()
&& (grabbedImage = opencv_highgui.cvQueryFrame(capture)) != null) {
cvClearMemStorage(faceStorage);
cvClearMemStorage(handStorage);
cvFlip(grabbedImage, mirrorImage, 1);
cvCvtColor(mirrorImage, grayImage, CV_BGR2GRAY);
findAndMarkObjects(faceClassifier, faceStorage, CvScalar.GREEN,
grayImage, mirrorImage);
findAndMarkObjects(handClassifier, handStorage, CvScalar.BLUE,
mirrorImage, mirrorImage);
frame.showImage(mirrorImage);
}
frame.dispose();
opencv_highgui.cvReleaseCapture(capture);
return 0;
}

Annexe B

private static void findAndMarkObjects(CvHaarClassifierCascade classifier,


CvMemStorage storage, CvScalar colour, IplImage inImage,
IplImage outImage) {
CvSeq faces = cvHaarDetectObjects(inImage, classifier, storage, 1.1, 3,
CV_HAAR_DO_CANNY_PRUNING);
int totalFaces = faces.total();
for (int i = 0; i < totalFaces; i++) {
CvRect r = new CvRect(cvGetSeqElem(faces, i));
int x = r.x(), y = r.y(), w = r.width(), h = r.height();
cvRectangle(outImage, cvPoint(x, y), cvPoint(x + w, y + h), colour,
1, CV_AA, 0);
}
}
private static CvHaarClassifierCascade loadHaarClassifier(
String classifierName) {
CvHaarClassifierCascade classifier = new CvHaarClassifierCascade(
cvLoad(classifierName));
if (classifier.isNull()) {
System.err.println("Error loading classifier file \"" + classifier
+ "\".");
System.exit(1);
}
return classifier;
}
}