Académique Documents
Professionnel Documents
Culture Documents
Ddicace
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 de matire
Introduction ........................................................................................................................................... 1
Introduction
Introduction
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 :
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.
Suprieur,
de
la Recherche Scientifique
et
de
41 doctorants ;
42 Mastres.
Chapitre 1 : Gnralit
1. Objectifs:
Les objectifs spcifiques de recherche du laboratoire sont :
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) ;
2. Domaines:
Les domaines dans lesquels s'inscrivent les travaux du laboratoire sont :
Domaine des e-services de plus en plus prsent sur Internet tel que : le tlenseignement, le e-businesss, le e-commerce, etc ;
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.
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 :
Mesurer les variations de frquentation sur une zone donne (lieu public, centre
commercial) ;
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 :
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
Dans un centre commercial, lanalyse de flux de camra IP est essentielle car elle offre
plusieurs fonctionnalits pour les responsables marketing, et notamment :
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.
Pour les psychologues, la dcision peut tre assimile un certain type de comportement.
Chapitre 1 : Gnralit
les systmes supportant la conception des produits (calcul numrique, CAO, ...) ;
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).
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 ;
Produire des statistiques, en adressant au coup par coup des requtes une application
oprationnelle, est coteux en traitement ;
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 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
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.
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
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 :
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.
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 :
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).
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]
Fiabilit du rseau tel point que les utilisateurs transitent leurs informations
personnelles et bancaires sur le rseau ;
Avnement des rseaux sans fils dont le dveloppement est en plein essor.
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
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 :
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
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:
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 :
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) ;
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
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.
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 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 ;
Les avantages dont bnficient les fournisseurs de services cloud sont les suivants:
2. Inconvnients :
Cette partie, traite les limites de linformatique en nuage du ct client et du ct fournisseur.
a. Inconvnients du cot client :
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,
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] ;
Les cyber-attaques : ces attaques exploitent les failles logicielles et peuvent causer
des fuites de donnes, affectant des millions d'utilisateurs.
Les recommandations prendre en compte pour rduire les risques sont les suivantes :
Analyser les risques afin de dfinir les mesures de scurit mettre en place ;
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 :
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
< binding > : dfinit les protocoles de communication utiliss par le service Web
< services > : regroupe l'ensemble de ports
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 :
Les accs au service (Binding Template) : fournissent des informations sur le lieu
d'hbergement du service ;
Larchitecture type dun annuaire UDDI est illustre dans la Figure 2.10 ci-dessous :
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.
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 :
c. Inconvnients :
Il existe plusieurs limites ce que larchitecture des grilles peut accomplir dans un
environnement dentreprise. On peut citer :
La difficult de cration des applications qui marchent sur toutes les plateformes ;
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.
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
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
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.
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.
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] :
Lvolutivit automatique ;
La fiabilit et la scurit ;
Lhbergement conomique ;
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.).
Google App Engine permet de grer l'ensemble des applications dployes grce une
console dadministration. Parmi les fonctions disponibles dans cette console on notera :
17
JVM : Machine virtuelle Java qui permet dexcuter des programmes compils sous forme de bytecode Java. Elle assure l'indpendance du matriel et du
JRuby : http://jruby.org/
19
Scala : http://www.scala-lang.org/
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.
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.
Windows Azure ;
SQL Azure ;
.NET services ;
Live Services ;
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.
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).
20
21
Workflow : cest est la reprsentation d'une suite de tches ou oprations effectues par une personne.
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 :
En contrepartie, les contraintes que prsente cette plateforme sont les suivantes :
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.
22
NFS (Network File System) : cest un protocole qui permet un ordinateur daccder des fichiers via un rseau.
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 ;
Comme lindique la figure 2.18, la plateforme Eucalyptus fournit une interface Web
permettant aux utilisateurs deffectuer des oprations en libre-service.
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.
OpenStack Compute ;
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.
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
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
- 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
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 :
Fournisseur ;
Serveur type ;
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
- 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
Fournisseur
Type de
paiement
Google
Abonnement annuel par utilisateur
Microsoft
Abonnement mensuel par
utilisateur
Tarif
Caractristi
ques
principales
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.
Daprs ce tableau comparatif, on dduit que les solutions de type SaaS prsentent des
similitudes et des diffrences. Les points communs sont multiples, citons :
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
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) :
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 :
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 ;
La capture des besoins techniques, qui recense toutes les contraintes et les choix
dimensionnant la conception du systme ;
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 ;
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 :
Exploiter localement les donnes quotidiennes de comptage afin dtablir des analyses
marketing.
Ergonomie : http://developer.android.com/design/index.html.
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 ;
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.
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.
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.
6
7
Sorties
Figure 3-4 : Situation de la capture des besoins fonctionnelles dans 2TUP [ROQUES, 2003]
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)
Cas dutilisation
Grer camra
Consulter statistiques
Grer Compte
Sauthentifier
Camra :
Visualiser camra ;
Ajouter camra ;
Modifier camra ;
Supprimer camra.
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
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 :
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
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
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
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.
La figure 3.11 indique la situation de la capture des besoins techniques dans 2TUP.
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.
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 :
On a choisi galement les services Web REST (Representational State Transfer). Les
principales motivations pour ce choix sont :
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.
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-16: Diagramme de classe de conception pour le cas d'utilisation Visualiser Camra
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
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.
2. Diagramme de squence :
a. Diagramme de squence 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.
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.
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 :
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.
Chapitre 4 : Ralisation
Le choix de la version 4.0 de la plateforme Android se justifie par les raisons suivantes :
Les nouvelles fonctionnalits dIce Cream Sandwich en font un srieux prtendant sur le
march mobile et tablette.
Cest la seule offre actuelle dhbergement qui rpond notre besoin : pouvoir dployer
rapidement, facilement et presque gratuitement une application crite en Java ;
Chapitre 4 : Ralisation
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 :
Lajout des rgles, des commandes, des concepts et des attributs nos mthodologies de
modlisation et de codage ;
Chapitre 4 : Ralisation
b. Eclipse IDE :
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) :
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 :
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]
26
GWT (Google Web Toolkit) : cest un ensemble doutils logiciels dvelopp par Google.
Chapitre 4 : Ralisation
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.
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.
Chapitre 4 : Ralisation
c. Interface de Rcupration mot de passe :
d. Interface dauthentification :
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.
Cette fentre permet lutilisateur dafficher le flux vido des camras implantes sur
plusieurs sites distants.
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.
Lutilisateur du systme peut supprimer une ou plusieurs camras via cette interface. La
figure 4.9 prsente la fentre de suppression des camras.
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.
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).
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
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
Data Warehouse : Le terme Entrept de donnes dsigne une base de donnes utilise pour
John McCarthy :(n le 4 septembre 1927, Boston, Massachusetts) est le principal pionnier de
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
11
Glossaire
12
SLA (Service Level Agreement) : contrat dfinissant les engagements de l'hbergeur quant la
13
14
Une application native dsigne un logiciel tlcharger depuis un store (exemple : Google Play) et
16
17
19
20
Workflow : cest est la reprsentation d'une suite de tches ou oprations effectues par une
21
22
24
APK (Android Application Package) : Format de fichier utilis pour distribuer et installer
26
Bibliographie
Chapitre 7
Bibliographie
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]
Developers.13
Fvrier
2013.
Web:
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.
2005.
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).
crer
le
serveur
App
Engine,
il
suffit
de
connecter
sur
ladresse
Annexe A
Une fois lapplication cre, on va accder au tableau de bord contenant les diffrents
lments de lapplication
Annexe A
Cocher les cases Use Google App Engine et Generate project sample code
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
La dtection de contour.
Eclipse ;
JDK ;
JavaCV ;
OpenCV.
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
Annexe B