projet final-andoid-Jiun2013.doc

81
République Tunisienne 1.1.1.1.1.1.1.1 Université de Monastir Institut Supérieur d’Informatique de Mahdia Projet de fin d’études N° d’ordre: 23 Ministère de l’Enseignement Supérieur et de la recherche scientifique Projet Fin d’études Présenté à Institut Supérieur d’Informatique de Mahdia En vue de l’obtention De la Licence en (Technologie Réseaux Informatiques) Par Mlle. MERIEM TEKEYA & Mlle. SABRINE HADJ AMMAR CONCEPTION ET DÉVELOPPEMENT DUNE APPLICATION MOBILE SOUS LA PLATEFORME ANDROID Soutenu le 03/06/2013, devant la commission d'examen: Mr. ANIS HAJ SAID Président Mr. OMAR CHEIKHROUHOU Encadreur Mr. MOURAD KMIMECH Raporteur Rapport de Fin d’Etude

Transcript of projet final-andoid-Jiun2013.doc

Introduction

Chapitre I : Contexte et Problmatique Hadj Ammar Sabrine & Tekaya Meriam

PAGE

Rpublique Tunisienne1.1.1.1.1.1.1.1 Universit de MonastirInstitut Suprieur dInformatique de Mahdia

Projet de fin dtudesN dordre: 23

Ministre de lEnseignement Suprieur et de la recherche scientifique 1.1.1.1.1.1.1.1 1.1.1.1.1.1.1.2 1.1.1.1.1.1.1.3 1.1.1.1.1.1.1.4

1.1.1.1.1.1.1.5 1.1.1.1.1.1.1.6 1.1.1.1.1.1.1.7 1.1.1.1.1.1.1.8

Projet Fin dtudesPrsent Institut Suprieur dInformatique de MahdiaEn vue de lobtentionDe la Licence en (Technologie Rseaux Informatiques) ParMlle. MERIEM TEKEYA & Mlle. SABRINE HADJ AMMAR

Conception et Dveloppement dune application mobile sous la plateforme android

Soutenu le 03/06/2013, devant la commission d'examen: Mr.ANIS HAJ SAIDPrsident

Mr.OMAR CHEIKHROUHOUEncadreur

Mr.MOURAD KMIMECHRaporteur

Anne universitaire 2012/2013DdicaceJe ddie ce projet:A ma chre mre,A mon cher pre,Qui n'ont jamais cess, de formuler des prires mon gard, de me souteniret de m'pauler pour que je puisse atteindre mes objectifs.A mes frres Ahmed, Med Aziz et Med Ali,A ma chre sur et son mari,Pour ses soutiens moral et leurs conseils prcieux tout au long de mes tudes.A mon cher grand-pre,Qui je souhaite une bonne sant.A ma chre binme Meriam,Pour sa entente et sa sympathie.AAymenTekaya et Melik Ben Salem,Pour leurs indfectibles soutiens et leurs patiences infinies.A mon cher Omar,Qui ma aid et support dans les moments difficiles.A mes chres ami(e)s Imen, Selma, Hamdi, Rabiaa et Houssem,Pour leurs aides et supports dans les moments difficiles.A toute ma famille,A tous mes autres ami(e)s,A tous ceux que jaime et ceux qui maiment.Sabrine Hadj AmmarDdicaceJe ddie ce projet:A ma chre mre,A mon cher pre,Qui n'ont jamais cess, de formuler des prires mon gard, de me souteniret de m'pauler pour que je puisse atteindre mes objectifs.A mes frres Anis, Aymen et Sami,A mes chres Sihem et Oumayma ,Pour ses soutiens moral et leurs conseils prcieux tout au long de mes tudes.A ma chre binme Sabrine,Pour sa entente et sa sympathie.AAymenTekaya et Melik Ben Salem,Pour leurs indfectibles soutiens et leurs patiences infinies.A mon cher Saddam,Qui ma aid et support dans les moments difficiles.A mes chres ami(e)s Imen, Selma, Hamdi, Rabiaa et Houssem,Pour leurs aides et supports dans les moments difficiles.A toute ma famille,A tous mes autres ami(e)s,A tous ceux que jaime et ceux qui maiment.MariemTekayaRemerciementsNous sommes trs reconnaissants envers tous ceux qui, par leurscomptences scientifiques et leurs qualits humaines, ont contribu au bon droulement de ce mmoire.Nous exprimons toute notre reconnaissance Mr.HajSaid Anis, davoir bien voulu me faire lhonneur de prsider le jury de ce mmoire.Nous adressons nos sincres remerciements Mr.Kmimech Mourad, membre de jury, pour avoir accept dtre le rapporteur de ce manuscrit.Nous tenons remercier tout dabord Mr.CheikhrouhouOmar ,pour ses valeureux conseils et pour la confiance et la sympathie quil nousa accorde en acceptant de nous encadrer et quil nous a tmoigne au cours de ce projet de Fin dtudes.Nous tenons aussi exprimer notre profonde reconnaissance Mr. Ben SelemMelik et Mr. TekayaAymen pour ses conseils, ses commentaires prcieux et le suivi de ce travail.Sommaire

Introduction gnrale1Chapitre 1 Contexte et Problmatique31. Cadre de projet et problmatique41.1. Cadre du projet41.1.1. Prsentation de la socit41.1.2. Cahier de charge41.1.3. Outils utilises51.1.4. Le serveur web51.2. Problmatique52. Etude de lexistant63. Objectifs6Conclusion7Chapitre 2 Etat de lart81.Internet mobile92. Technologie de tlphonie mobile92.1. Technologie 3G92 .2. Technologie 3G+92 .3. Technologie 4G92.4. Smartphone103. Systme dexploitation mobile103.1. Les diffrents systmes dexploitation sur le march103 .2. Partition du march entre les SE134.Le systme dexploitation Android144.1. Dfinition et historique144.2. Les versions de lAndroid144.3. Architecture logicielle154.4. Kit de dveloppement175.La Golocalisation186.La scurisation des communications196.1. La dfinition du protocole HTTPS196.2. Les objectifs de scurit assurs19Chapitre 3 Analyse et Conception211.Identification et analyse des besoins221.1. Identification des besoins221.1.1. Les besoins fonctionnels221.1.2. Les besoins non fonctionnels231.2. Analyse des besoins231.2.1. Cas dutilisation relatif ladministrateur231.2.2. Cas dutilisation relatif visiteur241I.3. La description dtaille des cas dutilisation251.3.1. Scnario du cas dutilisation "consulter les endroits"251.3.2. Scnario du cas dutilisation "grer la liste des lieux"262.Conception dtaille302..1. Les diagrammes de squence302.1.1. Diagramme de squence du scnario "grer la liste des lieux"312.1.2. Diagramme de squence du scnario "consultation des endroits"333. Diagramme de classe35Chapitre 4 Ralisation371.Environnement de dveloppement381.1. Installation des outils381 .2.Paramtrage dEclipse et installation du plugin ADT381.3. Tlchargement des diffrents composants dAndroid SDK391.4. Cration dun AVD401.5. Bibliothques externes411.6. Fichier source dun projet411.6.1. Java411.6.2. XML411.7. Intgration de Google Map422.Persistance de donne432.1. Modle logique du systme dinformation432.2. Le modle physique du systme dinformation433.Rsultats obtenus44Conclusion46

