Vous êtes sur la page 1sur 64

Rpublique Tunisienne Ministre de lEnseignement suprieur Et de la Recherche Scientifique en Tunisie

Universit de Jendouba el Kef ******* Institut Suprieur de lInformatique du Kef (ISIKEF)

Rapport de stage de fin dtudes Prsent pour lobtention du diplme de Licence Fondamentale en Sciences de lInformatique Conception et Dveloppement dune Application Android pour la Gestion des Produits de Boutiques (Mobile Marketing)

Supervis par :

M. Mohamed Sadok MOUHA

Ralis par :

Encadr par :

M. BelHom Yassinn Amor (ISI KEF)

Mr. GUEDDANA Mr. MOUHA Mohamed Sadok (Progress Engineering)

Anne universitaire: 2012-2013

Remercieme nts
Je tiens remercier les nombreuses personnes qui mont encourag et aid tout au long de ce travail. Tout dabord je macquitte volontiers dun devoir de gratitude envers Mr. MOUHA Mohamed Sadok & Dr. GUEDDANA Amor, pour mavoir encadr aussi attentivement et pour sa formidable disponibilit. Laboutissement de ce projet doit beaucoup ma famille et mes amis qui mont soutenu et encourag durant ces longs mois de labeur.

Ddicaces
A mes trs chers parents, dont leurs mrites, leurs qualits humaines m'ont permis de vivre ce jour : Les mots me manquent pour exprimer toute ma reconnaissance, la fiert et le profond amour que je vous porte pour les sacrifices qu'ils ont consenti pour ma russite, qu'ils trouvent ici le tmoignage de mon attachement, ma reconnaissance, gratitude et respect, que dieu leur prservent bonne sant et longue vie. Tous mes sentiments de reconnaissance pour vous. A mes frres Mohamed Seif Din, Abdel Fattah lespr atteint le seuil de vos esprances. Que ce travail soit lexpression de ma profonde affection. Je vous remercie pour le soutien moral et lencouragement que vous mavez accords. Je Vous souhaite tout le bonheur que vous mritez en vous souhaitant un brillant avenir. A mes ami(e) s A tous ceux qui ont su m'apporter aide et soutien aux moments propices, je ddie ce travail, reconnaissant et remerciant chaleureusement.

Table des matires


Table des matires......................................................................................................... 4 Introduction Gnrale................................................................................................... 10 Chapitre 1 : Cadre gnral........................................................................................... 11 I.Introduction................................................................................................................ 11 1.Cadre du projet....................................................................................................... 11 2.Prsentation de lorganisme daccueil....................................................................11 3. Description de lorganisme daccueil.....................................................................11 II. Prsentation du sujet................................................................................................ 12 1. Introduction........................................................................................................... 12 2. Organisation du rapport......................................................................................... 13 III. Conclusion................................................................................................................ 13 Chapitre 2 : tude dexistant........................................................................................ 15 I.Introduction............................................................................................................. 15 II.Les systmes dexploitation mobiles (Mobile OS)..................................................15 1.Comparaison entre les plateformes mobiles.......................................................16 2.Performances des OS pour mobile.......................................................................16 3. Description de la plateforme Android.................................................................17 III.Conclusion :........................................................................................................... 17 Chapitre 3 : spcification de besoin..............................................................................18 I.Introduction............................................................................................................. 18 II. Choix du langage de modlisation.........................................................................18 1. Les diagrammes de Cas dutilisation................................................................18 1.2 Diagramme de cas dutilisation Client......................................................19 1.2.1 Description du cas dutilisation :....................................................................20 2.6.3 Les diagrammes de squence.....................................................................20 2.6.3.1 Diagramme de squence Localisation du magasin Localisation du magasin et contacter ladministrateur..............................................................21 2.6.3.2 Diagramme de squence de navigation de client sur lapplication ....21 2.7 Spcification des besoins non fonctionnels......................................................23

2.7.1 Contraintes ergonomiques..........................................................................23 2.7.2 Contraintes techniques................................................................................23 III. Conclusion................................................................................................................ 23 Chapitre 4 : Conception et Scnarisation du projet .....................................................24 I. Introduction............................................................................................................ 24 II. Scnarisation du Projet.......................................................................................... 24 1. Synopsis........................................................................................................... 25

1.1 Titre de lapplication...................................................................................... 25 1.2 Type de lapplication.................................................................................. 25

1.3 Support de lapplication............................................................................... 25 1.4 Sujet de lapplication..................................................................................... 25 2. Objectifs........................................................................................................... 25 2.1 Objectifs gnraux........................................................................................ 26 2.2 Objectifs spcifiques..................................................................................... 26 3. Scnario de lapplication..................................................................................26 4. Schma de navigation...................................................................................... 27 5. Gabarit.............................................................................................................. 29 III. Conception technique........................................................................................ 29 1.1 Diagramme de classe.................................................................................29 1.2 Diagramme de composant.........................................................................31 2. Conception de la base de donnes...................................................................33 a. Modle entit association................................................................................ 33 b. Modle physique de Donnes (MPD)...............................................................33 3. Modlisation dynamique du systme...............................................................33 3.1. Diagramme de squence dtaills............................................................33 VI. Conclusion......................................................................................................... 37 1. Modlisation statique du systme....................................................................29

Chapitre 5 : Ralisation et Tests...................................................................................38 I. Introduction........................................................................................................... 38 II. Environnement du travail................................................................................... 38 1.1 Environnement matriel................................................................................. 38 1.2 Environnement, outils et logiciels de dveloppement....................................38 1.2 Environnement, outils et logiciels de dveloppement....................................39 1.2.1 Lenvironnement de dveloppement..........................................................41 1.2.2 Plateforme et format.................................................................................41 1.2.3 Serveur ..................................................................................................... 44 2. Description du cycle de vie................................................................................45 2.1. Le cycle de vie linaire :..............................................................................45 2.2. Choix de modle de cycle de vie................................................................46 III. Ralisation et Test............................................................................................. 46

1. Capture dcran : linterface accueil du client..................................................46 2. Scnario dexcution de lapplication...............................................................48

2.1 Capture dcran : Interface navigation........................................................48 2.2 Capture dcran : Interface contacter administrateur ................................49 2. 3 Capture dcran : Interface actualit promotion .........................................50 2. 3 Capture dcran : Interface actualit nouveaux produits............................51 2. 4 Capture dcran : Interface liste de catgorie.............................................52 2. 5 Capture dcran : Interface liste de catgorie.............................................53 2. 5 Capture dcran : Interface liste de catgorie.............................................54 2. 6 Capture dcran : Interface Golocalisation................................................55 IV. Conclusion......................................................................................................... 55

Conclusion et perspectives.......................................................................................... 56 Annexes........................................................................................................................ 57 Bibliographie................................................................................................................. 63

Table des figures


Figure 1: Logo de la socit Progress engineering........................................................12 Figure 2: Les performances des OS pour mobile...........................................................17 Figure 3: Diagramme de cas dutilisation.....................................................................19 Figure 4: Diagramme de squence Localisation du magasin contacter ladministrateur.......................................................................................................... 21 Figure 5: Diagramme de squence Fonctionnalit de client.....................................22 Figure 6: Logiciel Sybase Power AMC............................................................................24 Figure 7: Schma de navigation de lapplication Mobile Marketing..............................28 Figure 8: Schma Gabarit............................................................................................. 30 Figure 9: Diagramme de composant.............................................................................31 Figure 10 : Diagramme de classe de lapplication Mobile.............................................32 Figure 11: Modle conceptuel des donnes..................................................................34 Figure 12: Modle physique de donnes.......................................................................35 Figure 13: Diagramme de squence dtaill slection des produits.............................36 Figure 14: Linterface de dveloppement sur Eclipse...................................................41 Figure 15: Reprsentation dmulateur........................................................................42 Figure 16: Cycle de vie dune application Android........................................................43 Figure 17: Structure json parsing.................................................................................. 45 Figure 18: Cycle de vie en V ...................................................................................46 Figure 19: Lancement de lapplication (page daccueil)...............................................47 Figure 20:Interface de nos services..............................................................................48 Figure 21: Interface de contacter ladministrateur.......................................................49 Figure 22: Interface actualit promotion.......................................................................50 Figure 23: Interface dactualits nouvelles produites...................................................51 Figure 24: Interface de liste Catgorie..........................................................................52 Figure 25: Interface de liste des produits.....................................................................53 Figure 26: Interface de liste des enseignes..................................................................54 Figure 27: Vue statique et Vue Trafique.......................................................................55 Figure 28: Architecture dAndroid.................................................................................57 Figure 29: Cycle de vie d'un service.............................................................................60

LISTE DES TABLEAUX


Table 1: Tableau comparatif des plateformes mobiles.................................................16

Table 2:Description du cas dutilisation global relatif un client..................................20 Table 3: Ordinateur Portable......................................................................................... 38

Liste des Abrviations

OS : Operating System MOS : Mobile Operating System SAV : Service Aprs Vente SDK : Software Developpement Kit MCD : Modle de Conception de Donnes MPD : Modle de Physique de Donnes QR : Quick Reponse AVD : Android Virtual Device JDK : Java Development Kit

Introduction Gnrale

