Académique Documents
Professionnel Documents
Culture Documents
Tirageriadh 140321042133 Phpapp01
Tirageriadh 140321042133 Phpapp01
L‟objectif principal de ce travail de PFE consiste à implémenter une solution mobile basée sur
la plate forme J2ME pour la gestion des cartes de fidélité
Cette Application permettra aux clients de conserver toutes leurs cartes de fidélités sur leurs
téléphones, consulter leurs soldes des points et géo localiser les enseignes dans lesquelles ils
pourraient utiliser ses cartes.
Abstract
This final of studies project aims to implement a mobile application based on J2ME plateform
to manage fidelity cards.
This application will allow customers keeping all their fidelity cards on their phones,
checking the number of points earned at any moment and geo locating the signboard in which
they could use their cards.
Keywords: J2ME, LWUIT, loyalty cards, fidelity card, SOAP, ZXING, QRcode.
Dédicaces
Tous les mots du monde ne sauraient exprimer l’immense amour que je vous
porte, ni la profonde gratitude que je vous témoigne pour tous les efforts et les
sacrifices que vous n’avez jamais cessé de consentir pour mon instruction et mon
bien-être.
C’est à travers vos encouragements que j’ai opté pour cette profession, et c’est à
travers vos critiques que je me suis réalisé.
J’espère avoir répondu aux espoirs que vous avez fondés en moi.
Que Dieu tout puissant vous garde et vous procure santé, bonheur et longue vie
pour que vous demeuriez le flambeau illuminant le chemin de vos enfants.
Riadh Kort
Remerciement:
Le travail présenté dans ce mémoire a été effectué dans le cadre de la préparation du diplôme
d‟ingénieur spécialité « Génie du Logiciel et des Systèmes d‟Information » à l‟institut
Supérieur d‟informatique (ISI).
Au terme de ce projet, Nous tenons à exprimer notre profonde gratitude et notre immense
respect à Monsieur Achraf Gazdar, Maître assistant en informatique à l‟institut supérieur
d‟informatique pour sa disponibilité, ces avis éclairés, et ces judicieux conseils.
Nous exprimons aussi notre gratitude à M. Oussama Frioui (Directeur Général de Taggist )
ainsi que l‟ensemble de l‟équipe de Taggist (Aymen, Elaa, Rahma, Basma, Islem,
Noureddine, Takwa, Amani, Béchir, Asma) pour leur chaleureux accueil et aide.
Avec beaucoup d'égard, nous ne manquerons pas d'exprimer notre grande reconnaissance à
tous les enseignants et administrateurs de l'Institut Supérieur d‟Informatique et tous les
membres du jury pour avoir accepté de juger ce modeste travail.
Sommaire
Introduction Générale .............................................................................................................. 1
Chapitre I : Présentation Générale ......................................................................................... 4
1. Introduction ............................................................................................................. 5
2. Cadre du travail ....................................................................................................... 5
3. Présentation de l‟organisme d‟accueil ..................................................................... 5
4. Présentation du projet ............................................................................................. 7
4.1 Objectifs de l‟application .............................................................................. 8
4.2 Approches du travail ...................................................................................... 8
4.3 Méthodologie et formalismes adoptés ........................................................... 9
5. Conclusion ............................................................................................................. 10
Chapitre II : Etat de l’art ...................................................................................................... 11
1. Introduction ........................................................................................................... 12
2. Les solutions mobiles disponibles sur le marché .................................................. 12
2.1 FidMe .......................................................................................................... 12
2.2 Snapp‟Fid .................................................................................................... 13
2.3 Fidall ............................................................................................................ 13
2.4 Mobifid ........................................................................................................ 14
3. Critiques de l‟existant ............................................................................................ 15
4. Conclusion ............................................................................................................. 15
Chapitre III : Etude théorique et choix techniques ............................................................ 16
1. Introduction ........................................................................................................... 17
2. Etude Préliminaire ................................................................................................. 17
2.1 Smartphones et systèmes d‟exploitation pour mobiles ................................ 17
2.2 Problématique .............................................................................................. 19
2.3 Les Frameworks de développement mobiles multi-plateforme ................... 19
2.3.1 Comment ça marche ................................................................................ 19
2.3.2 Avantages ................................................................................................ 19
2.3.3 Inconvénients .......................................................................................... 20
2.3.4 Comparaison Technique .......................................................................... 21
2.3.4.1 PhoneGap ............................................................................... 22
2.3.4.2 Titanium (Appcelerator) ........................................................ 23
2.3.4.3 Rhodes (Rhomobile) .............................................................. 24
2.3.5 Outils ....................................................................................................... 25
2.3.6 Conclusion............................................................................................... 25
2.4 Solution envisagée ....................................................................................... 26
2.5 Architecture adoptée .................................................................................... 26
3. Conclusion : ........................................................................................................... 27
Chapitre IV : Analyse et spécification des besoins ............................................................. 28
1. Introduction ........................................................................................................... 29
2. Analyse globale de l‟application ........................................................................... 29
2.1 Description des acteurs ................................................................................ 29
2.2 Spécification des besoins fonctionnels : ...................................................... 29
2.3 Spécification des besoins non fonctionnels ................................................ 30
2.4 Diagramme des cas d‟utilisation .................................................................. 31
2.5 Raffinement des cas d‟utilisation ................................................................. 33
2.5.1 Affectation des priorités .......................................................................... 33
2.5.2 Raffinement des cas d‟utilisation ............................................................ 33
2.5.2.1 Raffinement du cas d‟utilisation «gestion des cartes de
fidélité» ............................................................................................... 33
2.5.2.2 Raffinement du cas d‟utilisation «géo localiser les enseignes
proches du client» ............................................................................... 34
2.5.2.3 Raffinement du cas d‟utilisation «consultation du nombre de
points»……………… ........................................................................ 35
2.5.2.4 Raffinement du cas d‟utilisation «consulter les nouvelles
offres» ………………………………………………………………35
2.5.2.5 Raffinement du cas d‟utilisation « authentification» ............. 36
2.5.2.6 Raffinement du cas d‟utilisation «inscription» ...................... 36
2.5.2.7 Raffinement du cas d‟utilisation «procéder aux paiement » : 37
2.6 Diagramme d‟activité de navigation concernant le client ............................ 37
Chapitre V : Conception ........................................................................................................ 40
1. Introduction ........................................................................................................... 41
2. Conception détaillée .............................................................................................. 41
2.1 Le diagramme de classe ............................................................................... 41
2.1.1 Diagramme de classes de l‟application serveur Middleware .................. 41
2.1.2 Les classes de l‟application mobile ........................................................ 44
2.2 La base des données de l‟application ........................................................... 45
2.3 Architecture de la partie serveur .................................................................. 47
2.3.1 Package web service (Les méthodes distantes au niveau serveur) : ....... 48
2.4 Les diagrammes de séquence ....................................................................... 49
2.4.1 Le cas d‟utilisation « s‟authentifier » ...................................................... 49
2.4.2 Le cas d‟utilisation « inscription d‟un nouveau membre » ..................... 50
2.4.3 Le cas d‟utilisation « afficher la liste des cartes fidélité disponibles » .. 50
2.4.4 Le cas d‟utilisation « ajouter une nouvelle carte » ................................ 51
2.4.5 Le cas d‟utilisation « afficher les cartes de fidélité personnelles » ......... 52
2.4.6 Le cas d‟utilisation « géo localiser les enseignes sur une carte» ............ 53
2.4.7 Le cas d‟utilisation « visualiser le code à barre de la carte » .................. 54
3. Conclusion ............................................................................................................. 54
Chapitre VI : Réalisation ....................................................................................................... 55
1. Introduction ........................................................................................................... 56
2. Environnement de travail ...................................................................................... 56
2.1 Environnement matériel ............................................................................... 56
2.2 Environnement logiciel ................................................................................ 56
2.2.1 La plateforme « J2ME » .......................................................................... 57
2.2.1.1 Présentation............................................................................ 57
2.2.1.2 L'architecture J2ME ............................................................... 57
2.2.2 LWUIT .................................................................................................... 59
2.2.3 La bibliothèque Zxing (Zebra Crossing) ................................................. 61
2.2.4 La bibliothèque Geo-J2ME ..................................................................... 62
2.2.5 Web service ............................................................................................. 62
2.2.5.1 Définition du protocole SOAP............................................... 62
2.2.5.2 KSOAP 2 ............................................................................... 63
2.2.5.3 Apache Axis2......................................................................... 63
2.2.5.4 Hibernate................................................................................ 64
3. Interfaces de l‟application ..................................................................................... 65
4. Réalisation partie serveur ..................................................................................... 72
5. Conclusion ............................................................................................................ 73
Conclusion générale ............................................................................................................... 74
Annexes ……………………………………………………………………………………75
1. Systèmes d'exploitation utilisés par les Smartphones en 2009.............................. 75
1.1 Symbian OS ................................................................................................. 75
1.2 RIM BlackBerry OS .................................................................................... 75
1.3 Android de Google Inc................................................................................. 75
1.4 iOS de Apple Inc .......................................................................................... 75
1.5 Windows Mobile de Microsoft .................................................................... 76
1.6 Windows Phone de Microsoft ...................................................................... 76
1.7 Linux ............................................................................................................ 76
1.8 Bada de Samsung Electronics ...................................................................... 76
2. Calcul de checksum de L‟EAN 13 : ...................................................................... 77
Glossaire ……………………………………………………………………………………78
Webographie ........................................................................................................................... 80
Bibliographie........................................................................................................................... 82
La liste des figures
Figure 1 : image simplifiant l‟idée de notre projet ........................................................... 7
Figure 2. Les phases d‟un processus unifié ...................................................................... 9
Figure 3. l‟application FidMe ......................................................................................... 12
Figure 4. L‟application Snapp‟Fid .................................................................................. 13
Figure 5. L‟application Fidall ......................................................................................... 13
Figure 6. L‟application MobiFid .................................................................................... 14
Figure 7.Part de marché en 2010 Smartphone par systèmes d'exploitation.................... 18
Figure 8. Schéma montrant le fonctionnement de PhoneGap ........................................ 20
Figure 9. Interface de l‟émulateur PhoneGap ................................................................. 22
Figure 10. l‟interface de lancement de Titanium ............................................................ 23
Figure 11.Interface de l‟émulateur Rhodes ..................................................................... 24
Figure 12. Architecture adoptée pour le développement de l‟application ...................... 27
Figure 13 . Diagramme de cas d‟utilisation de client ..................................................... 32
Figure 14. Diagramme d‟activité concernant le client. ................................................... 38
Figure 15. Schéma simplifiant les attentes du client et les principales fonctionnalités .. 39
Figure 16. Diagramme de classes de l‟application Middleware ..................................... 43
Figure 17. Les classes de l‟application sur le mobile ..................................................... 44
Figure 18. Schéma de la base des données ..................................................................... 46
Figure 19. Architecture détaillée de l‟application .......................................................... 48
Figure 20. Les méthodes déployées sur le serveur ......................................................... 48
Figure 21 . Diagramme de séquence pour le cas d‟utilisation « s‟authentifier » ............ 49
Figure 22. Diagramme de séquence pour le cas d‟utilisation « inscription nouveau
membre » ........................................................................................................................ 50
Figure 23. Diagramme de séquence pour le cas d‟utilisation « consulter la liste des
cartes disponibles » ......................................................................................................... 51
Figure 24. Diagramme de séquence du cas d‟utilisation « ajouter une nouvelle carte »52
Figure 25. Diagramme de séquence du cas d‟utilisation « afficher les cartes de fidélité
personnelles » ................................................................................................................. 53
Figure 26. Diagramme de séquence du cas d‟utilisation « géo localiser enseigne » ...... 53
Figure 27 . Diagramme de séquence du cas d‟utilisation « visualiser le code à barre de la
carte » .............................................................................................................................. 54
Figure 28. Architecture Logicielle de l‟application ........................................................ 56
Figure 29. Interface principal de LWUIT Demo présentant les principaux widgets
apportés avec LWUIT ..................................................................................................... 59
Figure 30. Interface montrant l‟effet rotation ................................................................. 60
Figure 31. interface montrant les possibilités graphiques avec LWUIT ........................ 60
Figure 32. Interface graphique de l‟application « Ressource Editor » ........................... 61
Figure 33. Schéma décrivant une communication client serveur en utilisant les web
service ............................................................................................................................. 62
Figure 34. Structure d‟un message SOAP ...................................................................... 63
Figure 35. Interface de lancement de l‟application ......................................................... 65
Figure 36. Interface d‟authentification ........................................................................... 65
Figure 37. Interface ajout nouveau membre ................................................................... 66
Figure 38. Interface questionnant le client de choisir entre visualiser ses cartes ou
ajouter d‟autres cartes. .................................................................................................... 66
Figure 39. Interface liste des cartes de fidélités disponibles ........................................... 67
Figure 40. Interface détails carte..................................................................................... 68
Figure 41. Interface ajout d‟une carte ............................................................................ 68
Figure 42. Carte sélectionnée.......................................................................................... 69
Figure 43. Liste des cartes propriétaires ........................................................................ 69
Figure 44. Code 1D carte affiché .................................................................................... 70
Figure 45. QR code carte affiché .................................................................................... 70
Figure 46. Géo localisation vue satellite ......................................................................... 71
Figure 47. Géo localisation vue normal .......................................................................... 71
Figure 48. La liste des services déployés sur le serveur ................................................. 72
Figure 49. Exemple d‟un Soap Request et d‟un Soap Response. .................................. 72
La liste des tableaux
Tableau 1. Comparatif des solutions Phonegap, Titanium, Rhomobile ........................ 21
Tableau 2. Tableau comparatif mentionnant les possibilités offertes par les Os mobile et
celle des Frameworks. ..................................................................................................... 25
Tableau 3. Tableau d‟affectation des priorités ................................................................ 33
Tableau 4. Description du cas d‟utilisation « gestion des cartes de fidélité » ................ 34
Tableau 5. Description du cas d‟utilisation « géo localiser les enseignes proches » ...... 34
Tableau 6. Description du cas d‟utilisation « consultation du nombre des points »...... 35
Tableau 7. Description du cas d‟utilisation « consulter les nouvelles et promotions » . 35
Tableau 8. Description du cas d‟utilisation « authentification » ................................... 36
Tableau 9. Description du cas d‟utilisation « inscription » ............................................ 37
Tableau 10. Description du cas d‟utilisation « procéder au paiement » ........................ 37
ISI Introduction générale Taggist
Introduction Générale
Le marché des applications mobiles connait un essor phénoménal et devient une véritable
manne financière pour les entreprises.
C‟est dans cette optique, que plusieurs entreprises telles que les supermarchés et les
hypermarchés n'ont pas hésité à exploiter les avancées technologiques pour offrir des services
innovants et rapides à leurs consommateurs.
Le seul et unique objectif était la recherche perpétuelle de solutions pratiques pour fidéliser
les clients et faciliter leurs achats.
Une idée ingénieuse est née : Inutile désormais de trimballer ses cartes de fidélité lorsqu'on
veut faire ses achats, depuis qu'une application mobile a été développée pour les Smartphones
et qui stocke toutes ces cartes.
Le contexte de notre projet est de proposer une solution mobile permettant d‟avoir toutes les
cartes de fidélité toujours avec le client, en les retrouvant sur son téléphone mobile.
Ce rapport présente l‟ensemble des étapes suivies pour développer la solution. Il contient six
chapitres organisés comme suit :
Le chapitre suivant intitulé « Etude théorique et choix techniques » contient une étude des
solutions techniques existantes sur le marché en mentionnant leurs avantages et leurs
inconvénients, pour finir par donner la solution retenue.
Dans le chapitre « Analyse des besoins et spécification », nous déterminons les besoins
fonctionnels et non fonctionnels de notre application et présentons les différents cas
d‟utilisation.
Application mobile pour la gestion des cartes de fidélité Page 2
ISI Introduction générale Taggist
Le dernier chapitre intitulé « Réalisation » présente l‟environnement de travail ainsi que les
outils logiciels que nous avons utilisés pour la réalisation de notre projet. Il illustre aussi le
travail réalisé avec un ensemble d‟interfaces graphiques conçues pour l‟application.
Chapitre I : Présentation
Générale
1. Introduction
2. Cadre du travail
Ce stage s‟inscrit dans le cadre d‟un projet de fin d‟études pour l‟obtention d‟un diplôme
d‟ingénieur informatique de l‟Institut Supérieur d‟Informatique. Notre stage a été effectué au
sein d‟une Société de Services en Ingénierie Informatique (SS2I) « TAGGIST ».
Le sujet est intitulé "Conception et développement d‟une application mobile d‟un
programme de fidélité multi enseignes ".
- Prestations de conseil.
- Intégration de solutions RFID, codes à barres, NFC, biométrie et GPS.
- Développement de produits et de solutions spécifiques.
- Distribution de matériels et consommables.
TAGGIST est composée de deux groupes. Le premier groupe est spécialisé dans le
développement des solutions mobile. Le deuxième est spécialisé dans le développement des
applications web sur la plateforme J2EE. Elle est implantée dans la ville Charguia-Tunis et
la ville Kairouan.
4. Présentation du projet
Les avantages des cartes de fidélité sont nombreux aussi bien pour les clients à travers les
réductions appliqués sur leurs achats et la collecte des points de fidélité, que pour les sociétés
qui préservent à long terme leurs parts dans le marché et leurs rentabilités.
Mais le nombre de ses cartes a augmenté d‟une façon exponentielle, ce qui rend impossible
de pouvoir les transporter toujours sur soi. Nous proposons comme solution une application
mobile multi-enseignes qui a comme objectif de limiter la multiplication des supports
papiers. L'idée est simple : Enregistrer toutes ses cartes de fidélités sur son Smartphone pour
les avoir toujours sur soi. Lors du passage en caisse, le code barre de la carte de fidélité est
présenté sur l'écran du téléphone.
- Permettre le client d‟avoir toutes ses cartes de fidélité toujours sur soi.
- Informer les clients sur les nouvelles offres existantes à fin de bénéficier de tous les
avantages et réductions liées.
- Visualiser sur une carte géographique, les enseignes dont le client possède une carte de
fidélité ------
-Consulter le solde de points à travers un compte en ligne ou à travers le téléphone mobile.
Le projet comprend deux phases : la première est la recherche d‟une solution convenable pour
réaliser l‟application, et la deuxième, la phase de conception et de développement.
Phase de recherche
C‟est l‟étape qui inclut l‟étude bibliographique, dans laquelle nous devons saisir les
différentes notions et technologies à utiliser dans le projet, les architectures, etc.
Aussi, elle renferme les tests des différentes solutions mises en hypothèse pour réaliser
l‟application, et nous fixons les outils nécessaires pour la réalisation du projet.
C‟est une étape, dans laquelle, nous spécifions les besoins fonctionnels et nous modélisons le
système à réaliser pour clarifier les tâches à accomplir dans la partie développement.
Cette phase se termine par une partie qui comprend la programmation et les tests de
validation.
Nous allons adopter la méthode agile : Rational Unified Process comme un processus de
développement logiciel.
Itératif.
centré sur l'architecture.
piloté par des cas d'utilisation et orienté vers la diminution des risques.[URL 1]
Expression des
besoins
Test Analyse
Implémentation Conception
conceptuels tels que les acteurs, les processus métiers, les activités et les composants du
système, ainsi que les éléments concrets tels que les langages de programmation, les schémas
de bases de données, etc. [URL 2]
5. Conclusion
Dans ce chapitre introductif, nous avons présenté l‟organisme d‟accueil ainsi que le projet à
réaliser. Nous allons entamer maintenant la phase de préparation de ce projet qui est l‟étude
de l‟existant et la présentation des différentes solutions disponibles sur le marché.
1. Introduction
Ce chapitre a pour objet de présenter quelques applications mobiles pour la gestion des cartes
de fidélité d‟une manière détaillée, en exposant leurs fonctionnalités.
Le marché présente une panoplie des solutions informatiques dédiées à la gestion des cartes
de fidélité, que nous présentons ci-après.
2.1 FidMe
FICHE TECHNIQUE :
2.2 Snapp’Fid
Fiche technique :
Figure 4. L’application
Snapp’Fid
2.3 Fidall
Fiche technique :
Fidall vous permet tout d‟abord d‟enregistrer gratuitement une fois pour
toutes vos cartes de fidélité, afin de les retrouver sur votre téléphone mobile
Vous pourrez ensuite pour certaines cartes adhérer d‟un simple clic. Fidall
se charge de transmettre votre demande d‟adhésion à la boutique ou
enseigne de votre choix.
2.4 Mobifid
Mobifid propose aux enseignes de
dématérialiser leurs programmes de fidélité sur
téléphone portable.
L'application Mobifid est brindée aux couleurs
de l'enseigne. Elle permet au consommateur de
gérer sa carte de fidélité, recevoir des coupons
de réductions, cumuler des points, consulter le
catalogue cadeau....
3. Critiques de l’existant
Quelle que soit la technologie utilisée ou les services supplémentaires apportés aux
consommateurs par ces solutions, un enjeu majeur reste l'intégration de la solution aux
systèmes d'information de l'enseigne. La remontée d'informations doit être efficace et
pertinente. Les données remontées par ces applications doivent être intégrées au SGBD de
l'enseigne.
De plus, nous constatons que la plupart des firmes offrant ces applications, présentent une
version ciblée pour chaque Os mobile (ex : offrir une application développé avec Objective C
sur l‟Apps Store pour les SmartPhone iPhone, une autre version téléchargeable depuis
l‟Android Market faite avec Java pour des appareils supportant Android, d‟autres dédiées
aux Blackberry etc.).
Nous cherchons à développer une solution générique qui serait compatible avec toutes les Os
mobiles disponibles sur le marché sans être obligé à reprendre le travail de développement
pour chaque plateforme.
4. Conclusion
Dans ce chapitre nous avons essayé d‟étudier quelques applications mobiles de gestion des
cartes de fidélité dans le but d‟avoir une idée sur les fonctionnalités de ces dernières et de
ressortir leurs points forts. Sur la base de cette étude, nous allons élaborer la spécification de
notre application. Une étude théorique sur les plates formes open source dédiées pour des
applications Smartphones fonctionnant sur plusieurs Os mobiles fera l‟objet du chapitre
suivant.
1. Introduction
Ce chapitre est décomposé en trois sections importantes. Tout d‟abord, une étude
préliminaire sur les Smartphones, les Framework dédiés pour le développement mobile multi-
plate formes, et par la suite le choix de la solution technique à adopter. Et enfin, une vue
globale sur la plateforme du projet.
2. Etude Préliminaire
2.1 Smartphones et systèmes d’exploitation pour mobiles
Vu la grande importance des téléphones intelligents, une grande variété d‟entreprises se place
dans le marché des Smartphones en développant des systèmes d‟exploitation pour mobiles.
Vers la fin de l‟année 2007, les systèmes d'exploitation les plus répandus dans le monde sont:
En 2008, le nouveau système d'exploitation open source Android, développé par Google, a
fait son apparition.
En 2009, Palm Inc lance le Palm pré-équipé du Palm webOS . D'autres systèmes
d‟exploitation sortent sous Linux. Microsoft, Symbian et Blackberry mettent à jour leurs
systèmes pour rester au niveau de l'iPhone OS et d'Android. Au début de 2010, une autre
enquête sur les systèmes d'exploitation les plus courants en France, indique que Symbian est
le grand perdant dans le développement du marché durant ces deux dernières années et que
Blackberry, Windows Mobile, iPhone OS et Android sont devenus les systèmes d'exploitation
les plus utilisés : La Figure 7 présente le taux d‟occupation du marché par ses systèmes
d‟exploitation :
D'autres systèmes d'exploitation sont en développement au début de 2010 tels que Bada
développé par Samsung et MeeGo le produit de Intel et Nokia.[ URL 7]
2.2 Problématique
Cette diversité au niveau des plateformes mobiles, met les sociétés éditrice des logiciels dans
l‟embarras du choix de l‟environnement du développement.
Taggist a pensé dans un premier lieu à concevoir une application mobile multi-plate forme,
c'est-à-dire compatible et fonctionnelles sur plusieurs os de smartphones (iphones,
android,etc.)
Ceci devient de plus en plus possible pour des petites applications simples grâce aux
nombreux Frameworks open source dédiées pour des applications Smartphones
multiplateforme. Ces applications sont développées avec des langages destinés au web (de
plus en plus, html5 et JavaScript).
Malgré le fait que chaque Smartphone parle une langue totalement différente que les autres,
ils partagent un grand avantage, c'est qu'ils ont tous un navigateur web, afin qu'ils
comprennent tous HTML, CSS et JavaScript. Donc, c'est le point d'entrée pour toute
technique de ciblage multiplateforme. La Figure 8 illustre un exemple concret de
fonctionnement de PhoneGap, l‟un de ces Frameworks mobiles
2.3.2 Avantages
- "Write once run every where" (en fait ce n'est pas de cette façon que les choses se passent,
la plupart du temps, c'est «Write once debug every where").
Donc, pas de phase d'apprentissage pour chaque plate-forme, et pas de temps de
développement supplémentaire pour le portage à chaque plate-forme, seul un petit effort pour
un déploiement sur des plateformes différentes.
2.3.3 Inconvénients
- Plus approprié pour les applications orientées données, mais moins efficace dans les
applications multimédia riches.
- Le Look & Feel est le même sur toutes les plateformes: la quasi-totalité de ces Framework
ont décidé de fonder l‟apparence de leurs composants graphiques similaires à celle de
l'iPhone. Bien que cette décision permet de créer des applications presque identiques à des
applications natives sur l'iPhone, mais cela risque de décevoir ou de frustrer certains
Nous allons étudier les 3 principales technologies de base à savoir: Phone gap, Titanium, et
Rhodes .Le tableau Tableau 1 représente un comparatif de solutions open source pour créer
des applications pour smartphones qui seront fonctionnelles sur plusieurs OS .[URL 11]
2.3.4.1 PhoneGap
Description :
PhoneGap crée des applications mobiles utilisant les technologies web seulement: HTML,
CSS et JS. Une application Téléphone n'est pas si différent d'une application web en mode
Ajax: les pages ne sont jamais (ou rarement) rafraîchie, et l'interface et l'application sont gérés
entièrement en JavaScript.
Ce choix de technologies signifie que PhoneGap peut être utilisé seuls pour des applications
simples, ou peut être combiné avec des framework JavaScript comme Sencha Touch, jQuery
Mobile ou avec un langage mobiles tels que MOBL . Ces Framework aident à développer des
applications avec des interfaces utilisateurs riches, intuitives et conviviales.
Inconvénients :
Malgré le fait que JavaScript soit largement utilisé, l'expérience de l'utilisateur dépend
beaucoup de la puissance de l'appareil et l'accélération de certaines fonctions au
niveau du matériel. Certains téléphones Android, par exemple, offrent une interaction
rapide et de qualité élevée, tandis que d'autres offrent une expérience plus limitée et
presque lente.
Description : Les applications faites avec Titanium sont compilées pour l'OS de destination.
Elles paraissent donc plus natives que celles développées avec PhoneGap et sont moins
gourmandes en ressources.
Inconvénients :
Il n'est pas toujours facile de construire un code qui fonctionne sur Android et
iPhone. Certains composants sont parfois présents sur une plate-forme, mais pas
forcément sur l'autre, certains comportements ne sont pas les mêmes sur l'un ou
l'autre.
Description :Rhodes est basé sur un modèle complètement différent: chaque application
mobile embarque un VM Ruby, un framework minuscule basé sur le modèle MVC sur Ruby
on Rails et un serveur Web simplifiée. Il supporte une large gamme d'appareils: la version
BlackBerry 4,6 +, 5.x, 6.x, Android, IOS et Windows Mobile.
Inconvénient :
Caractéristiques Graphique: Avec Rhodes, les vues sont créées sous forme de pages
HTML. Il y a des composants natives que nous pouvons accéder. jQTouch (un
plugin JQuery pour le développement mobile) est également intégré, mais dans
l'ensemble, les applications créées ont une apparence plus proche du "web" et moins
"native" et pas nécessairement conviviales.
2.3.5 Outils
Rhodes : apporte avec lui un cœur dédié pour la construction et le paquetage des applications
et possède un éditeur web web tool pour accomplir ses tâches.
Phonegap : dépend des outils de développement natives intégrés avec chaque plateforme
SDK, xCode pour iPhone, le plugin Eclipse pour Blackberry
2.3.6 Conclusion
du site)
Mode de Mode offline / online Doit être en mode online
fonctionnement
Apparence Apparence native Pas nécessairement
Complexité de complexe Dédiée pour des applications
l’application simple
Tenant compte de cette étude, nous avons jugé que ces Framework sont des solutions non
fiables surtout avec des applications complexes et gourmandes en ressources. Alors, la
sélection d‟une de ces plateforme serait un risque potentiel qui pourra engendrer des résultats
inattendues.
Suite à cette constatation, nous avons choisi de travailler avec la plate forme J2ME et de
reprendre la même application sur les autres environnements (Blackberry, iPhone, Android )
avec d‟autres collègue.
La Figure 12 illustre l‟architecture à adopter pour notre application. Tout d‟abord, notre
projet sera défalqué en trois modules :
- Une partie cliente : elle consiste à la réalisation des différentes interfaces de l‟application
mobile ainsi que l‟interprétation des données fournis et leurs affichages.
- Une partie serveur : Cette partie permet l‟alimentation de la partie cliente avec les données.
De plus, elle permet l‟insertion, la consultation des données et la mise à jour de l‟application
cliente.
3. Conclusion :
Nous avons présenté dans ce chapitre une idée sur l‟architecture à adoptée dans notre projet. De
plus, nous avons présenté la solution retenue et les technologies à utiliser. Une étude plus
approfondie sera présentée dans les prochains chapitres. L‟analyse des besoins et la spécification
feront l‟objet du chapitre suivant.
Chapitre IV : Analyse et
spécification des besoins
1. Introduction
La phase d‟analyse et spécification des besoins présente une étape primordiale dans le cycle
de développement d‟un projet. En effet, elle permet de mieux comprendre le travail demandé
en dégageant les besoins des différents utilisateurs que le système doit accomplir.
L‟objectif de notre travail est de concevoir et développer une application mobile pour un
programme de fidélité multi-enseignes qui permettra à un client connecté à partir du site ou de
son mobile(J2ME) de gérer ses cartes.
Cette section a pour objet de présenter les acteurs et leurs fonctionnalités à lesquelles doit
répondre notre application. Nous commençons notre analyse par identifier les acteurs qui
agissent sur notre système à savoir :
Le client : Le client est un acteur principal qui interagit avec notre application. Cette
personne bénéficie de toutes les fonctionnalités de l‟application en mode connecté ainsi qu‟en
mode non connecté.
L’enseigne : c‟est un acteur principal qui intervient seulement dans la partie web. Il présente
ses différentes agences, boutiques, dans le but d‟exposer leurs cartes de fidélité.
Le Client :
Ouvrir un compte sur cette application s‟il n‟est pas encore inscrit.
Ajouter une carte de fidélité sur son mobile (saisir les détails de la carte : nom,
prénom, N° de la carte)
Choisir l‟une de ces cartes de fidélités déjà acquis.
Adhérer à une nouvelle carte de fidélité.
Géo localiser les enseignes proches dont il possède une carte de fidélité.
Retrouver le solde des points de certaines cartes de fidélité.
Procéder aux paiements des cartes sélectionnées.
L’enseigne peut :
Gérer ses cartes :
o Consulter la liste de ses cartes.
o Ajouter une carte avec spécification du nombre des points offerts,
délais de validité de la carte...
o Modifier la description d‟une carte.
o Supprimer une carte.
Gérer les offres :
o Consulter la liste de ses offres.
o Ajouter une nouvelle offre (délai de l‟offre, description de l‟offre).
o Modifier une offre (délai, détails).
o Supprimer une offre.
L’administrateur peut :
Gérer les comptes des utilisateurs: ajout, modification, suppression,
consultation d‟un compte utilisateur.
Gérer les cartes : ajout, modification, suppression, consultation d‟une carte.
Gérer les offres sur les cartes : ajout d‟une nouvelle offre, modification d‟une
offre, suppression d‟une offre lors ce qu‟elle dépasse la date limite.
Après avoir déterminé les besoins fonctionnels nous présentons ci-dessous l‟ensemble des
contraintes à respecter pour garantir la performance du système, donc de fournir un produit
performant qui respecte les exigences de l‟utilisateur et qui peut faire face à des risques de
panne ou de non fonctionnement.
Performance :
Afin d‟être acceptée par le client, notre application doit respecter ce critère tout en assurant
un temps de réponse minimum et des fonctionnalités rependant aux besoins de l‟utilisateur.
La simplicité:
L’ergonomie de l’interface :
Les interfaces doivent être simple et conviviale : On doit essayer le maximum d‟éliminer
l‟encombrement.
La modularité de l’application :
La Figure 13 illustre les différentes fonctionnalités offertes pour le client à travers notre
application mobile.
<<extend>>
Inscription
Client Finaliser profil
<<include>>
Géolocaliser les enseignes
<<include>>
<<include>>
Procéder au paiement
<<include>>
A cette étape de cycle de développement, il est nécessaire de déterminer les cas d‟utilisation
les plus prioritaires. Le choix repose sur la dépendance des cas d‟utilisation, de l‟activité de
l‟entreprise et des choix des utilisateurs.
2.5.2.2 Raffinement du cas d’utilisation «géo localiser les enseignes proches du client»
connexion
Dans ce qui suit, une figure récapitulative et simplifiée des objectifs à entamer et de
l‟architecture à mettre en place.
Figure 15. Schéma simplifiant les attentes du client et les principales fonctionnalités
Conclusion :
Dans ce chapitre, nous avons énuméré les différents besoins fonctionnels et non fonctionnels
de notre application. Ensuite, nous avons fait une étude des différents cas d‟utilisation de
notre solution. Ce chapitre a été d‟une importance cruciale surtout pour la compréhension des
besoins et attentes du client.
Chapitre V : Conception
1. Introduction
Dans ce chapitre nous abordons la partie conception du projet, dans laquelle, nous détaillons
les différents éléments de conception, à savoir les diagrammes de séquences, et les
diagrammes de classes.
2. Conception détaillée
La conception est la plus importante étape du cycle du développement logiciel. Elle se base
essentiellement sur la bonne spécification et l‟analyse des besoins. Notre démarche débute par la
compréhension du problème. Ensuite nous analysons le problème pour donner une solution
adéquate. A présent, nous sommes dans la phase de concevoir la solution. Notre conception doit
obéir à l‟architecture déjà choisie pour les différentes parties du système d‟où cette phase
préliminaire qui nous permettra de définir les composants globaux de notre système.
Classe Client : est la classe qui contient toutes les informations concernant le client.
Classe Enseigne : est la classe qui contient tous les détails concernant une enseigne.
Classe Carte Service : est la classe qui représente réellement la carte de fidélité avec sa
description, sa validité, son prix d‟achat, le taux de remise accordé, les nombres des points
gagnés en échange d‟un montant dépensé et son état soit activée ou non.
Classe Catégories : elle sert à classifier les cartes de fidélité sous des catégories par exemple :
les produits alimentaires, cosmétiques, motos et autos …
Classe Plage Code : sert à associer et restreindre une plage spécifique de code pour une carte
de fidélité.
Classe Promotion : contient tous les détails d‟une offre lancée par une enseigne.
Classe coordonnée : enregistre les longitudes et les latitudes d‟une enseigne pour faciliter sa
localisation dans Google Maps.
Classe compte : sert à associer une carte de fidélité précise à un client donné tout en
enregistrant ses détails tels que son cumul de points de fidélités, sa date d‟acquisition, son
code à barre.
Classe Connexion : gère les connexions à l‟application (contient tous les logins et mots de
passe) qui servent à la phase d‟authentification.
Classe Préférences : sert à présenter une liste non exhaustive des préférences d‟un client pour
que les offres ou les campagnes publicitaires soient bien ciblées.
Classe ApourPréférences : c‟est une classe de jointure entre la classe client et la classe
préférence.
La classe LocalMidlet est la Midlet de notre application qui représente l‟élément principale.
Elle a des relations avec toutes les classes de notre projet.
La classe SoapConnection est la classe qui gère les relations d‟échanges et d‟analyse des
données transitant entre le web service et notre application.
La classe Checksum sert à vérifier la cohérence des codes à barres insérés et s‟ils respectent
les normes EAN13.
La classe BarcodeFunction est la classe responsable de génération des codes à barres sous la
forme EAN13 ou Qrcode
La classe GoogleMap est la classe responsable de gé localisation et d‟ajout des marqueurs sur
la carte géographique.
Les classes restantes sont des formes et représentent les interfaces de l‟application mobile.
La Figure 18 représente les tables utilisé dans notre base des données .Ces tables représentent
l‟unité de persistance de notre application.
client
id_cli int <pk>
id_lo int <fk>
nom_cli varchar(255) plage
FK_IDENTIFIER_CLI2
prenom_cli varchar(255)
adresse_cli varchar(255) id_plage int <pk>
ville longtext plage_min bigint
code_pos varchar(255) plage_max bigint
tel_cli longtext etat_plage bool
...
email_cli longtext
categorie cin_cli varchar(20)
id_cat int <pk> date_naiss date
type_carte
type_cat varchar(255) situation_fam varchar(50)
prof longtext id_type int <pk>
libelle varchar(255)
FK_SPECIFIER
FK_LIER
FK_POSSEDER
carte_service
id_carte int <pk>
compte
connexion id_ens int <fk1>
id_comp int <pk> id_type int <fk3>
id_lo int <pk> FK_IDENTIFIER_CLI
id_carte int <fk2> id_plage int <fk2>
id_cat int <fk3> id_cli int <fk1> desc_carte varchar(255)
login varchar(50) code_bar longtext FK_APPARTENIR
validation numeric(8,0)
pwd varchar(50) montant_comp double prix_ach float
etat_lo bool nbr_pt numeric(8,0) taux_rem float
etat_comp bool montant float
code_pin numeric(5,0) FK_APPARTINE nb_pt int
date_acq date etat bool
FK_IDENTIFIER_ENS identification text ...
motdePasse text
FK_OFFRIR
enseigne
id_ens int <pk>
id_lo int <fk>
nom_com varchar(255) FK_GERER
adresse_com varchar(255)
ville_com varchar(50)
FK_IDENTIFIER_ENS2 promotion
code_pos_com numeric(8,0)
tel_com varchar(20) id_pro int <pk>
mail_com varchar(255) id_carte int <fk>
num_rg varchar(255) desc_pro varchar(255)
... prix_ach_pro float
taux_rem_pro float
montant_pro float
nb_pt_pro int
date_deb_pro date
coordonnee
date_fin_pro date
id_cor int <pk> ...
id_ens int <fk>
longitude_ven float
latitude_ven float
FK_LOCALISER
adresse_cor varchar(255)
ville_cor varchar(50)
tel_cor varchar(20)
mail_cor varchar(255)
...
Pour réaliser notre application, nous avons opté pour une architecture n-tiers à base d‟objets.
C‟est un modèle logique d‟architecture applicative qui vise à séparer nettement 3 couches
logicielles au sein d‟un même système. Le rôle de chaque couche est clairement défini comme
suit:
Couche présentation des données: Contient les interfaces qui vont interagir avec
l‟utilisateur de l‟application.
L’accès aux données persistantes: correspondant aux données qui vont être gardées
de manière persévérante.
Dans cette approche, les couches communiquent entre elles à travers un « modèle d‟échange »
et chacune d‟entre elles propose un ensemble de services rendus. Les services d‟une couche
sont mis à la disposition de la couche supérieure.
Dans cette partie, nous allons détailler notre architecture en l‟illustrant par des diagrammes de
paquetage illustré par la Figure 19.
L‟application doit garantir une indépendance des modules accomplissant les différentes
fonctionnalités prédéfinies. Le choix des packages dépend fortement de l‟architecture de
l‟application décrite précédemment.
Le package présentation contient la classe principal LocalMidlet qui est le moteur de
l‟application Java mobile. Initialement, elle regroupe un ensemble de méthodes prédéfinie
nécessaire pour la réalisation et le déclenchement de l‟application mobile (startApp(),
pauseApp(), destroyApp(), commandAction()).
Notre application mobile réalise un ensemble de fonctionnalités principales (La mise à jour des
données, le parse des fichiers XML provenant des messages SOAP généré par le web service.
Ces tâches sont principalement gérées par la classe SoapConnection qui joue un rôle
primordial de consommation de web service .
La figure ci-dessous présente les méthodes déployées sur le serveur, et que nous pouvons
accéder à travers les messages SOAP.
Selon la Figure 22, le système invite l‟utilisateur à choisir ses paramètres d‟accès (login et
mot de passe). Il essaie ensuite de vérifier l‟unicité de ses paramètres .Lorsque tout est réglé,
un message de confirmation évoque le succès de l‟inscription.
Après une procédure d‟authentification réussie, le client pourrait consulter la liste des cartes
de fidélités disponibles. Dans le cas échéant, il pourrait soit adhérer à cette carte ou tout
simplement l‟ajouter à ses cartes personnelles.Ce scénario est décrit dans la Figure 23.
Figure 23. Diagramme de séquence pour le cas d’utilisation « consulter la liste des cartes
disponibles »
L‟ajout d‟une carte nécessite que le client ne possède pas auparavant une carte de même type.
En plus lors de la saisie du code à barre, le client doit respecter les normes de codage EAN13
sinon un message d‟erreur s‟affiche inhibant ainsi l‟opération d‟ajout de la carte.
Si toutes les conditions sont remplies correctement, la nouvelle carte s‟ajoute au compte
client.
Figure 24. Diagramme de séquence du cas d’utilisation « ajouter une nouvelle carte »
Le diagramme de la Figure 25, illustre les interactions entre un client et l‟application lorsque
ce dernier désire visualiser ses cartes personnelles. Il peut ensuite consulter son solde des
points, géo localiser les enseignes, présenter son code à barre à la caisse au moment d‟achat.
Figure 25. Diagramme de séquence du cas d’utilisation « afficher les cartes de fidélité
personnelles »
2.4.6 Le cas d’utilisation « géo localiser les enseignes sur une carte»
La fonction de géo localisation aide l‟utilisateur à accéder facilement à ses enseignes dont il
possède une carte de fidélité.
Au moment de paiement chez la caisse, le client peut montrer le code à barre de sa carte pour
qu‟il bénéfice des réductions et offres accordées par une marque donnée.
3. Conclusion
Dans ce chapitre nous avons détaillé les différentes vues conceptuelles des applications à
réaliser à travers les modèles UML nécessaires. Cette conception est essentielle pour la phase
de réalisation qui constitue l‟objet du chapitre suivant.
Chapitre VI : Réalisation
1. Introduction
2. Environnement de travail
2.1 Environnement matériel
Machine de développement : ordinateur portable Sony Vaio, Intel® Pentium® M 1,7 Ghz, 2 Go
de RAM.
Nous avons intérêt à mettre en place une architecture rigoureuse, de manière à garantir la
maintenabilité, l'évolutivité et l'exploitabilité de notre application. La Figure 28 montre
l'architecture qui sera mise en place dans le cadre de notre projet.
Java 2 Micro Edition est une architecture technique dont le but est de fournir un socle de
développement aux applications embarquées. L‟intérêt étant de proposer toute la puissance
d‟un langage tel que Java associé aux services proposés par une version bridée du Framework
J2SE : J2ME.
• Les profiles : Ils permettent à une certaine catégorie de terminaux d‟utiliser des
caractéristiques communes telles que la gestion de l‟affichage, des évènements
d‟entrées/sorties (pointage, clavier, …) ou des mécanismes de persistance (Base de données
légère intégrée). Ces profiles sont soumis à spécifications suivant le principe du JCP (Java
Community Process)
La technologie J2ME se compose d‟une machine virtuelle et d‟un jeu d‟APIs appropriées
pour fournir des environnements d‟exécution sur mesure aux terminaux mobiles. Les 2 types
de composants principaux de la technologie J2ME sont les configurations et les profils.
Une configuration est composée d‟une machine virtuelle, des bibliothèques du noyau, de
classes et d‟APIs. Actuellement, il y a deux configurations J2ME possibles :
CLDC est créée pour les terminaux dont les ressources processeur et mémoire sont limitées.
Généralement, ces terminaux fonctionnent soit sur un processeur 16-bit, soit sur un 32-bit et
disposent de moins de 512 Kbytes de mémoire disponible pour la plate-forme Java et ses
applications.
CDC est créée pour la prochaine génération de terminaux disposant de plus de ressources.
Généralement, ces terminaux fonctionnent sur un processeur 32-bit et disposent de 2 Mbytes
ou plus de mémoire disponible pour la plate-forme et ses applications.
Les Profiles
Un profile définit la structure d‟une application. Il est basé sur une configuration et c‟est la
base pour produire un environnement de fonctionnement complet pour un type d'appareil
donné. Il fournit généralement l'interface utilisateur, les méthodes d'entrées-sorties et le
mécanisme de persistance pour un groupe d'appareil (alors un seul terminal peut supporter
plusieurs profils). Toutefois certains profils peuvent être créés pour répondre à certaines
capacités ou services d'appareils (RMI, multimédia, etc.).
Il existe plusieurs profiles dont nous citons : MIDP (Mobile Information Device Profile),
Foundation Profile
Le profil « MIDP » est destiné à la configuration CLDC. Il prend en charge un nombre limité
des classes de J2SE et définit des classes d'entrée/sortie et d'interface spécialisées pour cette
configuration.
Les Midlets
Les Midlets sont l'élément principal d'une application Java embarquée. Pour bien saisir leur
mode de fonctionnement, il suffit de prendre comme analogie les Applets ou les Servlets.
Le cycle de vie d‟une Applet est géré par un conteneur, en l‟occurrence le Navigateur Web,
dont le rôle est d‟interagir avec celle-ci sous la forme de méthodes de notifications prédéfinies
(init(),paint(),destroyed(),…).
2.2.2 LWUIT
Développée par Sun, LWUIT (LightWeight UI Toolkit) est une librairie de composants
graphiques pour J2ME sortie en 2008.[URL 13]
Cette librairie apporte des composants graphiques plus riches que les librairies standards pour
le développement d'applications mobiles.
Figure 29. Interface principal de LWUIT Demo présentant les principaux widgets
apportés avec LWUIT
Les principaux caractéristiques sont :Touch Screen, Animations & Transitions, Widgets, 3D
Integration, Painters, Modal Dialogs, External Tools, Fonts, rich widgets,themes
Principaux avantages :
API Familier
• Facilité de déploiement
• Consistent + extensible
Transitions
Designer Tool (“Ressource Editor”) : éditeur graphique pour créer des Interfaces
utilisateurs intuitives et conviviales. Il est développé pour les designers. Il s‟agit d‟une
application autonome qui permet de créer des thèmes dédiés aux applications mobiles.
C‟est une API qui permet l‟intégration rapide et facile de la carte GPS à une application
J2ME. The API is easy to use as entering an address and returns the coordinates for the same
image of the map sought. The API uses Google Maps statics.
L'API est si facile à utiliser il suffit d'entrer une adresse et l‟API se charge de renvoyer les
coordonnées et l'image satellitaire. La bibliothèque permet aussi d‟ajouter des marqueurs
sur la carte. Elle utilise les API Google Maps statique. [URL 15]
SOAP (ancien acronyme de Simple Object Access Protocol) est un protocole utile pour
exécuter des dialogues requête-réponse RPC (Remote Procedure Call).C‟est un protocole
orienté objet basé sur XML. Il permet la transmission de messages entre objets distants, ce qui
veut dire qu‟il autorise un objet à invoquer des méthodes d‟objets physiquement situés sur un
autre serveur. Le transfert se fait le plus souvent à l‟aide du protocole HTTP, mais peut
également se faire par un autre protocole, comme SMTP.[URL 16]
Figure 33. Schéma décrivant une communication client serveur en utilisant les web
service
une enveloppe, contenant des informations sur le message lui-même afin de permettre
son acheminement et son traitement
un modèle de données, définissant le format du message, c‟est-à-dire les informations
à transmettre.
2.2.5.2 KSOAP 2
Une bibliothèque SOAP client léger, idéale pour les appareils mobiles telles que les
applications J2ME (CLDC / CDC / MIDP) pour consommer les web service. il faut construire
à la main sa requête SOAP, et ensuite parser le résultat soi-même. kSOAP2 est relativement
facile une fois que vous savez quelques concepts de base: Comment établir une connexion,
comment envoyer une demande, et comment accéder aux objets dans une réponse analysée.
[URL17].
Axis2 est une Framework utile pour la génération des web service. Elle se trouve avec deux
implémentations Apache Axis2/Java et Apache Axis2/C. C'est un package Java libre qui
fournit :
2.2.5.4 Hibernate
C‟est un Framework pour J2EE qui est capable d‟écrire soit même les classes qui seront
ensuite exposées au code métier. Il s‟occupe aussi du transfert des classes Java dans les tables
de la base de données. Il permet également d‟interroger les données et proposer des moyens
de les récupérer. [URL 19]
3. Interfaces de l’application
Nous exposerons quelques interfaces de notre application, en essayant à chaque fois de décrire les
différents objets interactifs mis à la disposition de l‟utilisateur.
Figure 40. Interface détails carte Figure 41. Interface ajout d’une carte
Figure 43. Liste des cartes propriétaires Figure 42. Carte sélectionnée
Lorsque le client choisit de visualiser ses propres cartes, une liste apparaît .elle
contient toutes les cartes possédés par ce dernier. Lorsqu‟il ferait une sélection, la
taille de la carte choisie, grandit et un menu apparaît en dessous présentant des
fonctionnalités tels que : l‟affichage du Qrcode de la carte, l‟affichage du code
1D de la carte, la géo localisation des enseignes associées à cette carte (Figure
42).
Figure 44. Code 1D carte affiché Figure 45. QR code carte affiché
Figure 47. Géo localisation vue normal Figure 46. Géo localisation vue satellite
5. Conclusion
Dans ce chapitre nous avons détaillé les technologies utilisées pour la réalisation de notre projet
ainsi que les fonctionnalités de base de l‟application à travers un ensemble de captures d‟écran.
Conclusion générale
L‟objectif de ce projet de fin d‟étude était de concevoir et développer une application mobile
pour la gestion des cartes de fidélité.
Nous avons confrontés des contraintes techniques dans la phase du développement. En effet,
nous avons passé plus de temps pour l‟intégration des web services avec l‟application mobile
et de gérer la façon de communication entre les deux. Ainsi, nous avons utilisé LWUIT afin
de faire le design des interfaces, ce qui nous a poussé à s‟auto-formé avant d‟entamer cette
phase.
L‟expérience au sein d‟un cadre professionnel, nous a été bénéfique. Ce stage nous a permis
de nous familiariser à la vie professionnelle, d‟exploiter des notions fondamentales dans
l‟orienté objet, et d‟approfondir nos connaissances théoriques, acquises à l‟Institut Supérieur
d‟informatique, par la pratique de l‟informatique. Nous souhaitons que la société adopte
réellement notre application et essayera de la commercialiser.
Annexe
1. Systèmes d'exploitation utilisés par les Smartphones en 2009
1.1 Symbian OS
( 17.2% Part de marché ) Android de Google Inc. fut développé par une petite startup qui fut
acheté par Google qui poursuit activement son développement. Android distribué sous licence
open source, est une variante de Linux. Google a lancé Open Handset Alliance qui regroupe
des grands constructeurs et développeurs de logiciels (tel que Intel, HTC, ARM, Samsung,
Motorola and eBay). Ce système est assez nouveau auprès des programmeurs. Il a eu six
version - Android 1.0, 1.5, 1.6, 2.0, 2.1 et 2.2. De 2009 au second trimestre 2010, la part de
marché de l'Android est passé de 1.8% to 17.2% avec un taux de croissance de 850%..
Le téléphone iPhone,l' iPod Touch et la tablette iPad utilisent tous le système d'exploitation
iOS, qui est dérivé de Mac OS X. Les applications tierces sont supportés depuis juillet 2008.
La boutique Apple propose 300 000 applications web.
Le système Windows CE est largement distribué en Asie. Les deux variantes du système
d'exploitation Windows Mobile 6 Professional (for touch screen devices) etWindows Mobile
6 Standard lancé en février 2007 n'ont pas été adoptées.
La part de marché de Window mobile a décliné ces dernières années pour une part de marché
de 5% en 2010. Microsoft a remplacé son ancien système d'exploitation par windows 7
mobile.
1.7 Linux
Linux a une bonne part de marché en Chine grâce à Motorola et au Japon avec la société
DoCoMo.
Le premier appareil qui exploite Bada est le 'Wave' et fut lancé en 2010. Il s'agit d'un
téléphone 100% tactile qui dispose d'une boutique appelé Samsung Apps. Cette boutique n'a
que 300 applications.[URL 20].
Impaire : 1 + 3 + 5 + 7 + 9 + 1 = 26
Paire : 2 + 4 + 6 + 8 + 2 = 22
Glossaire
Toutes ces définitions sont issues de l‟adresse électronique suivante [URL 22]
RPC :
(Remote Procedure Call) est un protocole réseau permettant de faire des appels de procédures
sur un ordinateur distant à l'aide d'un serveur d'applications. Ce protocole est utilisé dans le
modèle client-serveur et permet de gérer les différents messages entre ces entités.
SOAP :
(ancien acronyme de Simple Object Access Protocol) est un protocole de RPC orienté objet
bâti sur XML.Il permet la transmission de messages entre objets distants, ce qui veut dire qu'il
autorise un objet à invoquer des méthodes d'objets physiquement situés sur un autre serveur.
JAX-RPC :
est l'abréviation de "Java API for XML-based RPC". Il s'agit d'une API Java (définie par Sun
Microsystems) permettant de transmettre des messages SOAP en mode RPC. La version
suivante a changé de nom : JAX-WS.
JAX-WS :
L'API Java pour les Web Services (JAX-WS) est un langage de programmation Java API pour
la création des web services. Il fait partie de la plate-forme Java EE de Sun Microsystems.
Comme les autres API Java EE, JAX-WS utilise les annotations, introduit dans Java SE 5,
pour simplifier le développement et le déploiement de clients de services Web et les
terminaux. Il fait partie de la Java Web Services Pack de développement.
Le code QR :
en anglais, QR code pour Quick Response) est un code-barres en deux dimensions (ou code à
matrice) constitué de modules noirs disposés dans un carré à fond blanc. Le nom QR est
l'acronyme de l'anglais Quick Response, car son contenu de données peut être décodé
Le code EAN 13 :
(European Article Numbering à 13 chiffres) sont les codes à barres utilisés dans le monde
entier sur l'ensemble de produits de grande consommation (On utilise parfois le code EAN 8
pour les objets de petite taille). Ils comportent 13 chiffres dont la signification varie suivant le
type du produit.
GPS : Le Global Positioning System (GPS) – que l'on peut traduire en français par « système
de positionnement mondial » est un système de géolocalisation fonctionnant au niveau
mondial.
JQuery Mobile est un framework crée par le projet jQuery dont la première version est sortie
en octobre 2010. Il est actuellement disponible en version 1.0 alpha 4.1 (depuis le 7 avril) et
sous les licenses MIT et GPL2.Le principal atout de jQuery Mobile est sa compatibilité avec
un grand nombre de plateformes mobiles et navigateurs.
Webographie
[URL 1] http://sabricole.developpez.com/uml/tutoriel/unifiedProcess/
[URL 2] http://www.chef-de-projet.org/methode/uml.htm
[URL 3] http://www.fidme.fr/accueil/
[URL 4] http://www.snapp.fr/fr/produits/snapp-fid/
[URL 5] http://www.fidall.com/
[URL 6] http://www.mobifid.com/
[URL 7]http://fr.wikipedia.org/wiki/Smartphone
[URL 8] ftp://ftp-developpez.com/pastel-pro/mobiles/frameworks/comparatif-
applications-smartphones-open-source/Frameworks-open-source-pour-applications-
smartphones-multiplateformes.pdf
[URL 9] http://blog.smile.fr/Appcelerator-annonce-la-sortie-de-Titanium-Studio-1.0
Bibliographie
[Xavier 2006] : Xavier Blanc & Isabelle Mounier, UML 2 pour les développeurs, Eyrolles,
2006 ISBN 2-212-12029-5