LISTE DES FIGURES

Figure 1. Les parts de march des systmes d'exploitation mobile pour les annes 2011 et 201413Figure 2. La part de chaque version d'Android15Figure 3. Architecture logicielle de l'Android15Figure 4. Diagramme de cas dutilisation relatif ladministrateur24Figure 5. Diagramme de cas dutilisation relatif visiteur25Figure 6. Cas dutilisation "consulter les endroits"25Figure 7. Scnario du cas dutilisation "consulter les endroits"26Figure 8. Cas dutilisation grer la liste des endroits27Figure 9. Scnario pour le cas Ajouter un lieu28Figure10. Scnario pour le cas modifier un lieu29Figure11. Scnario pour le cas supprimer un lieu30Figure12. Diagramme de squence du scnario dajout dun lieu31Figure13. Diagramme de squence du scnario de modification dun lieu32Figure14. Diagramme de squence du scnario de suppression dun lieu33Figure15. Diagramme de squence du scnario de consultation des endroits34Figure 16. Diagramme de classe35Figure 17. URL Plugin38Figure 18. Liste des targets39Figure 19. Android SDK AVD Manager39Figure 20. Liste des AVD cres40Figure 21. Rcupration du cl MD5 pour Google MAP42Figure 22. Obtention de la cl API43Figure 23. Interface d'accueil de l'application44Figure 24. Lapplication cot Administrateur45Figure 25. Partie dapplication cot touriste46

Liste des tableaux

Tableau 1 Une comparaison entre les systmes dexploitation mobile.12Tableau 2.Les versions de lAndroid14Tableau 3. Cas dutilisationconsulter les endroits26Tableau4 . Cas dutilisation Ajouter un lieu27Tableau 5. Cas dutilisation modifier un lieu28Tableau 6. Cas dutilisation supprimer un lieu29

LISTE DES ABREVIATIONSWAP:Wireless Application Protocol

UMTS:Universal Mobile Telecommunications System

HSDPA:High Speed, Downlink Packet AccessLTE:Long Team EvolutionWIMAX:Worldwide Interoperability for Microwave AccessGPS:Global Positioning SystemOS: Operating System

IOS: Internetwork Operating System

RIM: Research In Motion

VB: Visual Basic

IDC: International Data Corporation

OHA: Open Handset Alliance

SDK: Software Development Toolkit

API: Application Program Interface

AVD: Android Visual Device

HTML: Hypertext Markup Language

HTTPS: Hypertext Transfer Protocol Secured

HTTP: Hypertext Transfer Protocol

XML:eXtensible Markup Language

SGML: Standard Generalized Markup Language

SGBD:SystemManagementDatabasesIntroduction gnraleDe nos jours, linternet domine le monde en lanant de nouvelles technologies qui ont impos lutilisateur de suivre le rythme de son dveloppement. En plus, le mobile fait une partie intgrante de notre vie et nous voyons mme certains de nos compres souffrir du syndrome de monophonie (la peur dtre spare de son tlphone mobile).Depuis quelques annes, le march de tlphone portable connat une volution technologique, surtout depuis quApple a lanc son i Phone. Il a chang la manire dont nous voyons le tlphone mobile. Cependant, un nouveau concurrent se prsente face li Phone : Androde en 2008. Daprs les rapports de Digital Marketing & Media Research Firm eMarketer, Androde OS dpassera Apple pour atteindre la premire loge parmi les OS mobiles d'ici 2012. En plus, avec larrive dInternet les activits touristiques ont constitu un changement depuis quelques annes ce qui a permis la possibilit d'tendre leurs activits. Les voyageurs utilisent le web pour planifier leurs voyages en effectuant plusieurs oprations telles que la rservation de leur vol et de leur htel. Mais ds quil se situe dans un endroit inconnue o il a besoin dinformation, tel que trouver des place de loisir proximit (restaurants ou caftrias), ou communiquer avec son rseau social, etc, il aurait besoin dun service plutt sur son mobile.Le nombre de mobinautes et tablanautes augmente sans cesse travers le monde. Actuellement, 500 millions de personnes dans le monde utilisent internet comme service mobile et ce nombre sera tripl 2013 grce au Smartphones.Les Smartphones peuvent tre considrs comme des ordinateurs de poche intgrs un tlphone mobile, un Smartphone permet gnralement l'utilisateur d'installer et d'excuter des applications plus avances. Les smartphones sont des tlphones intelligents nous permettant de surfer sur internet, envoyer et recevoir des e-mails, grer notre agenda, messagerie instantane, GPS, accs Wi-Fi, jeux, musique, vidos. Nous pouvons personnaliser nos usages avec le tlchargement dapplications. La plupart des tlphones mobiles vendus sont des Smartphones : iPhone, BlackBerry, HTC, LG, Samsung.

De plus, lindustrie touristique se situe aux premires loges pour bnficier de cette rvolution de linternet mobile et des tlphones intelligents. En effet, Les technologies mobiles ont profondment modifis notre rapport linformation mais surtout son accessibilit. Pour le touriste, ce qui prvaut cest un mode de consommation de linformation en situation. Les recherches locales sur mobile ont par exemple t multiplies par 15 entre 2007 et 2008 dclare Vincent Herman, Fondateur de Nexence.Associ la golocalisation, le tourisme mobile propose aux utilisateurs de tlphone portable de se situer sur une carte dans la ville ou on se trouve. Le service comprend non seulement la golocalisation en temps rel, mais galement, des informations sur la ville et ses centres dintrts (muses, parcs, monuments, vnements culturels ou artistiques du moment, etc): un vrai guide touristique. Loriginalit est quil permet lutilisateur de personnaliser son guide selon sa localisation.

Le travail effectu a fait lobjet de quatre chapitres. Le premier chapitre prsente le cahier de charge. Le deuxime chapitre prsente les technologies utilises pour le dveloppement de notre application. Le troisime chapitre dtaille la phase danalyse et de conception laide des diagrammes dUML. Le quatrime chapitre porte sur la ralisation, expose lenvironnement de dveloppement ainsi que les rsultats. Enfin, nous prsentons une synthse ainsi que les perspectives en raison damliorer les performances de lapplication.

1. Cadre de projet et problmatique1.1. Cadre du projet

1.1.1 . Prsentation de la socit

Tout acquis, informations ou connaissances, ne peuvent tre vrifis et concrtiss que sur le plan pratique et professionnel. Ainsi, lISIM@ offre ses tudiants une opportunit de prparer un projet de fin dtudes dans lindustrie. Dans ce cadre, nous avons ralis notre projet de fin dtudes au sein de la socit Smart Vision pendant la priode du 18 fvrier 2013 au 11 mai 2013. Ce projet vient complter notre formation scientifique et technologique et amliorer nos comptences dans un environnement industriel rel. Ce chapitre a pour objectif de situer notre sujet dans son contexte gnral. Nous commenons par une prsentation de la socit daccueil Smart Vision. Ensuite, nous dcrivons brivement le sujet traiter et les objectifs atteindre, ainsi que la mthodologie de travail adopte.