epuis son invention en 1983, le tlphone mobile ne cesse de surprendre et dmerveiller grce au progrs de ses diffrentes fonctionnalits. Ainsi, lusage du tlphone mobile touche un grand nombre des habitants du monde entier. Son principal souci reste de faciliter la vie de ses utilisateurs. Le dveloppement de ces applications sadapte donc lvolution de la vie de lhomme [13]. Cest dans cette perspective que je assistons laccroissement du march mondial de dveloppement des applications destines aux mobiles pendant ces dernires annes. Cest cette varit en applications qui a gnr la prosprit du tlphone mobile. Cet accroissement, compar ce- lui du march mondial des ordinateurs et des tlviseurs runis, est beaucoup plus considrable. Parmi les applications de la tlphonie mobile, je retrouve lapplication de boutique en ligne, ces boutiques en ligne telles que Google Market et Apple Store, offrent plusieurs services dans diffrents domaines notamment dans le secteur de la fonctionnalit GSM. Lapparition de ces ap- plications a t facilite par lutilisation des systmes dexploitation mobiles (Operating System) OS. Parmi ces systmes je retrouve Androde, la plate-forme mobile cre par Google. Son usage est ddi essentiellement aux Smartphones et autres tlphones mobiles, mais on commence le trouver galement sur quelques Netbooks (mini portable) [20]. La plate-forme Android est en train de rvolutionner le march de la tlphonie mobile. Android offre des dizaines de fonctionnalits conues pour largir mon utilisation du tlphone mobile. Grce Androde, le tlphone mobile devient presque un ordinateur de poche. Il donne laccs plus de 200.000 applications disponibles sur Androde Market, dont Gmail ou Facebook, ainsi que la possibilit de jouer, dcouter de la musique, de regarder des vidos, denvoyer des SMS et de passer des appels tlphoniques. Dans le cadre de mon projet de fin dtude, je mintresserai donc dvelopper une application qui vise lachat en ligne de diffrents produits. Cette application est reconnue dans le domaine informatique par le nom E-commerce . Cette application peut tre dveloppe sur une seule plate-forme savoir : la plateforme Androde. Cette dernire ne cesse daccroitre sa part du march, elle occupe la premire place en termes de vente au niveau mondial [5]. De nos jours, le rythme de vie sacclre de plus en plus et les gens ont besoin de limiter leurs dplacements. Cest dans cette perspective que lapplication Androde prsente un moyen de faciliter la vie quotidienne. Cest pour cette raison que cette application ne cesse de sduire de plus en plus dutilisateurs chaque jour. Ainsi le nombre des utilisateurs dAndrode continue de saccroitre. Jai donc dcid de dvelopper une application sur le systme dexploitation Androde dans le but est de commercialiser les produits existants dans mon march national.

Chapitre 1 : Cadre gnral


Introduction Je dbute mon travail par ce premier chapitre qui tourne autour de la prsentation de mon projet ainsi qu sa situation par rapport son cadre gnral. En premier lieu, je prsente donc lorganisme daccueil o jai ralis mon projet. En second lieu, je parle du projet dans lequel sintgre mon application. Enfin, je spcifie le but que je veux atteindre par ce projet. 1. Cadre du projet Dans le cadre de mon formation en science de linformatique, au sein de lInstitut Suprieur dinformatique de la Kef (ISI), jai effectu un stage de trois mois et demi. Ce stage a t ralis dans la socit Progress Engineering , une socit de prsentation de lorganisme daccueil. Durant ce stage, jai t confie la mission de concevoir et de raliser une application Androde. Ce travail a t effectu dans un environnement purement professionnel et a t trs enrichissant sur le plan personnel. Dune part, lobjectif de ce stage a vis linitiation au dveloppement mobile et la maitrise de la plateforme Androde. Dautre part, il a engendr le dveloppement dune application boutique en ligne. Cette boutique en ligne est destine aux clients tunisiens et leur permet de consulter des produits pouvant tre commercialis dans les grandes surfaces telles que Carrefour, Gant et Cham- pion. Le premier avantage est que cette consultation va se faire sans dplacement dans les diffrents magasins. Le client pourra donc consulter une multitude de produits en seulement quelques cliques. Le deuxime avantage est la possibilit dconomiser en faisant une comparaison des prix de dif- frents produits en vente dans diffrents magasins parfois trs loigns les uns des autres. Cette application devrait donc offrir la plupart des services commerciaux ncessaires aux clients. Par ailleurs, elle serait facile daccs et utilisable par tout type dusager. Le client peut aussi rserver un produit donn avec son mobile et se dplacer par la suite sur place pour finaliser lachat comme il lui est possible de commander le produit pour tre livr domicile. 2. Prsentation de lorganisme daccueil Dans ce qui suit, je prsente mon organisme daccueil. 3. Description de lorganisme daccueil Lorganisme daccueil dans lequel mon stage de PFE a t ralis est dcrit comme suit : Nom: Progress Engineering. Slogan: Progress Engineering - Tunisie Adresse : BP 09 Parc Technologique des Communications Elgazala, BP 9 Cedex 2088 Tunisie. I.

Tl : +216 71 85 63 60 / +216 71 85 63 28 Fax : +216 71 85 68 20 Hotline Service Inscription Universitaire : +216 71 85 82 88 Site web: http://www.progress.com.tn Mail : contact@progress.com.tn

Figure 1: Logo de la socit Progress engineering.

Progress Engineering (figure 1) est une socit spcialise dans les nouvelles technologies ainsi que dans leur dveloppement. Forts de leur savoir-faire dans diffrents domaines, ses quipes dingnieurs et de techniciens spcialiss ont fait de Progress la seule socit tunisienne capable de produire des ralisations lchelle mondiale et reconnues par un large publique. tant consciente quau jour- dhui les entreprises ne voient plus la technologie comme une simple dpense mais plutt comme un investissement court et long terme, que leur performance permettent daugmenter la notorit de leur marque, de conqurir de nouveaux clients et ainsi de vendre plus, Progress Engineering dveloppe et pro- pose aux entreprises un ensemble de solutions permettant ces dernires datteindre leurs objectifs en faisant passer leur message. De la production mobile la ralisation une application mobile sur Multiplateformes exemple : Radio Tunisienne : Nouvelle application Android & iPhone, en passant par la ralisation et linstallation de laboratoire ddi, la ralit virtuelle et augmente, Progress aide ses clients faire passer leur message dune faon innovante et cible. Mdia part entire, Applications mobiles : c'est le moment font bnficier les clients de Progress du SSII spcialise dans le dveloppement informatique Web, Intranet et Mobile en dlivrant un message pour un produit ou une marque en proposant au client, annonceur, dacheter ou de louer un espace de communication au sein L'offshoring informatique. Jai aussi une coopration active avec plusieurs acteurs europens dans le cadre de nos offres de service de dveloppement offshore et nearshore. II. Prsentation du sujet 1. Introduction Mon Projet de Fin dtudes sintitule Conception et Ralisation dune application Androde : Mobile Marketing. Il a pour principal objectif de commercialiser tout type de pro- duit, existant dans les grandes surfaces au niveau du march Tunisien, sur mobile. Le but de cette application est de prsenter au client un moyen rapide et efficace afin de consulter les diffrents pro- duits dans les grandes surfaces telles que Monoprix magasin, Gant et Carrefour excitera. Elle permet dexposer distance la multitude de produits mis en vente dans les diverses grandes surfaces sur le march tunisien.

Mon Boutique en ligne va comporter toute les informations ncessaires aux clients afin de leur permettre de choisir le produit qui leur convient. Plus, elle propose diffrents services tel que : le service mise jour les actualits et contacter ladministrateur. Mon application se compose de deux parties : La premire partie est le FrontOffice qui dsigne la partie frontale de lapplication et qui est en relation direct avec le client. Cette partie est rserve la navigation des clients pour quils puissent consulter les diffrentes rubriques de lapplication, les diffrentes offres proposes, toutes les informations possibles sur les produits... La deuxime partie est le PypMyAdmin qui dsigne lensemble des parties de lapplication auxquelles lutilisateur na pas accs. Cette partie est rserve ladministrateur de lapplication pour grer le contenu des produits consults par lapplication, faire des modifications, ajouter supprimer ou encore modifier... 2. Organisation du rapport Le prsent rapport donne une ide claire sur les diffrentes tapes par lesquelles je dois passer pour bien mener ce travail. Pour bien dcrire mon travail, jai divis ce rapport en cinq chapitres comme suit : Le premier chapitre prsente le cadre gnrale du projet, une prsentation des diffrents objectifs atteindre est sollicite. Je prsente dans une deuxime partie lorganisme daccueil ou a t ralis le travail. Dans un deuxime chapitre, je mets en vidence limportance du domaine des applications mobiles ainsi quune brve comparaison des plateformes mobiles. Ce chapitre expose ensuite une tude des applications dj existantes ayant des objectifs proches de ceux de mon application. Cette tude aura comme but de relever les avantages adopter et les inconvnients qui doivent tre vits. Suite ces tudes dapplications similaires, je mets en exergue lidentification des be- soins fonctionnels, des besoins non fonctionnels et des besoins semi fonctionnels du projet avec les diffrents types des diagrammes. Dans un troisime chapitre, je prsente la scnaristique de mon projet. Ensuite, je ex- posons la conception technique de mon application, ainsi que des extensions envisageables pour ce projet. Le chapitre 4 est consacr limplmentation et la ralisation du projet ainsi quaux phases de Tests. Un dernier chapitre rsume le travail du projet, pour ensuite conclure les diffrentes difficlts rencontres durant ce projet ainsi que les futurs perspectifs. III. Conclusion Dans ce premier chapitre, jai prsent la socit dans laquelle jai effectu mon stage, savoir Progress engineering . Dans la suite, je passe lanalyse des cas similaires pour bien identifier

les diffrentes fonctionnalits de mon application.

Chapitre 2 : tude dexistant


I. Introduction

Au niveau de ce chapitre, je mets en vidence limportance du domaine des tlphones mobiles et lapport de ces applications rvolutionnaires li au domaine des tlcommunications, avant de prsenter les diffrentes plateformes mobiles et expliquer mon choix de la plateforme mobile Androde. Ensuite je prsente une tude de produits similaires mon projet, qui est lapplication Boutique en ligne, dans le but dadopter une meilleure solution pour mon appli- cation. Je traite donc ceci en jeu basant sur ltude des points forts et des points faibles des produits dj existants dun point de vue conceptuel, organisationnel et technique, dans le but de trouver les solutions convenables pour le travail demand. Je termine par ltape de spcification des besoins qui est considr comme la base de dpart de mon travail. II. Les systmes dexploitation mobiles (Mobile OS)

Le tlphone mobile tant un appareil lectronique semblable aux ordinateurs portable et de bureau, a besoin dun systme dexploitation pour son bon fonctionnement. Celui-ci permettra aussi de faire fonctionner ses diffrents priphriques. On a donc besoin dun systme dexploitation pour grer les priphriques de poche. Les OS mobiles sont donc conus spcialement pour les mobiles. De ce fait, ils sont simples et prsentent des fonctionnalits limites. Je remarque depuis quelques annes lvolution progressive de nouvelles plateformes qui offrent des fonctionnalits toujours plus pousses et plus diversifies. Les constructeurs mobiles se retrouvent donc dans lobligation dadopter ces nouvelles plateformes, par peur de la concur- rence. De ce fait, le domaine souvre largement linnovation et la crativit. Cette ouverture avec labsence dune plateforme complte ont engendr la diversification de loffre des systmes dexploitation mobile [17]. Les Systmes les plus utiliss sur le march sont : Android : Systme open source dvelopp par Google. Bada : Systme ferm propritaire cr par Samsung Black Berry OS : Systme ferm propritaire cr par RIM. iOS : Systme ferm propritaire cr par Apple, il est la version mobile du Mac OS. Windows Mobile 7 : Systme ferm propritaire cr par Microsoft. Symbian OS : Systme licence publique libre cr par un consortium qui regroupe plusieurs grands constructeurs travers le monde. Je remarque que tous ces OS prsentent globalement les mmes fonctionnalits et les mmes services lutilisateur. Cependant, leurs intgrations sont lgrement diffrentes dune plateforme une autre.

1. Comparaison entre les plateformes mobiles Dans le tableau 1, jtablis un comparatif entre les diffrentes plateformes en mettant en vidence les critres lis au dveloppement dapplications mobiles [8].

Critres/ Plateforme Langage de dveloppement Open Source Prix daccs au SDK Plateformes pour le SDK Multitches

Android Java Oui (Apache) Gratuit Multi plateformes Oui

Bada C++ Non Gratuit Windows Oui

Black Berry OS Java Non Gratuit Windows Oui

iOS (iPhone OS) Objective-C Non 99$/ ans Mac OS Oui limite background Api) Non 16.7% App Store 70%

Windows Mobile 7 C/C++/C# Non Gratuit Windows Oui

Symbian OS on Java/C/QT,pyth Oui Gratuit Windows Oui

Support Adobe Flash Part de March Boutique en ligne Part de revenu dveloppeur Conditions de publications

Oui 25.5% Android Market 70%

Oui < 1.5% Samsung Apps Ngociable Aprs vrification Samsung

Non 14.8% Black Berry App World 100% (200$/10 application) Accord RIM

Non < 1.5% Windows Market Non fix

Oui 36.6% OVIStore 70%

Aucune

Confirmation et droit dApple

Accord

Accord

Table 1: Tableau comparatif des plateformes mobiles.

2. Performances des OS pour mobile Tel quil est prsent par la figure 2, les performances des OS pour mobile se rsument comme suit : Part et prvision du march : Ce critre sert dlimiter le nombre des utilisateurs potentiels de lapplication. De ce fait, cest le critre le plus important. OS Symbian, la plus importante, connait une baisse sur le march daprs les dernires statistiques. Contrairement OS Symbian, les deux plateformes Android et iOS dApple subissent quant elles une grande progression de ventes. Le choix sest de ce fait limit lune des deux plateformes Android ou iOS [11].

Figure 2: Les performances des OS pour mobile.

3. Description de la plateforme Android Le systme dexploitation Androde est le premier OS mobile open sources dans le march destin aux Smartphones, PDA et terminaux mobiles. Android inclut plusieurs fonctionnalits les plus communes aux OS mobiles, de plus il offre laccs aux diffrents services Google, tel que Google Search, Gtalk et Google Map. Ce systme prsente plusieurs autres avantages en plus de la possibilit daccs aux diffrents services Google. Il est le seul systme mobile totalement paramtrable jusqu aujourdhui. En effet, la plateforme Android est totalement personnalisable : aucune application installe sur le mobile nest indispensable son fonctionnement y compris lapplication home. Pour favoriser les applications Android, Google a mis en place une boutique en ligne qui permet ses utilisateurs de tlcharger des milliers dapplications utiles telles que les services GSM, la golocalisation, etc. Dans le mme but, Google encourage le dveloppement dapplications des- tin la plateforme Android, pour cela elle a annonc que tout nouveau service sera disponible en version mobile avant la version web ou desktop [6]. III. Conclusion :

Le choisi la plateforme comme espace de mon application par ce que cette system et trs riche et bon fonctionnalits cot navigation dynamique sur mon application Mobile marketing.

Chapitre 3 : spcification de besoin

I.

Introduction

Au niveau de ce chapitre, je prsente en premier lieu la scnaristique de mon application ainsi que la manire de lexcuter. Je procde en second lieu une reprsentation de la vue statique de la solution sous forme de diagramme de classes dtaill mais aussi une reprsentation de la vue dynamique sous forme de diagramme de squence. Pour finir, je prsente mon base de donnes et je dcris les diffrentes phases de la recherche graphique par lesquelles je sommes pass tout au long de mon travail.

II. Choix du langage de modlisation La modlisation est trs importante puisquelle aide tout dveloppeur et concepteur grer la complexit dune application. Il est alors essentiel de donner une description dtaille du systme ainsi quune reprsentation simplifie qui permet de le comprendre. La modlisation de mon application sest base sur le formalisme UML [3]. 1. Les diagrammes de Cas dutilisation Dfinition Le diagramme de cas dutilisation reprsente les fonctionnalits du systme raliser. En effet, il prsente les cas dutilisation, les acteurs et les relations entre ces derniers. En plus, il dcrit, sous forme dactions et de ractions, le comportement dun systme selon le point de vue de ses futurs utilisateurs [15].
1.

lments de base des cas dutilisation :

Acteur (actor) : Entit externe qui agit sur le systme (oprateur, autre systme...). Lacteur peut consulter ou modifier ltat du systme. En rponse laction dun acteur, le systme fournit un service qui correspond son besoin. Les acteurs peuvent tre classs (acteur principale, secondaire).

Cas dutilisation (use case) :

Ensemble dactions ralises par le systme, en rponse une action dun acteur.

Les cas dutilisation peuvent tre structurs Les cas dutilisation peuvent tre organiss en paquetages (packages). Lensemble des cas dutilisation dcrit les objectifs du systme

Systme : Reprsente le domaine tudi. Il permet de dterminer les limites au-del desquelles les fonctionnalits seront exclues. Dans mon tude, jai pu dgager un acteur : client.
1.2

Diagramme de cas dutilisation Client

En effet, le client de ma boutique Mobile Marketing a un accs la consultation du catalogue, des nouveauts, des enseignes etc. La figure 3 prsente le diagramme de cas dutilisation du client.

localiser le magasin

choisier une catgorie des produit <<extend>> <<extend>>

choisir une catgorie des produits

<<extend>> choisir un produit

partager l'application

<<extend>> partage avec un ami

Client consulter les actualits envoyer un mail <<extend>> contacter l'administrateur <<extend>>

appelle un magasin