Smart Vision est une socit de services informatiques spcialise dans le dveloppement des nouvelles technologies de linformation et de la communication. Loriginalit de lapproche de Smart Vision consiste dans sa proximit avec ses clients europens par le biais de son antenne commerciale en France et de sa comptitivit grce la structure et ses couts et son quipe dingnierie comptant 45 ingnieurs et techniciens base en Tunisie. La socit Smart Vision a vu le jour le 04 Janvier 2006, prenant comme sige un des bureaux de la Technopole de Sousse.Smart Vision a dvelopp une expertise dans les domaines suivants:

Web 2.0 et applications e-commerce. Applications mobiles et embarques. Conseils et formation lintgration des systmes

1.1.2 . Cahier de charge

Cette application pour but de satisfaire le besoin de:1) Visiteur (client) qui peut consulter les pages publiques.

2) Ladministrateur qui gre le site en ligne.Tous les internautes peuvent accder au site quil est publique et ne requiert pas une authentification.

Un clientpeut grer son profil et aussi sa localisation. Ladministrateurpeut grer les listes des visiteurs, leurs catgories ainsi que la localisation de leurs endroits.

1.1.3 . Outils utilises

Pour cre une application, nous avons utilis Eclipse qui est la version la plus rcente du projet de niveau suprieur, et open source qui nous permet de crer des applications mobiles utilisant des API web standard pour les plates-formes qui nous intressent. Il contient ce dont vous avez besoin pour crer des applications bases sur la technologie Eclipse, y compris les environnements intgrs de dveloppement (IDE), et les applications clientes riches en utilisant la plate-forme Eclipse Rich Client (RCP). L'Eclipse classique fournit dition Java de qualit suprieure avec la compilation incrmentielle, la prise en environnement de dveloppement (PDE), le code source complet de la plate-forme Eclipse, et bien plus encore [1].1.1.4 . Le serveur web

Cest un protocole de transfert de fichier (essentiellement au format http) localis grce une chaine de caractres appele URL entre un navigateur (le client) et un serveur Web.

WampServer: Cest une plate-forme de dveloppement Web sous Windows pour des applications Web dynamique laide de serveur Apache2, du langage script PHP et dune base de donnes MySQL. Il possde galement PHPMyAdmin pour grer plus facilement vos bases de donnes [2]. Parmi ces avantages, nous pouvons citer: Il est gratuit.

Son utilisation est simple, on shabitue rapidement avec son interface. Il dispose de nombreuses fonctionnalits avances. Son seul inconvnient est la complexit pour envoyer des mails avec le logiciel.1.2. Problmatique

La vulgarisation dinternet a permis aux professionnels du tourisme dtendre leurs activits et de dvelopper diffrents concepts. Le tourisme lectronique a dfinitivement trouv sa place sur le web. Toujours dans le but de satisfaire et de faciliter la vie des consommateurs de produits touristiques, un nouveau concept est n: le tourisme mobile ou m-tourisme.

Associ la golocalisation, le tourisme mobile propose aux utilisateurs de tlphone portable de se localiser sur une carte ou sur un plan laide de ses coordonnes, golocalisation rel ou en diffr. La golocalisation fait dsormais partie de fondamentaux dans le tourisme. Les touristes ont besoin de ce type dentre pour prparer leur sjour : itinraire, les endroits visiter (muses, restaurants, magasins) proximit des lieux de sjour. De ce fait, le dveloppement dune application mobile servant comme guide touristique est trs prometteuse.

Pour bnficier dune telle application, il faut avoir accs la technologie internet 4G. Sur lchelle nationale, la technologie internet 4G est lance avec loperateur Tunisie Tlcom partir de 2013.

2. Etude de lexistantLinternet participe aujourdhui notablement lvaluation, au choix, aux dcisions spontanes dachat de produits au de prise dinformations touristiques. En effet, le-tourisme a permis ce secteur de profiter de la possibilit dhbergement de rservation, de payement ainsi que de diffusion des spots publicitaire.

Les technologies mobiles font parti de la nouvelle mutation de tourisme. En effet, avec cette technique, nous aurons la possibilit en temps rel daccder aux informations et services touristiques grce un systme de communication sans fil, bas sur les tlphones mobiles. Le but de notre travail est de faciliter laccs au donnes des emplacements en utilisant la possibilit de golocalisation et la cration de base de donnes des lieux (cafs, restaurants, parking, etc). Cette application permet aux utilisateurs de consulter et dafficher les endroits les plus proches de leurs emplacement actuels ainsi que de crer des comptes utilisateurs permettant denregistrer les lieux plus visits et les favoris.3. ObjectifsLapplication T_Guide dvelopper doit fournir les services suivants:

Permet lutilisateur soit visiteur, soit administrateur de sinscrire au sein de lapplication.

Permet aux utilisateurs de grer leurs comptes.

Visualiser la position actuelle de touriste sur une Map et tous les endroits au coin.

Consulter les informations dtailles relatives lendroit dj slectionn.

Grer la liste des favoris des endroits.

Consulter la liste des promotions relatives lendroit au coin.

Grer la liste des commerces pour les propritaires.

Grer la liste de promotions offertes par les propritaires.

Rserver une place dans un endroit choisi.

Confirmer les demandes de rservation dj dlivr par les touristes.

Permettre ladministrateur de grer la liste des endroits qui se trouvent dans la base de donnes avec leurs promotions sils existent.

Conclusion

Ce chapitre constitue une prsentation gnrale du sujet ainsi que les objectifs atteindre en dveloppant cette application.

Avant dentamer le dveloppement de lapplication, nous allons prsenter quelques lments dinitiation en liaison avec notre projet (Internet mobile, Android, etc). Pour cela, nous commenons par dfinir lInternet mobile, le systme dexploitation mobile en dtaillant celui dAndroid, systme dexploitation avec lequel on a dvelopp notre application. Enfin, nous dfinissons la scurisation des communications et des protocoles.

1. Internet mobile