consulter servise Aprs vents(contacte l'enseigne)

Figure 3: Diagramme de cas dutilisation.

Association : Cest une association entre acteurs, entre cas dutilisation ou entre acteur et cas dutilisation. Pour je faciliter la tche didentifier les diffrents cas dutilisation de mon application et vu le grand nombre de fonctionnalits devant tre traits, je rpartis mon projet en deux prin- cipales parties savoir, une partie correspondant au le client et une deuxime partie concernant lutilisateur.

1.2.1 Description du cas dutilisation : La description du cas dutilisation globale du client est illustre dans le tableau 2 Acteur Client Cas dutilisation Titre1 : Consulter produit Titre2 : Consulter actualits Rle Ce cas dutilisation permet au client de consulter toutes les catgories de produits ou choisir le magasin souhait Le client peut consulter les actualits et les nouveauts ds magasins et des produits comme les nouvelles promotions des produits ou bien les nouveaux produits.

Titre3 : Localiser la position du magasin Titre4 : Contacter administrateur Titre5 : Partager lapplication

Ce cas dutilisation permet au client de consulter la position gographique du magasin Ce cas permet de contacter ladministrateur en cas derreur, pour poser des questions et aussi pour ajouter une catalogue ... Le client peut partager lapplication sur facebook ou envoyer le lien de tlchargement de lapplication un ami par mail

Table 2:Description du cas dutilisation global relatif un client.

2.6.3 Les diagrammes de squence Les diagrammes de squence permettent une reprsentation graphique des oprations dun systme en fonction de leur chronologie. Ils reprsentent le cycle de vie des objets sur une priode particulire [7]. Ces diagrammes affichent une interaction sous la forme dun graphique bidimensionnel, la dimension verticale est laxe temporel et la dimension horizontale montre les rles des objets qui reprsentent des objets individuels dans la collaboration. Je prsente les diffrents scnarios des fonctionnalits de lutilisateur et de ladministra- teur.

2.6.3.1

Diagramme de squence Localisation du magasin Localisation du magasin et contacter ladministrateur Le diagramme de squence de localisation du magasin et du contacter ladministrateur est illustr par la figure 4.
localisation et contacter

application android Client Demande de contacter Administrateur

serveur google

serveur google maps

demande la site pour contacter retour la adresse d'administrateur Afficher le site d'administrateur consulter sa localisation conecter envoyer les coordones

chargement du map rcupration de la map afficher map et position du client

visualiser map et position

Figure 4: Diagramme de squence Localisation du magasin contacter ladministrateur. 2.6.3.2

Diagramme de squence de navigation de client sur lapplication

Le diagramme de squence reprsente les fonctionnalits du lutilisateur (Figure 5), suppose que le client est dj connect aux rseaux internet.

Fonctionnalits du client

application_android Client demmande la liste des Promotion

Web Service

Demmande la selection Produits on Promotions Listes des produits on Promotions verification si Promotion existe

Affich avec succs demmande la liste des Nouveaut

Demmande la selection produits on Nouveaut Listes des produits on Nouveaut verification si Nouveaut existe Affich avec succs alt un seul Catgorie Choisire dans liste des Catgorie Demmande la selection Catgorie Listes des Catgorie verification si Catgorie existe

existe sous catgorie

Demmande la selection Sous Catgorie Listes des Sous Catgorie

demmande choisire un Sous catgorie choisire un sous Catgorie demmande la selecion des produit sous Catgorie listes les Produits

Affich La liste des produits avec succs demmande un produit avec sa description demmande la produit selectione retour avec un description produit verification si Produit existe Affich avec succs demmande la liste des ensegnie Demmande la selection les ensegnies listes les ensegnies verification si ensegnie existe Affich la liste des ensegnies

Figure 5: Diagramme de squence Fonctionnalit de client.

2.7

Spcification des besoins non fonctionnels

En plus des besoins fonctionnels dvelopps ci-dessus je dois tenir compte des besoins non fonctionnels afin de bien russir mon projet. Il est tout aussi important de ne pas perdre de vue ses besoins non fonctionnels. En effet, ces besoins ont pour but ltablissement dun langage graphique Dune ergonomie adapte au contenu. Dans ce projet, je vais conserver et renforcer laspect et le design graphique. 2.7.1 Contraintes ergonomiques Lergonomie vise la comprhension entre les tres humains et les autres composants dun systme. Elle a pour but de rendre compatible la conception et lvaluation des taches avec les besoins des personnes. Pour cela il faut respecter les critres ergonomiques. Ces critres sont : le guidage, lhomognit et la cohrence que je dtaille en suit : Dvelopper une interface simple et comprhensible par lutilisateur. Confort visuel et visibilit des caractres. Permettre un accs rapide linformation. Hirarchie logique des liens. Texte dpourvu derreurs grammaticales, orthographiques et typographiques. Visibilit et lisibilit de texte. Garantir un certain reprage et aider lutilisateur se localiser par rapport lapplication. Rduire la surcharge de lutilisateur grce la minimisation de nombre dinteractions de celui- ci avec le systme (un grand nombre de clic va gner lutilisateur). 2.7.2 Contraintes techniques Les contraintes techniques se rsument comme suit : Utilisation facile de lapplication. Aspect Client Serveur dapplication. Console Client indpendante quon pourra modifier selon les besoins. Lapplication doit rpondre exactement aux besoins des utilisateurs. Navigation guide. Optimisation des photos de point de vue taille et qualit. III. Conclusion Dans ce chapitre, jai essay de dcrire les principales fonctionnalits du systme en commenant par la prsentation des exigences fonctionnelles, non fonctionnelles et semi fonctionnelles. Jai enchain avec les contraintes du projet pour aboutir la mise en place des diffrents intervenants du systme. Cette tude des spcifications des besoins ja permis de fixer les besoins de lapplication, le march cible et comment sera-t-il possible de la dvelopper.

Chapitre 4 : Conception et Scnarisation du

projet
I. Introduction
Au niveau de ce chapitre, nous prsentons en premier lieu la scnaristique de notre application ainsi que la manire de lexcuter. Nous procdons en second lieu une reprsentation de la vue statique de la solu-tion sous forme de diagramme de classes dtaill mais aussi une reprsentation de la vue dynamique sous forme de diagramme de squence. Pour ni, nous prsentons notre base de donnes et nous crivons les direntes phases de la recherche graphique par lesquelles nous sommes passs tout au long de notre travail. Prsentation Power AMC :

Figure 6: Logiciel Sybase Power AMC

Power AMC est un logiciel de conception cr par la socit SDP, qui permet de modliser les traitements informatiques et leurs bases de donnes associes. Power AMC est une solution de modlisation et de gestion de mtadonnes la pointe de linnovation, destine aux architectures de donnes, aux architectures dinformations et aux architectures dentreprise. Power AMC est ldition franaise de Power Designer.[24]

II. Scnarisation du Projet


La scnarisation, comme tape de mon projet acquiert une dimension particulirement essentielle. Ainsi, elle se dfinit comme tant un travail dorganisation, un travail technique et ensuite un travail pdagogique. En gnral, tout projet doit suivre les tapes suivantes : Analyse Rcupration ou cration de contenus

Conception, ralisation, vrification... Validation Tests La scnarisation comprend des rsolutions aussi bien importantes sur le plan technique que sur le plan communicationnel. Je vais donc commencer par la prsentation du produit.

1. Synopsis Mon projet est une application m-commerce excute sous la plate-forme Androde, cest une boutique en ligne qui permet de consulter des diffrents types de produits existants dans les grandes surfaces du march tunisien tel que Gant, Monoprix et Champion. 1.1 Titre de lapplication Le titre de mon application est MobileMarketing un nom compos de deux mots traduits en anglais. Mobile: signifie meilleur, optimal, mieux, portable... Marketing : signifie magasin, boutique, shoping... 1.2 Type de lapplication Mobile Marketing est une application mobile m-commerce dveloppe pour les Smartphones Android. MobileMarketing est une boutique en ligne et hors ligne qui propose des diffrents services

1.3 Support de lapplication Le support de mon application est les Smartphones qui possdent le systme dexploitation Android. 1.4 Sujet de lapplication Mon application est une boutique en ligne consacre lexposition des produits de toute catgories (vestimentaire, lectronique, informatique, librairie, esthtique...) qui existent dans les grandes surfaces du march tunisien tel que Gant, Monoprix et Champion, dans le but de faciliter lachat aux clients. March vis Mon application est destine au march tunisien en premier lieu. 2. Objectifs Cette application permet deffectuer plusieurs taches telles que :

2.1

Objectifs gnraux Faciliter laccs aux informations ncessaires des produits propos Prsenter diffrents produits informatiques sous diffrents types et rubriques Fournir une information pertinente et fraiche sur les produits disponibles.

2.2

Objectifs spcifiques Le client sera capable davoir plus dinformation possible sur les produits qui lintresse et il a la possibilit de comparer les prix dans les magasins Le client accdera facilement toutes les actualits informatiques et aux produits disponibles sur le march national. Le client recevra les nouveauts et les promotions (solde).

3. Scnario de lapplication Dans le but de bien comprendre le message qui dcoule de mon projet, je dois bien ana- lyser le scnario de mon application. Mobile Marketing prsente les services les plus excellents sur les smartphones Androde. En effet, elle facilite la vie quotidienne du client, lui simplifie les courses et rpond ses besoins. Il a donc fallu concevoir des interfaces de lapplication qui soient significatives et qui respectent la charte graphique du logo de la socit. Il faut donc que la composition et les couleurs soient en relation direct avec le contenu de lapplication et du logo. Pour ce faire jai cr des interfaces qui se rapportent licne du logo. La premire interface est donc linterface daccueil. Son but est dexpliquer lintrt de lapplication o le client accde lapplication. Ensuite, apparait un texte qui explique lapplication dune faon gnrale. La deuxime interface est une interface dindex. Son but est de permettre au client daccder lapplication avec choisir la liste shoping ou contacter ladministrateur ou bien localisation les magasins. Je trouve ensuite le menu des tab host promotions, nouveauts, Catgories et enseignes. Celui-ci possde 4 tab, chaque tab possde une icne. Le tab Promotion permet lutilisateur de consulter tous les produit on promotion dans le magasin. Ce tab permet aussi dafficher description de produits promotion. Le tab Nouveauts permet lutilisateur de consulter tous les produit on nouveauts dans le magasin. Ce tab permet aussi dafficher description de produits nouveaut. Le tab Catgorie permet lutilisateur de consulter tous les catgorie de produit dans le magasin. Ce tab permet aussi dafficher sous-catgorie. Concern ainsi que ce quil affiche la liste des produit comme aprs dune sa description. Le tab Enseigne permet dafficher les enseigne comme avec ses coordonnes est contact

avec le magasin par tlphone dans le but de demander des informations. Le tab Golocalisation permet de localiser la position gographique de lutilisateur et de chercher un magasin partir et proximit de cette position gographique. Le bouton Progress Engineering permet lutilisateur dentrer en contact ladministrateur dans le but de demander des informations. Permet dafficher toutes les informations ncessaires concernant les magasins. Ainsi quun formulaire remplir en donnant le nom, ladresse et lE-mail et le message propos qui permet de poser des questions, de faire des suggestions. . . Il doit donc y avoir trois boutons : un avec le numro de Carrefour, un avec celui de Gant et le dernier avec le numro de Champion. Le bouton Contact permet de contacter ladministrateur de lapplication dans le but de demander des informations, poser des questions ou bien faire des suggestions... Le bouton Partager permet de partager lapplication avec un ami. Les 3 boutons je permets donc un accs direct aux autres pages. 4. Schma de navigation Le schma de navigation de lapplication est illustr par la figure 7.

Mobile-Marketing

partage avec amie

index

Shopping list

Contacte administrateur

visite guide

Promotion

Nouveaut

Catgorie

ensegnie

Visiter magasin

Figure 7: Schma de navigation de lapplication Mobile Marketing.

5.

Gabarit

Le gabarit de mon application est illustr dans la (Figure IV-3) laide de balsamiq [21] La structure de la page est divise en bloc de rectangles en largeur qui suggre un tat statique. Elle contient au sujet et elle respecte le contexte de lapplication. On a un rapport texte/image, le logo est situ sur le bon emplacement pour sa visibilit, les boutons de menu sont au cur de linterface pour faciliter la navigation. Les images choisies sont places rgulirement lorsquil est ncessaire

III.

Conception technique Pour raliser mon application, jai effectu la modlisation avec langage UML. Dans cette partie, je dcris la vue statique et dynamique du mon base de donnes.

1. Modlisation statique du systme Dans cette partie, je modlise la vue statique de mon application en utilisant les dia- grammes de classe et le diagramme de composant.
1.1

Diagramme de classe

Le diagramme de classe reprsente la structure statique dun modle, il constitue un lment trs important de la modlisation. Il reprsente les diffrentes entits intervenant dans un systme et permet de structurer le travail de dveloppement de manire trs efficace. Un diagramme de classes est un schma utilis en gnie logiciel pour prsenter les classes et les interfaces dun systme ainsi que les diffrentes relations entre celles-ci. Dans mon application, le diagramme de classe est donn par la figure 8. Il est noter que, pour des raisons de simplicit de reprsentation, les classes ayant une structure commune (mme attributs et mmes mthodes) ne sont pas illustres en totalit. Ces classes reprsentent en majeure partie celles qui ont t dveloppes pour grer les diffrents produits. Dans le diagramme, un exemple de ces classes est donn par la classe lectronique.

Figure 8: Schma Gabarit.

1.2

Diagramme de composant

Le diagramme de composant dcrit le systme modlis sous forme de modules. Ces derniers sont les lments qui ralisent physiquement ce qui les diagrammes de classe reprsentent logiquement. Le diagramme de composant comporte : Les groupes dimplmentations : ils reprsentent une unit pour le regroupement de composant. Les relations entre les diverses implmentations : reprsentent les relations des dpendances entre modules. Le diagramme de composants conforme mon application est prsent dans la figure 9.

SGBD

interface Administrateur

Web services

Plateforme Android

Interface client

Figure 9: Diagramme de composant.

OnClickListener

AlertDialogManager + showAlertDialog () : void ... Promotion + + + + db pDialog PROMOTION_URL T AG_PROMOTION T AG_ID T AG_NOM T AG_T YPE T AG_IMAGE T AG_DESCRIPTION T AG_PRIXTT C T AG_REDUCTION onCreate () onPreExecute () onPostExecute () run () ... db pDialog ENSEG_URL TAG_ENSEG TAG_NOM TAG_TELEPHONE TAG_FAX TAG_LOGO TAG_EMAIL TAG_SITE : : : : : : : : : : : : : : : 0..1 <<extends>> 0..* DBAdapter Activity ProgressDialog 0..* String 0..1 String <<extends>> String String 0..* 0..* 0..* String 0..* String String String String

MainTAB 0..1 <<extends>> <<implement>> 0..* 0..* 0..1 <<extends>> 0..* 0..* Accueil - Partage : Button - suivant : Button + OnCreate () : void + OnClick () : void 0..1 ... <<extends>> Menu - shopping list : Button - localisation : Button - Progress : Button + OnCreat () : void + OnClick () : void ... Geolocalisation + + + + + Mymap monController latitude longitude latitude1 longitude1 latitude2 longitude2 : : : : : : : : int int double double double double double int promotion_SPEC nouveaute_SPEC categorie_SPEC ensegnie_SPEC : : : : String String String String

+ onCreate () : void

void void void void

0..1 <<extends>>

+ + + +

+ + + + + + + + + + + + + + + + + + + +

0..1 <<extends>> 0..1 DBAdapter <<extends>> ProgressDialog String Catgorie String - db : DBAdapter String - pDialog : ProgressDialog String - jsonParser : JSONParser String - GATEG_URL : String String - T AG_GATEGORIE : String String - T AG_ID : String String - T AG_IDCP : String onCreate () : void - T AG_NOMC : String 0..1 onPreExecute () : void - T AG_icon : String <<extends>> onPostExecute () : void + onCreate () : void run () : void + onPreExecute () : void ... + onPostExecute () : void Produit + run () : void ... 0..1 isbn : int <<extends>> id_prod : String Nouveautes id_categ : String nom_prod : String - db : DBAdapter : : : : : : : : : : type_prod image_prod description_prod prix_hortax prix_ttc prix_tva : : : : : : String String String String String String : : : : : : : : : : : : : : : : : : : : pDialog NOUV_URL TAG_NOUV TAG_ID TAG_NOM TAG_TYPE TAG_IMAGE TAG_DESCRIPT ION TAG_PRIXTTC TAG_DAT ENOUV : : : : : : : : : : ProgressDialog String String String String String String String String String

Ensegnie

onCreate () onCreateOptionMenu () onOptionItemSelected () onPrepareOptionMenu () microdegre () ... ContacterAdmin : : : : EditText EditText EditText Button

emailT o emailSubject emailBody btnSend

+ onCreate () : void + sendEmail () : void ... DBAdapter - databaseHelper : DBHelper - context : context - SqliteDatabase : db

getIsbn () setIsbn () getId_prod () setId_prod () getId_categ () setId_categ () getNom_prod () setNom_prod () getType_prod () setT ype_prod () getImage_prod () setImage_prod () getDescription_prod () setDescription_prod () getPrix_hortax () setPrix_hortax () getPrix_ttc () setPrix_ttc () getPrix_tva () setPrix_tva () ...

int void + onCreate () : void String + onUpgrade () : void void + close () : void String + onCreate () : void + trucate () : void void + onPreExecute () : void + insertProduit () : long String + onPostExecute () : void + supprimerProduit () : boolean void + run () : void + recuperlistProduit () : cursor ... String void <<implements>> <<implements>> String ConnectionDetector void - context : Context String + isConnectingToInternet () : boolean void <<implements>> String seriallisable JsonParser void String - is : ImputStream void - jobj : JSONObject String - json : String void + maketHttpRequest () : JSONObject <<implements>> ...

Figure 10 : Diagramme de classe de lapplication Mobile.

2.

Conception de la base de donnes

Pour la conception des donnes, on a choisi loutil de modlisation Power AMC designer pour diffrentes raisons : Il est bas sur la sparation des donnes et des traitements effectuer en plusieurs modles conceptuels et physiques. Trs bien adopt aux bases de donnes conventionnelles et encore trs utile. a. Modle entit association Le modle entit association dfinit clairement les donnes utilises par le systme dinformation laide des entits. La figure IV-6 illustre le modle entit association de mon application Mobile Marketing.

b. Modle physique de Donnes (MPD) Le modle physique est gnr partir du modle conceptuel des donnes en utilisant le logiciel Power AMC Designer ou on doit appuyer sur la fonction generate physical data model sous le menu Tools dans le but de gnrer le script de la base de donnes. Le MPD de mon base de donnes est prsent par la figure IV-7 3. Modlisation dynamique du systme La modlisation dynamique intervient aprs la modlisation statique. Elle est une vision micro- scopique du systme. Les diffrents diagrammes de cette vue sont : - Diagramme de collaboration - Diagrammes dtats transitions - Diagrammes de squence - Diagrammes dactivit. Dans ce qui suit, nous choisissons les diagrammes de squence dtaills.
3.1.

Diagramme de squence dtaills

* Diagramme de squence dtaill Slection des Produits Je prsente le diagramme de squence des diffrents scnarios des fonctionnalits du client. La figure IV-8 prsente le diagramme de squence dtaill de choisir des produit par certaine catgorie ou bien sous-catgorie.

Adresse o ville_adr Caractre variable (255) o gouvernorat_adr Caractre variable (50) o code_postal_adr Caractre variable (50) ... definire par

Magasin o o o o o nom_mag lieu_mag geo_localisation latitude_mag longitude_mag ... Caractre Caractre Caractre Caractre Caractre variable variable variable variable variable (255) (50) (255) (255) (255) branchement de

# o o o o o o

Ensegnie id_enseg INTEGER(20) nom_enseg Caractre variable telephone_enseg INTEGER(12) fax_enseg Caractre variable logo_enseg Caractre variable email_contacte_enseg Caractre variable site_officiel_enseg Caractre variable ...

(255) (50) (255) (50) (50)

# o o o o

Catalogue id_catal INTEGER(20) nom_catal Caractre variable (255) sujet_catal Caractre variable (255) date_debut_catal Date & Heure date_fin_catal Date & Heure ...

Reprsent par

est fils de Promotion id_promo INTEGER(20) prix_promo Rel (10) date_debut_promo Date & Heure date_fin_promo Date & Heure ...

# o o o

appartient

Categorie # id_categ INTEGER(20) o nom_categ Caractre variable (255) o icon_categ Caractre variable (255) ...

Produit definir par # o o o o o o o id_prod nom_prod type_prod image_prod description_prod prix_Hortax prix_TTC prix_TVA ... INTEGER(20) Caractre variable (255) Caractre variable (10) Caractre variable (255) Text Rel (10) Rel (10) Rel (10)

regroupe par un categorie

definire par

Figure 11: Modle conceptuel des donnes.

nouveautes # id_nouv Entier o date_debut_nouv Date & Heure o date_fin_nouv Date & Heure ...

Adresse id_enseg ville_adr gouvernorat_adr code_postal_adr ... INTEGER(20) <fk> VARCHAR2(255) VARCHAR2(50) VARCHAR2(50) FK_ADRESSE_DEFINIRE__ENSEGNIE

Ensegnie Magasin id_enseg nom_mag lieu_mag geo_localisation latitude_mag longitude_mag ... INTEGER(20) <pk,fk> VARCHAR2(255) VARCHAR2(50) VARCHAR2(255) VARCHAR2(255) VARCHAR2(255) id_enseg nom_enseg telephone_enseg fax_enseg logo_enseg email_contacte_enseg site_officiel_enseg ... INT EGER(20) <pk> VARCHAR2(255) INT EGER(12) VARCHAR2(50) VARCHAR2(255) VARCHAR2(50) VARCHAR2(50)

FK_MAGASIN_ENSEGNIE

Catalogue id_catal nom_catal sujet_catal date_debut_catal date_fin_catal id_enseg id_prod ... INTEGER(20) <pk> VARCHAR2(255) VARCHAR2(255) DAT E DAT E INTEGER(20) <fk2> INTEGER(20) <fk1> FK_CAT ALOGU_REPRESENT_ENSEGNIE

FK_CATEGORI_EST _FILS__CATEGORI

Promotion id_promo prix_promo date_debut_promo date_fin_promo id_prod ... INTEGER(20) <pk> FLOAT(10) DAT E DAT E FK_CATALOGU_APPARTIEN_PRODUIT INTEGER(20) <fk> Categorie id_categ nom_categ icon_categ Cat_id_categ ... INT EGER(20) <pk> VARCHAR2(255) VARCHAR2(255) INT EGER(20) <fk>

FK_PROMOT IO_DEFINIR_P_PRODUIT Produit id_prod nom_prod type_prod image_prod description_prod prix_Hortax prix_TTC prix_TVA id_categ ... INTEGER(20) <pk> VARCHAR2(255) VARCHAR2(10) VARCHAR2(255) Text FLOAT(10) FLOAT(10) FLOAT(10) INTEGER(20) <ak,fk> FK_PRODUIT _REGROUPE__CATEGORI

FK_NOUVEAUT_REFERENCE_PRODUIT

nouveautes id_nouv date_debut_nouv date_fin_nouv id_prod ... INT EGER <pk> DATE DATE INT EGER(20) <fk>

Figure 12: Modle physique de donnes.

Selection des produits

Accueil_Activity.java Client Lancement de l'application

Accueil_layout.xml Catgorie_Activity.java

Catgorie_layout produit_Activity.java

produit_layout.xml Web Servise

demande chargement de l'i nterface interace Accueil charge demande de shopping demande la list des Catgorie, Aprs choisir le tab Catgorie demande chargement de l'i nterface Affiche des Catgorie demande la list des produit interace tab produit charge acceder la activity produit selection les produit Vrification du sous catgorie si selection sous categorie, lancement l'activity produits retour la liste des produits lencement la selection des produits de sous catgorie select * from produit

select * from produit

la liste des produits selectionns demande chargement l'i nterface interace litview produit charge affichage liste du produit

Figure 13: Diagramme de squence dtaill slection des produits.

VI.

Conclusion

La conception reprsente la phase la plus dlicate dans la mesure o toute erreur se rpercutera sur la ralisation. Jai conu lapplication de point de vue apparence de linterface et du point de vue contenu afin de bien raliser la partie implmentation. Le chapitre suivant est consacr la mise en uvre de ce qui a t conu dans le prsent chapitre.

Chapitre 5 : Ralisation et Tests


I. Introduction
Aprs des tudes thoriques faites dans les chapitres prcdents, cette partie a pour objectif dex- pos mon travail achev. En premier lieu, je prsente lenvironnement matriel et logiciel utilis pour le dveloppement de la solution propose, jexplique en second lieu nos choix techniques relatifs aux langages de programmation et des outils utiliss. Je termine enfin par mettre en relief le travail effectu, en je basant sur des figures dillustration.

II.

Environnement du travail

Pour raliser mon projet, je prsente les ressources matrielles et logicielles mises mon disposition pour la ralisation de mon projet. 1.1 Environnement matriel Pour la ralisation de mon projet, jai utilis mon ordinateur portable (Toshiba Satellite) dont les caractristiques sont illustres par le tableau 3 : Carte Graphique(NVIDIA) Processeur Intel Frquence dhorloge Mmoire RAM Ecran Disque dur
Table 3: Ordinateur Portable

GeForce GT 230M Core 2 Duo 2.1 GHz 4 Go (800 MHz) 18.4 pouces (47 cm) 1 To

1.2 Environnement, outils et logiciels de dveloppement Je prsente dans cette partie tous les logiciels utiliss au cours du dveloppement de mon Application. Pour le dveloppement de cette application jai utilis les outils donn par le tableau 4.2

1.2 Environnement, outils et logiciels de dveloppement Je prsente dans cette partie tous les logiciels utiliss au cours du dveloppement de mon Application. Pour le dveloppement de cette application jai utilis les outils et les logiciels suivants

Eclipse :
Eclipse est une communaut d'individus et d'organisations qui souhaitent collaborer sur des logiciels open source commercial convivial. Ses projets sont axs sur la construction d'une plate-forme de dveloppement ouverte compose de cadres extensibles, d'outils et environnements d'excution pour la construction.

Android SDK 2.2


Le SDK Android inclut un mulateur de priphrique mobile - un appareil mobile virtuel qui s'excute sur votre ordinateur. L'mulateur vous permet de dvelopper et tester des applications Android sans l'aide d'un priphrique physique.

Android Development Tools (ADT)


Android Development Tools (ADT) est un plugin pour l'IDE Eclipse, qui est conu pour vous donner un environnement puissant, intgr dans lequel pour construire des applications Android.

Le Java Development Kit (JDK)


Le Java Development Kit (JDK) dsigne un ensemble de bibliothques logicielles de base du langage de programmation Java, ainsi que les outils avec lesquels le code Java peuvent tre compil, transform en bytecode destin la machine virtuelle Java.

Apache HTTP Server


Le logiciel libre Apache HTTP Server (Apache) est un serveur HTTP cr et maintenu au sein de la fondation Apache. C'est le serveur HTTP le plus populaire du World Wide Web. Il est distribu selon les termes de la licence Apache.

MySQL
MySQL est un systme de gestion de base de donnes (SGBD). Il est distribu sous une double licence GPL et propritaire, autant par le grand public (applications web principalement) que par des professionnels. SQL fait allusion au Structured Query Language, le langage de requte utilis.

Navigateur Google
Google Chrome est un navigateur Web qui combine un design minimal avec une technologie sophistique pour rendre le Web plus rapide, plus sr et plus facile.

Microsoft Word
Explorez Word pour une exprience plus facile de lecture d'cran, de nouvelles faons de travailler ensemble sur des documents et des outils qui vous aideront peaufiner vos documents comme un pro.

JavaScript Object Notation


JSON (JavaScript Object Notation) est un format d'change de donnes lger. Il est facile pour les humains lire et crire. Il est facile pour machines pour analyser et gnrer.

WampServer
WampServer est une plate-forme de dveloppement Web sous Windows pour des applications Web dynamiques laide du serveur Apache2, du langage de scripts PHP et dune base de donnes MySQL. Il possde galement PHPMyAdmin pour grer plus facilement vos bases de donnes.

1.2.1 Lenvironnement de dveloppement

Eclipse Indigo (3.7)

Eclipse est lIDE utilis dans mon projet pour dvelopper mon code java [16]. Cest un environ- nement de dveloppement intgr, libre et extensible, permettant de crer des projets de dveloppe- ment mettant en uvre nimporte quel langage de programmation. Eclipse IDE est principalement crit en Java. Le point fort dEclipse est le fait quil se base sur la notion de plugins aussi dvelop- ps en java ce qui rend cet IDE extensible et volutif. De plus, Le plugin de Google ADT, est stable avec cette version, moins avec la version 3.6 Hlios. Linterface de dveloppement sur Eclipse est illustre par la figure 14

Figure 14: Linterface de dveloppement sur Eclipse. 1.2.2 Plateforme et format

Android SDK (2.2)

Un kit de dveloppement logiciel (Software Development Kit) permet aux dveloppeurs [14] de crer des applications pour la plateforme Android. Le SDK Andorid inclut des exemples de projets avec le code source, les outils de dveloppement dun mulateur, et les bibliothques ncessaires pour construire des applications Android. Les applications sont crites en utilisant le langage de programmation Java et excutes sur Dalvik, une machine virtuelle personnalise conu pour lutilisation embarqu, qui tourne au-dessus dun noyau Linux. Les mulateurs de test :

Lmulateur

Puisque lAndroid est un systme pour les tlphones mobile, Google a dcid de dvelopper un mulateur afin que tout le monde puisse tester son travail comme montre la figure 15

Figure 15: Reprsentation dmulateur.

Lmulateur ragit exactement comme le vrai Smartphone, on peut lui crer un espace de stockage, simuler des appels ou des messages...
Android Development Tools (ADT) :

Android Development Tools est un plugin Eclipse IDE qui est utilis dans le dveloppement des applications Androde [2]. Il fournit un environnement puissant et complet pour limplmentation, le dbogage et les tests. ADT est compos de plusieurs outils, permettant de crer de nouvelles applications Android, de les maintenir et rcemment dtendre la possibilit de publication sur le Market Android. ADT tend les possibilits pour je laisser rapidement installer de nouveaux projets Android, crer une application UI, ajouter des composants bass sur les API dAndrode, corriger nos applications en utilisant les outils dAndroid SDK, et exporter des APK31 afin de distribuer mon application (voir Annexe pour plus de dtails).

Figure 16: Cycle de vie dune application Android.

Jdb (The Java Debogger) Jdb aide trouver et rparer les erreurs de programmation dans les applications Java. Ses capacits de suivi peuvent tre utilises pendant lexcution dune application Android. JDK 6 Le Java Development Kit (JDK) est lenvironnement dans lequel le code Java est compil pour tre transform en bytecode afin que la machine virtuelle Java (JVM32) puisse linterprter. Bref Cest lensemble doutils permettant de dvelopper une application en Java. 1.2.3 Serveur Apache 2.2.14 Apache HTTP Server, souvent appel Apache, est un logiciel de serveur HTTP produit par lApache Software Foundation. Cest le serveur HTTP le plus populaire du Web. Cest un logiciel libre avec un type spcifique de licence, nomme licence Apache. MySQL MySQL est un SGBD (Gestionnaire de base de donnes en franais). Il permet de stocker des donnes en masse et pouvoir les utiliser volont en les triant comme on le souhaite. Google Chrome Google Chrome est un logiciel utilis pour afficher les pages Web. Il est disponible pour une grande varit de systmes dexploitation tels que Windows XP, Vista et Windows 7. Wamp Server
Wamp Server offre la possibilit dinstaller pratiquement toutes les versions dApache, PHP et MySQL existantes, de quoi reproduire fidlement la configuration de votre serveur de production. Un WampServer (anciennement WAMP5) est une plateforme de dveloppement Web de type WAMP, permettant de faire fonctionner localement (sans se connecter un serveur externe) des scripts PHP. WampServer n'est pas en soi un logiciel, mais un environnement comprenant deux serveurs (Apache et MySQL), un interprteur de script (PHP), ainsi que phpMyAdmin pour l'administration Web des bases MySQL

SQLite SQLite est un moteur de base de donnes SQL embarqu. Contrairement la plupart des autres bases de donnes SQL, SQLite n'a pas de processus serveur spar. SQLite lit et crit directement des fichiers de disques ordinaires. Une base de donnes complte SQL avec plusieurs tables, index, triggers et vues, est contenue dans un fichier de disque unique. Le format de fichier de base de donnes est multi-plateforme - vous pouvez copier librement une base de donnes entre les systmes 32-bit et 64-bit ou entre architectures big-endian et little-endian. Ces caractristiques font de SQLite un choix populaire comme une Application Format du fichier. Pensez SQLite pas

comme un remplacement pour Oracle, mais comme un remplacement pour la fonction fopen (). [27] Json (web service (reste): architecture) Comme lillustre la figure 17, JSON (JavaScript Object Notation) est un format d'change de donnes lger. Il est facile pour les humains lire et crire. Il est facile pour machines pour analyser et gnrer. Il est bas sur un sous-ensemble du langage de programmation JavaScript, standard ECMA-262 3rd Edition - Dcembre 1999. JSON est un format de texte qui est totalement indpendant de la langue, mais utilise des conventions qui sont familiers aux programmeurs de la C-famille de langages, dont C, C + +, C #, Java, JavaScript, Perl, Python, et bien d'autres. Ces proprits en font un JSON la langue d'change de donnes idale.[23]

Figure 17: Structure json parsing. 2.

Description du cycle de vie

Dans cette partie, je prsente le modle de cycle de vie choisi pour mon projet. Ensuite, je vais justifier mon choix.
2.1.

Le cycle de vie linaire : Dans ce cycle je trouve deux modles : le modle en cascade et le modle en V .

Le modle en V : Un cycle de vie est un ensemble ordonn de phases dcrivant la vie dun projet : une phase ne pouvant commencer que si la phase prside est termine. Il est prouv que le modle en V est trs utilis pour les grands projets, il permet une organisation modulaire. Le modle en V tient davan- tage en compte de la ralit ce processus de dveloppement nest pas rduit un

enchainement dtape squentielle. La figure 18 prsente les diffrentes tapes du modle de cycle de vie en V :

Figure 18: Cycle de vie en V .

2.2.

Choix de modle de cycle de vie

Le modle en V assure une validation intermdiaire, favorise la dcomposition fonctionnelle de lactivit et limite les risques par validation de chaque tape. Ce modle est trs utilis pour de grands projets et il est idal quand les besoins sont bien connus, quand lanalyse et la conception sont claires.

III.
1.

Ralisation et Test

Capture dcran : linterface accueil du client

La figure 19 prsente linterface de client qui permet de accde notre services de shoping sur les actualits avec contacter ladministrateur.

Figure 19: Lancement de lapplication (page daccueil).

2. Scnario dexcution de lapplication On va mettre les dmarche de dcouvrir mon application avec voir tous les caractristique services ou cour lexcution de Mobile Marketing Capture dcran : Interface navigation Comme lillustre la figure 20, cette interface aide lutilisateur de choisir parmi 3 Botton daller liste dactualit, localisation leur magasin et contacter ladministrateur
2.1

Figure 20:Interface de nos services.

Capture dcran : Interface contacter administrateur Comme lillustre la figure21, peut envoyer un mail directement sur ladresse dadministrateur
2.2

Figure 21: Interface de contacter ladministrateur.

2. 3

Capture dcran : Interface actualit promotion Comme lillustre la figure 22, affiche droit le prix en rduction de couleur en bleu.

Figure 22: Interface actualit promotion.

Capture dcran : Interface actualit nouveaux produits Comme lillustre la figure 23, affiche droit la date de sortie en march avec couleur en bleu.
2. 3

Figure 23: Interface dactualits nouvelles produites.

Capture dcran : Interface liste de catgorie Comme lillustre la figure 24, affiche la liste de de catgorie et sous-catgorie.
2. 4

Figure 24: Interface de liste Catgorie.

Capture dcran : Interface liste de catgorie Comme lillustre la figure V-12, dans cette interface nous affiche tous les produits aprs slectionn lautre catgorie.
2. 5

Figure 25: Interface de liste des produits.

Capture dcran : Interface liste de catgorie Comme lillustre la figure 13, Linterface prsente les enseigne qui regroupe leur magasin
2. 5

avec affiche sa coordonner

Figure 26: Interface de liste des enseignes.

2. 6

Capture dcran : Interface Golocalisation

Cest une interface qui permet au client de visualiser la position des diffrents magasins gants, carrefour et monoprix dans la carte gographique ainsi que la position courante de lutilisateur. La carte gographique saffiche en vue statique (figure 27a) et une vue trafique (figure 27b).

(a) Vue Statique

(b) Vue trafique

Figure 27: Vue statique et Vue Trafique.

IV.

Conclusion

Dans ce dernier chapitre, jai expos les rsultats des tests de validation de mon Back et Front office de "lapplication Mobile Marketing ". En effet, jai commenc par prsenter lenvironnement matriel et logiciel du travail, ensuite jai prsent une vue du produit final via des prototypes dinterfaces utilisateurs ralises.

Conclusion et perspectives
Mon projet a t pour moi une exprience enrichissante qui ma a permis de :

Dcouvrir de nouveaux outils et environnements Mettre en pratique mes connaissances thoriques Arriver dans le monde du travail avec une connaissance approfondie dans le domaine. Pendant toute la dure du stage dans lagence Progress Engineering jai essay dorganiser le travail avec une recherche approfondie sur le contenu du sujet, vu la particularit de mon public cible. Jespre quavec la ralisation de mon Application Androde, je pourrais atteindre mon objectif pour amliorer le service rendu aux clients. En passant par toutes les tapes telles que lanalyse de lexistant et la conception, nous avons procd une spcification des besoins afin de faciliter la conception gnrale, dtaille et technique. Cette ralisation ma permis dacqurir les comptences suivantes : -permet de cration un base de donne dons le mobile par la mthode data base adapter (SQLite) de de faon approfondie. -Je avons acquis des nombreuses connaissances en Web services reset (json) et amlior nos comptences essentiellement grce lexprience enrichissante que jai vcue. -Cette occasion jai permis dexprimenter le travail monme, ce qui ma initi au milieu de travail et Comment dpasser les obstacles, bien organiss mon temps entre la disponibilit dans la socit et le travail chez moi. Ce projet a t une bonne exprience pour expliquer les diffrentes connaissances vues dans la formation de trois ans reu lISIKEF tout en tenant en compte les diffrentes tapes de ralisation dun projet et en intgrant nos propres connaissances. Les perspectives de ce travail stendent lajout dun Backoffice qui peut permettre au administrateur accder a la base de donne vers quel position a distante, le client non seulement voir les actualits peut aussi commande est dachats online mais aussi de finaliser la connexion a la base de donne(SQLite) sur mon application que doit tre affiche les actualits on mode horline partir de son application mobile. Un modle de traage ditinraire vers le magasin peut faire lobjet dune extension possible mon application afin de faciliter la tche au client.

Annexes
Dfinition dAndroid
La plate-forme Androde [1] est une pile logicielle pour les appareils mobiles, y compris un systme dexploitation, middleware et des applications cls. Les dveloppeurs peuvent crer des applications pour la plate-forme en utilisant le SDK Androde. Les applications sont crites en utilisant le langage de programmation Java et excut sur Dalvik, une machine virtuelle spcialement conue pour une utilisation embarque, qui tourne au-dessus dun noyau Linux [8]. Androde est open-source pour Smartphones, PDA et autres terminaux mobiles, conu par Androde, une start-up rachete par Google en juillet 2005.

Architecture dAndroid
Comme lillustre la figure 1, Android est compos de plusieurs couches bases sur un kernel linux 2.6, au-dessus de cette couche on trouve les librairies C/C++ utilises par un certain nombre de composants du systme Android, par la suite la couche Android Runtime qui comporte les librairies curs du Framework ainsi que la machine virtuelle excutant les applications. Audessus de cette couche on trouve le Framework qui permet au dveloppeur la cration des applications. Et pour finir on retrouve les applications au sommet.

Figure 28: Architecture dAndroid.

Linux Kernel Android


Linux Kernel Android est bas sur un kernel linux [4] pour les services systme de base tels que la scurit, la gestion mmoire, gestion de processus pile rseau, et le modle de pilote. Le noyau agit galement comme une couche dabstraction entre le matriel et le reste de la pile logicielle. Bibliothques Android Dispose dun ensemble de bibliothques C / C++ utilises par les diffrents composants de la plateforme. La liste fournie ci-dessous numre quelques bibliothques qui sont accessibles aux dveloppeurs via la couche Application Framework. Systme de bibliothque C : Une mise en uvre drive de BSD (Berkeley Software Distribu- tion) de la bibliothque C standard du systme, lcoute pour les systmes embarqus bass sur Linux Mdiathques : base surOpenCore (est un sous sous-systme multimdia pour Android fournit par PacketVideo) ; les librairies permettant la lecture et lenregistrement audio et vido, ainsi que la gestion des fichiers image. Surface Manager : gre laccs au sous-systme daffichage et de faon transparente. LibWebCore : un moteur de navigateur web moderne qui fait tourner, la fois le navigateur Android et une vue web intgrable. SGL :(Scene Graph Library) le moteur graphique 2D. Bibliothques 3D : une implmentation base sur OpenGL (OpenGraphicsLibrary est une spcification qui dfinit une API multiplate-formepour la conception dapplications gnrant des images 3D) ; les bibliothques utilisent lacclration 3D matrielle. SQLite : un moteur de base de donnes relationnelle puissant et lger, disponible pour toutes les applications. AndroidRuntime Cette couche contient les librairies de base du langage de programmation java ainsi quune machine virtuelle Dalvik pour excuter les applications. Cependant la diffrence de la machine virtuelle java,Dalvik excute le Dalvikbytecode et non le java Bytecode, format optimis pour ne pas encombrer la mmoire. La machine virtuelle est la base de registres, et fonctionne grce aux classes compiles par un compilateur Java et transformes dans le format DEX. La machine virtuelle Dalvik sappuie sur le noyau Linux pour les fonctionnalits de base telles que le filetage et gestion de la mmoire de bas niveau. Chaque application Android sexcute dans son propre processus, avec sa propre instance de la machine virtuelle Dalvik. Figure 83 : Machine virtuelle Dalvik Framework de dveloppement Afin de pouvoir crer des applications riches et innovantes,Android a offert aux dveloppeurs la libert de profiter du matriel priphrique et informations sur la localisation daccs, excuter des services darrire-plan, dfinir des alarmes, ajouter des notifications dans la barre dtat, etc.

Les dveloppeurs ont un accs complet au mme Framework API utilis par les applications de base. Larchitecture dapplication est conue pour simplifier la rutilisation des composants ; nimporte quelle application peut publier ses capacits et nimporte quelle autre application peut alors faire usage de ces capacits (soumis des contraintes de scurit appliques par le Framework). Applications Android Apps est fourni avec un ensemble de programmes de base (applications natives) permettant daccder des fonctionnalits comme les courriels, les SMS, le tlphone, le calendrier, les photos, les cartes gographiques, le Web.... Ces applications sont dveloppes laide du langage de programmation Java. Pour lutilisateur final, cest la seule couche accessible et visible.

Les Composants dune application Android


Le dveloppement sur Android sappuie sur des classes importantes du Framework [10]. Ces classes sont, en quelque sorte, des bases sur lesquelles reposent toutes les applications Android. Elles sont tellement indispensables quil est tout simplement impossible de dvelopper une application sans passer par au moins lune delles. Ces classes sont : Intent, View, Activity, Service,BroadcastReceiver. Intent Les Intents sont des objets permettant de faire passer des messages contenant de linformation entre composants principaux. La notion dIntent peut tre vue comme une demande de dmarrage dun autre composant, dune action effectuer. La raison dtre des Intents provient du modle de scurit dAndroid. Chaque application est en effet sandboxe. Cela veut dire quune application ou composant A ne peut accder aux donnes dune application ou composant B que grce aux Intents. Les applications ont la possibilit de fournir leurs services ou donnes si elles le souhaitent. View Les Views sont les composants de base de linterface graphique. Elles permettent de construire linterface utilisateur. Les widgets (nom donn des composants graphiques avancs, une barre de progression par exemple est un widget), composants graphiques ou autres layout (composant permettant de placer les diffrents composants graphiques lcran) hritent en fait de cette classe lmentaire. Pour finir, les Views sont les principaux composants qui soccupent de grer les actions utilisateurs (appui sur lcran, sur le clavier, etc.). Activity Le concept dActivity repose sur la notion dinteraction utilisateur. Une Activity reprsente la fentre ou tout simplement lcran qui sera affich lutilisateur. Elle permet galement de grer des fonctionnalits telles que lappui sur la touche MENU ou laffichage de messages dalerte. Le cycle de vie dune activit

Lorsque lutilisateur lance une activit, la mthode onCreate() est appele. Elle sert initialiser lactivit ainsi que toutes les donnes ncessaires cette dernire. Dans le cas o lapplication est en arrire-plan et quelle repasse en avant-plan, la mthode onStart() sera excuter, si lactivit ne peut pas aller en avant plan quel que soit la raison, lactivit sera transfre OnStop().La mthode OnPause() est appele juste avant quune autre activit passe en OnResume. A ce stade, lactivit na plus accs lcran, il est donc recommand darrter de faire toutes actions qui consomment de la batterie ou du CPU. OnDestroy() est excute quand lapplication est totalement ferme. Le diagramme dtat ci-dessous prsente les principaux tats du cycle de vie dune activit Androde. Service Comme lillustre la figure 2, la notion de service Est un avantage certain sur liPhone. En effet, un Service est un programme tournant en tche de fond et nayant pas dinterface graphique. Lexemple commun illustrant au mieux cette notion est celui du lecteur mp3. Un lecteur mp3 ne ncessite pas, pour la plupart du temps, dinterface graphique et doit tourner en tche de fond laissant la possibilit aux autres applications de travailler/sexcuter librement. Comme tout objet dune application, un service est excut dans le Thread principal du processus qui lhberge. Il est donc recommand de lexcuter dans son propre Thread sil a une utilisation intensive du CPU ou de blocage.

Figure 29: Cycle de vie d'un service.

BroadcastReceiver Un BroadcastReceiver est une application qui est lcoute des autres applications. Ce type dapplication tente de rpondre aux Intents qui lui sont adresss. Il ne fait donc rien dautres que dtre lcoute des Intents envoys par dautres composants applicatifs. Les interfaces graphiques Dans une application Androde, linterface utilisateur est construite en utilisant des objets View et ViewGroup. Les objets View sont les units de base de linterface utilisateur sur la plateforme Android. La classe View sert de classe de base pour les sous-classes appeles widgets, qui offrent des objets dinterface utilisateur entirement mis en uvre, comme les champs de texte et les bou- tons. Un objet View est une structure de donnes dont les proprits stockent les paramtres de prsentation et le contenu dune zone rectangulaire spcifique de lcran. Un objet View gre sa propre mesure, disposition et le dfilement pour la zone rectangulaire de lcran dans lequel il r- side. Comme un objet dans linterface utilisateur, une View est galement un point dinteraction pour lutilisateur et le rcepteur des vnements dinteraction. Hirarchie des View Sur la plate-forme Androde, il faut dfinir linterface utilisateur dune activit en utilisant une hirarchie de nuds View et ViewGroup, comme. Cet arbre hirarchie peut tre aussi simple ou aussi complexe selon les besoins, il peut tre construit laide dun ensemble de widgets et de dispositions Android prdfinis, ou laide dune View personnalise. Figure 86 : Hirarchie des Views Layout La faon la plus commune pour dfinir une disposition (Layout) et dexprimer la hirarchie des View est dutiliser un fichier de configuration XML. XML offre une structure lisible pour la dispo- sition, tout comme HTML. Chaque lment XML est soit un objet View ou ViewGroup (ou descen- dant de celui-ci). Le nom dun lment XML est respectif la classe Java quil reprsente. Ainsi, un lment <TextView> cre une TextView dans linterface utilisateur, et un lment<LinearLayout> cre un GroupViewLinearLayout. Lorsquune ressource Layout est change, le systme Android initialise ces objets dexcution, correspondant des lments dans la mise en page dvelopper. La figure 6 ci-dessous prsente un exemple dune disposition verticale simple avec un TextView et un Bouton. Le fichier AndroidManifest.xml Toute application doit avoir un fichier Android Manifest.xml dans son rpertoire racine. Le manifeste contient les informations essentielles de lapplication pour le systme Android, ces informations doivent tre prsentes avant lexcution du code. Entre autres, le manifeste effectue les tches suivantes : Il nomme le package Java de lapplication. Le nom du package sert didentifiant unique pour lapplication.

Il dclare les autorisations que lapplication doit avoir pour accder des parties protges de lAPI et dinteragir avec dautres applications. Il dcrit les activits, services et les Broad cast Receiver. Il dclare version minimale de lAPI Android que lapplication lexige.

Bibliographie [1] http ://android france.fr/android. [2] http ://developer.android.com/sdk/eclipse. [3] http://fr.wikipedia.org/wiki/UnifiedModelingLanguage. [4] http ://linuxfr.org/news/android. [5] http ://m.samsung.com/fr/article/android22osexplained. [6] http ://nextere.wordpress.com/info. [7] http ://perso.efrei.fr/ charroux/cours/uml. [8] http ://socialcompare.com/fr/comparison/mobileoscomparisondeveloperview. [9] https ://play.google.com/store/apps/details. [10] http ://wiki.frandroid.com/wiki/Lescomposantsdunprojetandroid. [11] http ://www.balancingactafrica.com/category/newsletter/newsletterfrancais. [12] http ://www.cube3dtech.com/sitewp/. [13] http ://www.djibitv.com/media/document/3778. [14] http ://www.frandroid.com/developpement/19501android. [15] http ://www.freewebs.com/fresma/Formation. [16] http ://www.journaldunet.com/developpeur/javaj2ee/eclipse. [17] http ://www.journaldunet.com/solutions/systemesreseaux/systemesdexploitation. [18] http ://www.lemagit.fr/article/securitemacosxhackersstuxnet. [19] http ://www.monarqueevolution.com/index.php/definitionchartegraphique. [20] http ://www.scribd.com/doc/86960535/RapportMarketingMobile. [21] http ://builds.balsamiq.com/b/mockups-web-demo/ [22] http://www.json.org/ [23] h t t p : / / www.tutomobile.fr [24] http://www.sybase.fr/ [25] h t t p : / / www.tutomobile.fr [26] h t t p : / / www.androidhive.com [27] www.androidhive.com [28] http://www.sqlite.org/about.html [29] http://www.wampserver.com/ [30]http://mobiforge.com/developing/story/using-google-maps-android

Dveloppement dune Application Android: Mobile Marketing Ralis par: Belhom Yassinn

Filire: Science Informatique ISIKEF

Rsum

Ce de fin d'tudes est ralis dans le cadre pdagogique du diplme en licence fondamentale en science informatique. Ce projet entre dans la perspective du e-commerce. Le premier objectif de ce projet est le dveloppement d'une application androde. Cette application permet la consultation des produits par catgorie et affich les dernier actualits. Elle permet aussi de connatre la location gographique du magasin choisi et la liste des produits mis en vente rcemment. Elle tend aussi l'utilisateur d'entrer en contact avec le service clients de l'administrateur et les l'autre enseigne. Dautre part, l'utilisateur peut aussi partage l'application avec les autre amis. Cette application est donc sous la responsabilit d'un administrateur connecter directement sur leur base du magasin qui devra publier les catalogues du diffrent produit et qui est aussi responsable de gestion. Cette application facilite considrablement le commerce en ligne et augment le pouvoir d'achat. Elle tend aussi augmenter le nombre des utilisateurs grce au gain du temps dont profite l'utilisateur. Grce cette application, nous proposons une nouvelle forme de pouvoir shoping et de slection de produits qui amliore les mthodes de navigation dans cette application. En effet, il est ncessaire d'avoir les outils ncessaires afin de grer l'inventaire, la logistique, la mise jour les actualits et tous les autres aspects de la gestion.

Abstract
This graduation is made for educational purposes diploma in basic license computer science. This project is in the context of e-commerce. The first objective of this project is to develop an android application. This application allows the consultation of products by category and displayed the latest news. It also allows know the geographical location of the selected store and the list of products put on sale recently. It also tends to the user to contact the customer service and the administrator teaches another. On the other hand, users can also share the application with other friends. This implementation is under the responsibility of a director directly connect their base store which will publish the catalog of different product and is also responsible for management. This application greatly facilitates online trading and increases the purchasing power. It also tends to increase the number of users due to time savings that benefit user. With this application, we propose a new form of power shopping and selection of products that improves navigation methods in this application. Indeed, it is necessary to have the necessary tools to manage inventory, logistics, the updated news and all other aspects of management.

Mots cls: Android, shoping, produit, grandes surfaces, golocalisation, connexion,


partag.