Linternet mobile est diffrent de linternet fixe travers les ordinateurs. Cette distinction se constitue dans lergonomie des sites web qui doit respecter laffichage sur des petits crans. La technologie WAP (Protocole d'application sans fil) a permis davoir un service Internet pour les mobinautes. Mais en raison des ressources limites des ces appareils cette priode ont empch la diffusion de cette technologie.

Maintenant avec les nouvelles normes de technologie detlphone mobile, le nombre de personnes dans le monde utilisant lInternet comme service mobile atteint 2 milliards [3].2. Technologie de tlphonie mobile

2.1. Technologie 3G

Nomme aussi "technologie de troisime gnration", elle est devenue disponible au public depuis 2002 et elle se base sur la norme de communication UMTS (Systme de tlcommunications mobiles universelles). Elle peut atteindre un dbit gal 2 Mbps (244Ko/s) partir d'un lieu [4].2.2. Technologie 3G+

La 3G+ est une technologie qui permet dchanger les donnes de faon plus rapide et dans des tailles plus importants grce lassociation simultane dessystmes HSDPA (High Speed, Downlink Packet Access) jusqu 3 5 fois plus rapide que les technologies prcdentes. La 3G+ amne une meilleure connexion Internet en mobile [5].2.3. Technologie 4G

La 4G est le terme utilis pour dsigner la prochaine vague de technologies mobiles haut dbit qui seront utiliss pour remplacer les rseaux 3G actuels. Les deux principaux prtendants sont LTE (Long Term Evolution) et WiMAX (Worldwide Interoperability for Microwave Access) [6].3. Smartphone

Cest untlphone mobiledisposant des performances proches de lordinateur. Par rapport aux tlphones standards, les Smartphones ont gnralement des crans plus larges et des processeurs plus puissants .La saisie des donnes se fait par le biais d'un cran tactile ou d'un clavier. Il fournit des fonctionnalits basiques comme: l'agenda, le calendrier, la navigation sur le web, le messagerie instantane et ainsi le GPS (Systme de localisation du vhicule par satellites) [7].

Il dispose dun OS (systme d'exploitation) embarqu pour lexploitation de ces capacits: mmoire, le processeur, le capteur, etc.

4. Systme dexploitation mobile

Le systme d'exploitation mobile est unsystme d'exploitation conu pour fonctionner sur unappareil mobile. Pour le faire, il faut quil soit non seulement robuste mais suffisamment flexible pour effectuer des tches qui dpassent le champ que lon connat dans la micro-informatique. Cela revient la richesse du monde mobile. En plus, le Smartphone comporte beaucoup plus de dfis que les stations de travails fixes. Ce type de systme d'exploitation se concentre entre autres sur la gestion de la connectivit sans fil et celle des diffrents types d'interface [8].

4.1. Les diffrents systmes dexploitation sur le march

Il existe sur le march des dizaines de systmes d'exploitation diffrents:Symbian OSdeNokia,iosdApple,BlackBerry OSdeRIM, Windows PhonedeMicrosoft,Palm webOS, Bada deSamsung et Androidde Google.

Symbian OSLe Symbian OS est dvelopp par la socit ponyme qui est une proprit exclusive de Nokia. Bien que cette plateforme soit cre par la participation de plusieurs fabricants tels que Samsung ou Sony Ericsson, ce systme est fortement connot Nokia, ce qui est un frein son adoption par dautres constructeurs. Il est rcemment pass en open source. Cest un systme libre, open source se base sur un noyau Symbian. IosIOS (Internetwork Operating System), qui tait nomm iPhone OS, se trouve non seulement sur les diffrents gnrations de iPhone mais galement sur dautres produits de Apple iPadet iPod touch. Il est driv deMac OS X dont il partage les fondations: kernel, les services Unix et Cocoa. Pour Apple, le succs est considrable : dbut 2009, il ny avait pas moins de 5 millions de tlchargements par jour. Donc, il sagit du concurrent numro un pour Android. BlackBerry OSLe systme d'exploitation BlackBerry est la plate-forme exclusive mobile dvelopp par RIM (Research In Motion ) exclusivement pour ses Smartphones BlackBerry et les appareils mobiles. RIM utilise ce systme d'exploitation pour soutenir des fonctions spcialises, notamment le trackball de la marque, molette, le trackpad et l'cran tactile. Windows PhoneWindows Mobile, WiMo pour les intimes, est lOS (systme d'exploitation) mobile de Microsoft. Cest une volution de Windows Pocket PC, anctre de Windows CE. Cet OS a russi au fil des annes soctroyer une part de march honorable. Son succs est d son affiliation la famille dOS Windows, ultra-dominante sur le bureau. Un autre avantage souvent cit est la facilit de dveloppement apporte grce lenvironnement cliquodrome de Visual Studio qui a su faire venir au dveloppement mobile les dveloppeurs VB (Visual Basic).

Palm webOSIl y a quelques annes, Palm a mme cd aux sirnes de Windows Mobile en proposant certains de ses appareils sous lOS de Microsoft. Palm avait cess dinnover et devrait ragir face aux assauts dApple et de Google.

Symbian OSIosBlackberryWindows PhonePalm webOSAndroid

Langage de programmationC++Objective-CJavaC, C++HTML,

CSS, JavaScript,

JSON, etc.Java

gratuitIntgr XcodeGratuitGratuitGratuitGratuit

Disponibilit de lenvironnement de dveloppementCarbide.C++XcodeJDEVisual Studio, eMbeddeb VC++Eclipse, CodeWarrior, PocketStudio, HB++Eclipse, Netbeans

Multiplate-forme de dploiementSamsungiPhone, iPode touch, iPadBlackberry seulementWindows Mobile, Windows CEPalm OS Palm, Windows MobileAndoid seulement

Cout doutils de dveloppementgratuitgratuit

GratuitGratuitGratuit et commercialGratuit

Magasin en

LigneOvi StoreApp StoreApp WorldWindows

Market

PlaceApp catalogAndroid

Market

Open sourceOuiNonOuiNonNonOui

ConstructeurNokiaAppleRIMMicrosoftPalmGoogle

Tableau 1. Une comparaison entre les systmes dexploitation mobile4.2. Partition du march entre les SE

Daprs la publication dIDC (International Data Corporation), la plateforme Android de Google avoir 39,5% du march mondial des Smartphones, contre 15,7% pour les IPhone dApple. Loin devant Symbian de Nokia, qui reprsenterait 20,9% du march la fin de lanne, daprs linstitut IDC.

Figure 1. Les parts de march des systmes d'exploitation mobile pour les annes 2011 et 2014En 2015, la plateforme Android de Google devrait avoir 45,4% du march mondial des Smartphones, contre 15,3% pour les IPhone dApple, 13,7 % pour BlackBerry OS et 20,9 % pour Windows Phone7, daprs linstitut IDC.

Daprs une autre tude mene par IDC, on a montr que l'OS Android confortera sa place de leader du march des systmes dexploitation mobiles l'horizon 2015. Ainsi, il s'octroiera plus de 45% de part de march. A l'inverse, l'OS Symbian pourrait quasiment disparatre du paysage en 2015, date laquelle le systme de Nokia ne conserverait que 0,2% de part de march.

IDC indique enfin que le march mondial des Smartphones devrait connatre une croissance en 2015, soit plus du double de ce qui est espr pour lanne 2011 (472 million).5. Le systme dexploitation Android

5.1. Dfinition et historique

Androidest un systme dexploitation Open Source pour Smartphones [9],PDA (Personal Digital Assistant) et terminaux mobilesconu parAndroid, une startup rachete parGoogle, et annonc le 15novembre2007. Le termeAndroid fait rfrence au nom androde qui dsigne un robot construit limage dun tre humain.

Afin de promouvoir ce systme ouvert, Google a su fdrer autour de lui une trentaine de partenaires runis au sein de l'OHA (Open Handset Alliance).En fait, plus de 50 entreprises ont particip l'OHA, Qualcomm, y compris, Broadcom, HTC, Intel, Samsung, Motorola, Sprint, Texas Instruments et le japonais KDDI transporteurs sans fil et NTT DoCoMo.Le T-Mobile G1, a t annonc le 23 Septembre 2008, et a t le premier Smartphone Android OS pour tre officiellement introduit sur le march.

5.2. Les versions de lAndroid

La rpartition des diffrentes versions Android est reprsente dans le tableau suivant:VersionNomAPI LevelDistribution

1.5Cupcake30.2%

1.6Donut40.5%

2.1Eclair74.2%

2.2Froyo815.5%

2.3 2.3.2Gingerbread90.3%

2.3.3 2.3.71060.3%

3.1Honeycomb120.5%

3.2131.8%

4.0 4.0.2Ice Cream Sandwich140.1%

4.0.3 4.0.41515.8%

4.1Jelly Bean160.8%

Tableau 2. Les versions de lAndroid

Cest les derniresstatistiquesqui datent du janvier 2013concernant la rpartition des diffrentes versions Android.

Figure 2. La part de chaque version d'AndroidLa figure 2 est base sur le nombre d'appareils Android qui ont accd au Google Play, dans un dlai de 14 jours se terminant la date de la collecte des donnes ci-dessous.

Nous avons la grande proportion de terminaux qui sont quips par la versionAndroid 2.3 qui est toujoursleader avec 45,6%, on peutsapercevoiraussi que la versionAndroid 4.0prend une bonne proportion du march avec 29%. Les autres versions restent anecdotiques avec 1,3% pour Honeycomb(Android3.x), 2,2% pourEclair(Android2.1) et 0,2% pourDonut (Android1.6).5.3. Architecture logicielle

Figure 3. Architecture logicielle de l'AndroidLa Figure 3 illustre larchitecture logicielle de lAndroid en lui compos en plusieurs couches. La plate-forme Android est compose de diffrentes couches:

Linux Kernel

LAndrodese fondsurlaversion2,6deLinuxpour desservices systmedenoyauxtels quelesystme descurit,la gestion demmoire, la gestion de processus industriel,le rseauetle modle de pilote. Lenoyauagitsurlacouche d'abstractionentrelematrieletle logiciel. Librairies

Au-dessus du noyau kernel, proprement dit, se loge un ensemble de librairies natives constituant les couches bases du systme. Ces librairies sont crites en C/C++ et utilises par les diffrentes composantes du systme Android. Android Runtime

LAndroid inclut un ensemble de bibliothques de base qui fournit la plupart des fonctionnalits disponibles dans les bibliothques de base du langage de programmation Java. Les applications sexcutent chacun dans son propre processus.Une application sous Android sexcute dans son propre processus, avec son propre instance de machine virtuelle Dalvik. Ce dernier excute des fichiers avec lextension " .dex " qui est optimis pour une empreinte mmoire minimale. Le VM Dalvik s'appuie sur le noyau Linux pour les fonctionnalits de base telles que la gestion de la mmoire de bas niveau.

Application Framework

Les dveloppeurs ont un accs complet l'API.L'architecture d'application est conue pour rendre la rutilisation des composants plus simple. En fait, chaque application peut publier ses capacits et dautres applications peuvent alors faire usage de ces capacits. Toutes les applications sous-jacentes sont un ensemble des services et des systmes. Applications

Android sera livr avec un ensemble d'applications de base, dont un client de messagerie, le programme de SMS, calendrier, cartes, navigateur, Contacts, et d'autres.Toutes les applications sont crites en utilisant le langage de programmation Java.5.4. Kit de dveloppement

Exploiter une nouvelle plate-forme nest jamais t une chose aise. Cest pourquoi Google fournit, en plus du systme dexploitation, un kit de dveloppement (Software Development Toolkit ou SDK). Ce SDK est un ensemble doutils qui permet aux dveloppeurs et aux entreprises de crer des applications. Il est disponible gratuitement sur le site de Google. Le SDK Android est compos de plusieurs lments afin daider les dveloppeurs crer et maintenir des applications : Des outils;

Des exemples de code;

De la documentation;

Des API (interfaces de programme dapplication).

Les outils

Le SDK est livr avec un certain nombre doutils couvrant diffrents aspects du cycle de dveloppement dune application Android. Le kit de dveloppement propose une bote outils complte pour les tches de compilation, de dbogage, de gnration de code AIDL et de la signature de lapplication, etc.

Lmulateur Android: cest un tlphone virtuel qui permet de tester les applications qui sont entrain de se dvelopper. Il est lanc par la commande "emulator ". Celle-ci prend en paramtre limage AVD (Android Virtual Device) qui sera monte en mmoire. Il a des limitations par exemple : il nest pas capable de supporter le Bluetooth ainsi quil ne permet pas le teste des applications de ralit augmente.Les APIAndroid offre plusieurs API (Application Program Interface) tel que: Google Maps: intgre et contrle laffichage dune carte dans une interface graphique de lapplication.

Golocalisation: permet daccder au service de localisation du systme, de choisir le fournisseur en fonction des critres et de prciser la position actuelle du tlphone (latitude, longitude, vitesse, etc.).Les exemples de codeLe kit de dveloppement est accompagn dun certain nombre dexemples illustrant les possibilits du SDK Android. Parmi ces exemples, on peut citer : un jeu du serpent et le projet qui couvre lutilisation de plusieurs exemples de lAPI Android comme les alarmes, les notifications et les menus.La documentationLa documentation du SDK Android est scinde en deux parties bien distinctes :

Le guide du dveloppeur qui est disponible en HTML (Hypertext Markup Language) dans le rpertoire du SDK quon vient dinstaller;

La documentation des API au format javadoc est galement situe dans le rpertoire docs et accessible grce au chemin dbutant du rpertoire dinstallation.6. La Golocalisation

Parmi les fonctionnalits les plus apprcies sur les plates-formes mobiles modernes, la golocalisation permet de raliser des applications innovantes. Grce Google Maps notamment, elle est au cur dAndroid [10].

Le service de golocalisation rcupre les coordonnes de lutilisateur et les envoie pour la ralisation un service informatique. A chaque fois, il demande lautorisation de lutilisateur avant la ralisation de cette opration. Seules les informations concernant la latitude et la longitude sont envoyes.La localisation du mobile se fait selon plusieurs technologies comme: GPS: il s'effectue par la rception de signaux provenant de plusieurs satellites qui se trouve en orbite. Le tlphone mobile quip d'un GPS permettra de transmettre sa position via un rseau SMS, GPRS, Edge ou UMTS.

Internet: La prcision de la localisation par adresse IP sur le rseau internet se situera au niveau d'un pays, d'une ville ou d'un quartier selon l'oprateur (national ou local). Cependant, au sein d'un rseau ADSL d'un mme oprateur, la golocalisation peut tre trs prcise (adresse ou btiment par exemple) si les lieux des connexions sont enregistres dans une base de donns.

Wifi: La localisation est similaire au cas du rseau GSM ou IP, par les cellules mettrices, avec une prcision infrieure 100 mtres.Une triangulation entre plusieurs antennes Wifi peut donner la position avec une prcision d'environ 5m par l'analyse de la puissance du signal radio reu de l'appareil.

GSM: il est bas sur le code unique de la carte SIM. La connexion au rseau est autorise aprs une identification une cellule composant le rseau GSM. La prcision dpend de l'tendue de la cellule, de 250 mtres en zone urbaine 10 km en zone rurale.7. La scurisation des communications

Pour assurer une communication scurise entre le client et le serveur, il est obligatoire utiliser des protocoles de cryptage. On trouve aussi des protocoles de communication qui garantissent la scurisation du canal de transport des donnes comme HTTPS (HyperText Transfer Protocole Secured).7.1. La dfinition du protocole HTTPS

"HyperText Transfer Protocole Secured" (HTTPS) est un protocole de transfert hypertexte scuris qui a t dvelopp par Netscape [11].Il correspond une version scurise du http (HyperText Transfer Protocole). Le HTTPS rpond aux diffrents problmes de confidentialit que protocole http a connu.L'ide principale de HTTPS est de crer un canal scuris sur un rseau non scuris et dassurer une protection raisonnable contre les oreilles indiscrtes condition que les suites de chiffrement adquat soient utilises et que le certificat de serveur soit vrifi et approuv.7.2. Les objectifs de scurit assurs

Le protocole HTTPS fournit les objectifs de scurit suivants: L'authentification en permettant l'assurance de l'identit du programme, de la personne ou de l'entreprise avec laquelle on communique.

Laconfidentialit des donnes changes: Il est impossible d'espionner les informations changes.

L'intgrit des donnes changes: Il est impossible de truquer les informations changes.

La spontanit : la connexion de client avec le serveur est transparente.Conclusion

Durant ce chapitre, nous avons prsent les technologies utilises et leurs fonctionnalits comme Android et le protocole HTTPS.

Pour une meilleure comprhension du travail effectu, nous prsentons dans ce chapitre ltape danalyse et de conception. En effet, pour raliser une bonne conception de lapplication, il faut faire une tude approfondie des exigences du march du travail. Dans ce chapitre, nous commencerons par une tude prliminaire qui consiste reprer les besoins fonctionnels et non fonctionnels. Par suite, nous avons labors une modlisation claire de ce qui a t tabli au cours de cette tude. Aussi, ce chapitre sera ddi pour la conception architecturale de notre application.1. Identification et analyse des besoins

1.1. Identification des besoins

Les besoins de lapplication se divisent en des besoins fonctionnels et non fonctionnels.

1.1.1. Les besoins fonctionnels

Un acteur joue le rle dune entit externe (utilisateur humain, dispositif matriel ou autre systme) qui interagit directement avec le systme tudi. Lacteur reprsent dans notre application pour lutilisateur qui peut tre soit un administrateur ou un visiteur.Administrateur:

Cette application permet ladministrateur de: Ajouter des nouveaux lieux,

Modifier des lieux o de donnes relatifs aux lieux,

Supprimer des lieux, Affiche les lieux de disponibilits, Mettre les contacts jour, Afficher les promotions et grer la rservation en ligne.Visiteur:Les fonctions offertes pour un visiteur sont: Sauthentifier, Consulter de liste des lieux,

Savoir la localisation les lieux les plus proches, Consulter la liste des endroits favoris, Ajouter, supprimer et modifier la liste des favoris, Consulter la liste des promotions offertes, Rserver une place slectionne.1.2.1. Les besoins non fonctionnels

Les besoins non fonctionnels dcrivent les objectifs lis aux performances du systme et aux contraintes de son environnement. Ses exigences techniques sont souvent exprimes sous forme dobjectifs spcifiques que doit atteindre le systme.

Les besoins non fonctionnels de cette application sont les suivants:

Assurer une cohrence et une crdibilit aux informations stockes dans la base de donnes. La confidentialit des donnes personnelles (identification).

Lergonomie des interfaces de lapplication mobile et web.

1.2. Analyse des besoins Un cas dutilisation est un ensemble de scnarios. Les diagrammes de cas dutilisation prsentent des acteurs qui interagissent avec des cas dutilisation. Ces diagremmes sont faciles interprter mme si nous ne connaissons pas la notion. Pour traiter ces diagrammes, nous avons pu les classer selon la nature de lutilisateur; que ce soit un administrateur (Figure 4), ou un visiteur (Figure 5).1.1.1. Cas dutilisation relatif ladministrateur

Nous pouvons trouver plusieurs cas dutilisation de lapplication pour ladministrateur: Grer les catgories des visiteurs.

Grer la localisation des endroits. Grer la liste des promotions: une fois ladministrateur possde un lieu dans la base de donnes il peut ajouter des promotions relatives leur lieu touristiques. Tout en prcisant une description de la promotion ainsi que sa priode de validit.

Figure 4.Diagramme de cas dutilisation relatif ladministrateur1.2.1. Cas dutilisation relatif visiteur Le visiteur peut: Consulter la liste des endroits: lapplication permet de visualiser les restaurants, les caftrias, et les htels les plus proches de lutilisateur. En effet, lutilisateur peut visualiser sa position rcupre travers le GPS et lafficher sous la carte. Aussi, ces endroits sont reprsents par des icones. Consulter les promotions: le client peut profiter des promotions donnes par ladministrateur. En fait, selon lendroit ou se trouve lutilisateur les promotions sont affiches dans une liste.

Grer la liste des endroits favoris: cette fonction permet lutilisateur de crer une liste de favoris contenant les endroits prfrs. Elle permet aussi de supprimer des endroits appartenant cette liste.Figure 5. Diagramme de cas dutilisation relatif visiteur1.3. La description dtaille des cas dutilisation

1.1.1. Scnario du cas dutilisation "consulter les endroits" Dans cette section, nous dtaillons les principaux cas dutilisation de visiteur et nous traitons son scnario.

La Figure 6, prsente le cas dutilisation consulter les endroits de lacteur visiteur.

Figure 6. Cas dutilisation "consulter les endroits"Cas dutilisation " consulter les endroits "

Pr-conditionLutilisateur peut effectuer une consultation en tant que propritaire ou client.

ScnarioLa position de lutilisateur sera affiche sur la carte gographique. Ainsi que les endroits les plus proches de lutilisateur ().

Tableau 3. Cas dutilisationconsulter les endroitsLe digramme de scnario de ce cas dutilisation est prsent dans la figure 7.

Figure 7. Scnario du cas dutilisation "consulter les endroits"1.2.1. Scnario du cas dutilisation "grer la liste des lieux"

Le cas dutilisation Grer la liste des lieux de lacteur administrateur, englobe trois scnarios (Figure 8):

Ajouter un lieu,

Modifier un lieu,

Supprimer un lieu.

Figure 9. Cas dutilisation grer la liste des endroitsPour ce cas dutilisation, nous traitons le cas de restaurant.Ajouter un lieuCas dutilisation grer la liste des lieux

Ajouter un lieuPr-conditionLadministrateur doit sauthentifier tout dabord au sein de lapplication.

ScnarioLadministrateur slectionne le bouton dajout dun lieu. Remplit le formulaire en choisissant le type de lieu. Pour le cas dun restaurant, ladministrateur doit slectionner la spcialit, la cuisine, lambiance et leurs descriptions. Une fois ladministrateur valide lajout dun lieu, il est ajout la base de donnes (Figure 9).

Tableau 4. Cas dutilisation Ajouter un lieu

Figure 9. Scnario pour le cas Ajouter un lieuModifier un lieuCas dutilisation " grer la liste des lieux "

Modifier un lieuPr-conditionLadministrateur doit tre sauthentifier tout dabord au sein de lapplication.

ScnarioLadministrateur slectionne le restaurant dsir qui existe dans sa liste des lieux. Le mme formulaire dajout mais il est rempli par les donnes de ce restaurant. Ladministrateur peut modifier les donnes et les valider sil le veut. Donc le mis jour sera prie en considration est sauvegard dans la base de donnes (Figure 10).

Tableau 5. Cas dutilisation modifier un lieu

Figure10. Scnario pour le cas modifier un lieuSupprimer un lieuCas dutilisation " grer la liste des lieux "

Supprimer un lieuPr-conditionLadministrateur doit sauthentifier tout dabord au sein de lapplication.

ScnarioLadministrateur slectionne le restaurant dsir qui existe dans sa liste des lieux. Toutes les informations concernant le restaurant sont affiches. Puis ladministrateur peut valider ou annuler la suppression du lieu (Figure 11).

Tableau 6. Cas dutilisation supprimer un lieu

Figure11. Scnario pour le cas supprimer un lieu2. Conception dtaille

Ayant dgag les diffrents acteurs et numr les objets ncessaires lors de ltape de lanalyse et aprs avoir dcrit la conception gnrale de lapplication, on doit dsormais dtailler la conception de lapplication en dcortiquant les diffrentes classes dune telle application et en dfinissant en dtails notre base de donnes.

Pour cela, la langage de modlisation UML a t adopt afin de raliser la modlisation des diffrents modules ainsi que leurs interactions et les diffrentes vues statiques et dynamiques du systme.2.1. Les diagrammes des squencesPour notre application, nous allons laborer les principaux diagrammes de squence pour dterminer la dynamique du systme. En fait, ces diagrammes permettent de reprsenter des collaborations entre objets selon un point de vue temporel, on y met laccent sur la technologie des envoies des messages. Nous allons prsenter le diagramme de squence pour deux cas dutilisation : grer la liste des lieux et consultation des endroits.

2.1.1. Diagramme de squence du scnario "grer la liste des lieux"

Ajouter un lieuLadministrateur a la possibilit dajouter son lieu dans la base de donnes des places visible pour lutilisateur de lapplication. En fait, la [figure 12] montre quil faut remplir le formulaire en prcisant le type de lieu soit restaurant, soit caftria ou parking aussi dautre informations tel que ladresse et une description. Aprs la vrification des donnes, ils seront sauvegards dans la base de donnes travers le contrleur "c_restaurant" dans ce cas.

Figure 12. Diagramme de squence du scnario dajout dun lieu Modifier un lieu

Daprs la figure 13, ladministrateur possde aussi la possibilit de modifier les informations relatives au lieu "restaurant". Le mme formulaire dajout est affich mais cette fois remplis par les donnes dj extraites de base de donnes.

Figure 13. Diagramme de squence du scnario de modification dun lieu Supprimer un lieu

Une fois le restaurant est ajout, ladministrateur peut le trouv dans la liste de ces lieux. Donc il peut slectionner un et dcider de le supprimer de sa liste. En fait, une liste contenant les lieux saffiche et il slectionne un. Puis, les informations dtailles de ce lieu seront affiche et il prend sa dcision de le supprimer ou non. Cest bien illustrer par la figure 14.

Figure14. Diagramme de squence du scnario de suppression dun lieu2.1.2. Diagramme de squence du scnario "consultation des endroits"

Lutilisateur peut dcouvrir les endroits au coin tel que restaurant et caftria. En fait, le contrleur "c_GPS" permet de rcuprer la position actuelle du touriste travers le GPS et lafficher sur une map de Google. Puis envoyer ces coordonnes au serveur pour rcuprer celles des lieux les plus proches et les afficher sur la carte travers linterface "gestion_lieu".

Figure15. Diagramme de squence du scnario de consultation des endroits3. Diagramme de classe

Le diagramme de classe est une description statique du systme focalis sur le concept de classe et dassociation.

Une classe reprsente un ensemble dobjets qui possdent des proprits similaires et des comportements communs dcrivant en terme dattributs et doprations. Une association consiste prsenter les liens entre les instances de classe.

Durant cette section, nous allons prsenter les diagrammes de classes entits notre application.

Figure 16. Diagramme de classeCe diagramme comporte un ensemble de classes dfinissant les entits du monde rel du systme dinformations dune application de guide touristique. Ce diagramme est compos des classes et de classes dassociationsConclusionA travers ce chapitre, nous avons prsent la conception de lapplication. Nous avons prsent une vue globale. Puis, nous avons prsent la conception dtaille de lapplication travers les diagrammes de classe et de squence.

Aprs avoir dcortiqu la partie conception, nous prsenterons la partie ralisation de notre application. Nous procderons dans ce chapitre une spcification de lenvironnement logiciel de dveloppement, et nous terminons ce chapitre par prsenter et dcrire quelques interfaces de notre application.1. Environnement de dveloppementPour crer une application Android, on doit installer les outils suivants:Android Software Development Kit (SDK), Eclipse Version: 4.2.2 (Juno) ,

Le compilateur Java (JDK 7).1.1. Installation des outils

Nous avons install SDK 7.

Nous avons d zipp le contenu du fichier Android SDK sous le chemin C:\android-sdk\.

Nous avons d zipp la version Eclipse sous le chemin C:\eclipse\. 1.2. Paramtrage dEclipse et installation du plugin ADT

Nous lanons Eclipse puis dans le menu Help on clique sur Install new software. Une fentre souvre alors et nous configurons les dpts Google Android pour avoir le plugin AVD intgr notre IDE.

Nous cliquons sur le bouton Add en haut droite de la fentre

Nous renseignons les champs suivants :

Name: Android (ou autre).

Location : http://dl-ssl.google.com/android/eclipse/.

Figure 17. URL Plugin Aprs rafraichissement, Eclipse affiche les plugins disponibles. Nous slectionnons le Android DDMS et le Android Development Tools .

Nous validons les tapes suivantes et nous redmarrons Eclipse.

Maintenant que Eclipse reconnait les plugins, sous Windows-> Prfrences->Android nous indiquons le chemin d'Android SDK : C:\android-sdk\ dans notre cas :

Figure 18. Liste des targets1.3. Tlchargement des diffrents composants dAndroid SDK

Sous C:\android-sdk\ nous lanons SDK Setup.exe.

Sous Available Packages , nous trouvons la liste des packages et Archives du Android SDK.

Nous choisissons les diffrents packages et nous validons.

Une fois ceci termin, nous nous retrouvons avec les diffrentes versions dAndroid installes sur le systme comme le montre la capture suivante:

Figure 19. Android SDK AVD Manager1.4. Cration dun AVD

Afin de tester notre application, nous allons utiliser lmulateur Android. Il faudra donc crer un Android Virtual Device (AVD). Un AVD dcrit les paramtres systmes et les composants de notre mulateur.

Pour crer un AVD:

Nous lanons Eclipse,

Nous allons sous Window > Android SDK and AVD Manager , Nous slectionnons Virtual Device dans le panneau gauche, Nous cliquons sur New . La boite de dialogue Create New AVD apparatra, Nous tapons le nom de notre AVD, hello_avd par exemple, Nous choisissons la cible (the target). La cible est la version de la plateforme Android SDK que nous avons tlcharg,

Nous ignorons les autres champs pour le moment et nous cliquons sur Create AVD .

Figure 20. Liste des AVD cres1.5. Bibliothques externesQuelques librairies Android et Java utilises:

android.os: elle offre des services de base du SE, le passage de message, et de la communication interprocessus sur le mobile. android.view: elle offre les classes qui grent la disposition de l'cran et l'interaction avec l'utilisateur de mobile. android.widget: elle contient widget des lments d'interface utiliser sur l'cran de votre demande. org.apache.http: elle offre le standard de java qui possde les interfaces et classes de base des composants HTTP. org.json: elle permet de manipuler des objets json qui servent au transfert des donnes entre le mobile et le serveur.

android.app: elle offre des classes de haut niveau encapsulant le modle d'application gnrale Android. android.content: elle contient des classes pour l'accs et la publication de donnes sur un mobile. android.database: elle contient des classes qui permettent dexplorer les donnes renvoyes par un fournisseur de contenu.1.6. Fichier source dun projet

On a deux typesde fichier source:

1.6.1. JavaC'est un langage de programmation orient objet, dvelopp par Sun Microsystems. Il permet de raliser deslogicielscompatibles avec de nombreux systmes dexploitation. Java offre aussi la possibilit de raliser des programmes pour tlphones mobiles et assistants personnels PDA. Il possde plusieurs caractristiques qui le rendent parmi les meilleurs outils de dveloppent des logiciels tels que: simple, distribu, interprt, indpendant de larchitecture, portable, robuste, sr, dynamique, multithread.

1.6.2. XML

Le XML (eXtensible Markup Language) est driv du SGML (Standard Generalized Markup Language), tout comme le HTML (Hypertext Markup Language) [9]. Il est couramment utilis comme format gnrique pour lchange de donnes entre serveurs et applications, dans les processus de communication entre couches applicatives ou pour le stockage de donnes complexes. Le XML a t largement adopt dans tous les secteurs dindustrie et par la majorit des langages de programmation.1.7. Intgration de Google Map

Pour intgrer Google Map sous une application Android, on a besoin de: MD5

Pour crer votre md5, il faut trouver o se situe votre fichier debug.keystore. Si vous utilisez Eclipse, vous pouvez obtenir le chemin de la faon suivante: Windows > Prefs > Android > Build.

Une fois le chemin connu, il faut lancer une console Windows (Dmarrer -> Excuter puis taper cmd). Puis dans la console, taper la commande suivante : keytool -list -alias androiddebugkey keystore.keystore b storepass android -keypass android.Pour pouvoir gnrer votre cl, il vous suffit de saisir le md5 obtenu comme le montre la figure suivante:

Figure 21. Rcupration de la cl MD5 pour Google MAP Key Api

Aprs linsertion de MD5, on doit avoir un compte Google.

Et voici notre cl:

Figure 22. Obtention de la cl API2. Persistance de donne2.1. Modle logique du systme dinformationLe modle logique est une reprsentation du systme dinformation de lapplication indpendamment des supports physique dimplantation des objets persistants.

A fin de dduire ce modle de systme dinformation, nous choisissons le modle relationnel comme un modle logique.Le passage du modle objet vers le modle relationnel a fournit le schma relationnel suivant. Visiteur (numV, nom, Prnom, sexe, lieuNaissance, dateNaissance),

Lieu (numL, latitude, longitude, adresse, titre, photo, #numFavoris),

Favoris (#numV, #numL, numFavoris, DateFavoris, dateCreation), Promotion (numP, description), OffrirPromotion (#numP, #numL, dateDebut, dateFin),

TypeLieu (numT, dsignation, nom, adresse, tel).2.2. Modle physique du systme dinformationAfin dimplanter le schma relationnel obtenu, nous utilisons un systme de gestion de base de donne (SGBD) qui est un ensemble de logiciels permettant de manipuler des bases de donnes, c'est--dire de les crer, de les organiser et de les utiliser. Ce systme permet du prsenter le modle physique du systme dinformation.

Le SGBD choisi est le MySQL sous sa version 5.3. Rsultats obtenusNotre application est dveloppe de faon incrmentale et itrative. Comme premire itration, nous avons commenc par la ralisation de cas dutilisation "consultation des endroits" puis le cas dutilisation "sinscrire" suivie des autres. Dans cette partie, on va prsenter quelques rsultats obtenus. Figure 23. Interface d'accueil de l'applicationLors du dmarrage de lapplication, un "splash screen" se lance, puis une interface permet soit daccder en tant quadministrateur ou visiteur client ou visiteur anonyme, ou bien davoir les propos lapplication ou bien daccder laide. Sachant que linterface change selon le type de lutilisateur. Ces interfaces sont illustres par la figure 23.

Figure 24. Lapplication cot administrateurPour cette interface, lutilisateur administrateur doit fournir les informations dauthentification (nom dutilisateur, mot de passe).En cas du succs, linterface de la liste de fonctionnalit dun administrateur saffiche.

En cliquant sur le bouton Gestion promotion, linterface Gestion promotion saffiche. Suite un choix dajouter une promotion, linterface adquate saffiche.

Figure 25. Partie de lapplication cot touriste La figure 25 nillustre pas toutes les interfaces de lapplication. En effet, elles reprsentent les principales activits de lapplication comme la consultation des endroits, gestion des favoris, etc.

Lapplication possde une partie spcifique ladministrateur. Il contient donc une activit pour la gestion des lieux, une autre pour la gestion des promotions, etc.

LAPI Android offre une panoplie de composant permettant de faciliter le dveloppement dune application tel que les listAcivity, Adaptator, etc. Aussi, il offre la possibilit davoir des contextes menu en plus de menu qui saffiche partir du bouton menu disponible dans les tlphones.Conclusion Notre projet a permis de concevoir et de raliser une application mobile servant de guide touristique pour trouver les endroits la demande, tel que les restaurants, les caftrias, les parkings, etc.

En premier lieu, nous avons commenc par une prsentation gnrale du problme aborder en allant de lexposition du cahier de charge, ltape de lanalyse et de spcification pour finir par la fixation des besoins de lapplication en montrant les diffrents cas dutilisation. Ensuite, nous avons entam la conception de lapplication en donnant un aperu sur les principaux diagrammes UML. Dans ltape de ralisation, nous avons slectionn les technologies les plus adaptes notre choix technique, pour finir par une illustration des diffrentes interfaces graphiques de notre application qui pourra servir comme guide dutilisation.

Dans le cadre de ce projet, nous avons eu lopportunit de nous familiariser avec des technologies rcentes telles quAndroid. Un autre aspect de ce projet tait de pouvoir travailler sur la technologie J2EE et des logiciels libres tels que lIDE Eclipse, le SGBD MySQL et le serveur dapplication Wamp et dapprcier la qualit des services offerts par ce type de logiciels.

Bibliographie[1]. www.eclipse.org[2]. www.wampserver.com[3]. www.tunisiait.com[4]. www.latribune-online.com[5]. www.lemag.pro.bouyguestelecom.fr[6]. www.lemag.pro.bouyguestelecom.fr[7]. Fr.wikipedia.org

[8]. Fr.wikipedia.org

[9]. Fr.wikipedia.org/wiki/Android[10]. Damien Guignard, Julien Chable, Emmanuel Robles: Livre Programmation Android

[11]. Fr.wikipedia.org

[12]. www.linternaute.com

Chapitre 1

Contexte et Problmatique

Chapitre 2

Etat de lart

Chapitre 3

Analyse et Conception

Chapitre 4

Ralisation

Rubrique A propos

Rubrique Aide

Interface de dmarrage

Interface daccueil

Interface dauthentification

Interface de Gestion

Interface Gestion promotion

Interface dauthentification

Interface dinscription

Interface de Choix

Interface de validation dinscription

Interface Google Map

Interface dajout une promotion

7Rapport de Fin dEtude PAGE Rapport de Fin dEtude