Projet Fin D'étude Application Mobile

R

Conception et réalisation d'une application mobile d'un comparateur de cours de change de toutes les banques

Ministère de l'Enseignement Supérieur et de la Recherche Scientifique
Université de Carthage
Faculté des Sciences Economiques et De Gestion de Nabeul
RAPPORT DE STAGE
Présenté en vue d'obtenir le diplôme de la LICENCE FONDAMENTALE
SPECIALITE : Informatique Appliquée à la Gestion
Elaboré par
Mlle. RIM ENNOUR
Conception et réalisation d'une première application
mobile en Tunisie d'un comparateur de cours de
change de toutes les banques de la région de Nabeul .
Réalisé au sein de
Bank e-Conseil
Encadré par
Encadrant universitaire Encadrant professionnel
Mme. Zouhour ben Salem Mr. Moez Mrad
Année universitaire
2016-2017
Page 2
DEDICACES
Toutes les lettres ne sauraient trouver les mots qu'il faut...
Tous les mots ne sauraient exprimer la gratitude, l'amour, le respect,
la reconnaissance...
Aussi, c'est tout simplement que je dédie ce projet de fin d'études...
A mes chers parents Rafik & Nejla
Autant de phrases et d'expressions aussi éloquentes soient-elles ne sauraient exprimer ma
gratitude et ma reconnaissance. Vous avez su m'inculquer le sens de la responsabilité, de
l'optimisme et de la confiance en soi face aux difficultés de la vie. Vos conseils ont toujours
guidé mes pas vers la réussite. Votre patience sans fin, votre compréhension et votre
encouragement sont pour moi le soutien indispensable que vous avez toujours su m'apporter.
Je vous dois ce que je suis aujourd'hui et ce que je serai demain et je ferai toujours de mon
mieux pour rester votre fierté et ne jamais vous décevoir. Que Dieu, le tout puissant, vous
préserve, vous accorde santé, bonheur, quiétude de l'esprit et vous protège de tout mal.
A mon cher frère Amir & mon Fiancé Hamda
Merci d'être toujours à coté de moi, par vos présence, par vos amour dévoué et vos tendresse,
pour donner du goût et du sens à ma vie. En témoignage de mon amour et ma grande
affection, je vous prie de trouver dans ce travail l'expression de mon estime et mon sincère
attachement.
A mon oncle Moez et ma tante Sana
Merci de m'avoir protégé et rassurée ,de m'avoir aider à surmonter tellement d'obstacle,
d'avoir toujours était la pour moi. Merci pour l'amour d'un père et d'une grande sœur, vous
m'avais toujours offert. Je prie Dieu, le tout puissant, pour qu'il vous donne bonheur, santé et
réussite.
Page 3
Remerciements
Ce Projet de Fin d'Etude a été le labeur de trois années et n'aurait probablement jamais été
mené à terme sans le soutien d'un grand nombre de personnes que je tiens vivement et très
sincèrement à remercier.
Au terme de ce rapport, j'exprime mes fortes remercîments à Dieu le tout puissant, ton
amour, ta miséricorde et tes grâces à mon endroit m'ont fortifiée dans la persévérance et
l'ardeur au travail.
J'aime bien remercier la Faculté des Sciences économiques et des Gestions de Nabeul qui
m'a offert l'occasion d'effectuer ce stage au sein de Bank e-conseil en vue de consolider mes
acquis théoriques par une expérience pratique, aussi bien, pour enrichir mes connaissances
dans la vie professionnelle et de découvrir l'environnement de travail.
Je tiens également, à exprimer mes vifs respects et mes forts remerciements à mon encadrant
universitaire Mme Zouhour BEN SALEM qui a fait preuve d'une grande disponibilité à mon
égard, pour ses remarques et critiques pertinentes et fructueuses, pour sa gentillesse, pour
m'avoir fait confiance dans la réalisation de mon rapport.
Je tiens à faire part de toute ma reconnaissance envers mes enseignants à la Faculté de
Science économique et de Gestion de Nabeul qui ont préparés et qui n'ont pas cessé
d'enrichir nos acquis scientifiques durant nos années d'études universitaires.
Il m'est plaisant d'entamer l'exposition de ce travail, d'exprimer mes sincères remerciements
aux membres de jury pour l'honneur qu'ils me font d'accepter de juger mon travail.
Page 4
Sommaire
Dédicaces .........................................................................................................................2
Remerciments ............................................................................................................................3
Sommaire .......................................................................................................................4
Liste des figures .............................................................................................................7
Liste des tableaux ...........................................................................................................9
Liste des abréviations ...................................................................................................10
Introduction générale ....................................................................................................11
Chapitre I. Présentation du cadre du stage et description de l'application ..........13
I.1 Introduction ..........................................................................................................14
I.2 Présentation de l'organisme d'accueil ...................................................................14
I.2.1 Présentation de la société Bank e-Conseil ....................................................14
I.2.2 Les services proposés par Bank e-Conseil ....................................................15
I.3 Présentation du projet ...........................................................................................15
I.3.1 Problématique ...............................................................................................15
I.3.2 Contexte du projet .........................................................................................15
I .3.3 Objectifs de l'application ..............................................................................16
I.3.4 Acteurs de l'application .................................................................................16
I.4 Conclusion.............................................................................................................16
Chapitre II. Etude préalable et spécification des besoins ................................17
II.1 Introduction .........................................................................................................18
II.2 Etude de l'existant ...............................................................................................18
II.2.1 Présentation du «MaterialDesign» ...............................................................18
II.2.2 Présentation des applications existantes ......................................................20
II.2.3 Inconvénients des applications ....................................................................23
II.3 Etude comparative des applications ....................................................................24
II.4 Spécification des besoins ....................................................................................25
II.4.1 Spécification des besoins fonctionnels ........................................................25
II.4.2 Spécification des besoins non fonctionnels .................................................26
Page 5
II.5 Conclusion ..........................................................................................................26
Chapitre III. Conception ........................................................................................27
III.1 Introduction .......................................................................................................28
III.2 Conception architecturale ..................................................................................28
III.2.1 Architecture MVC ......................................................................................28
III.3 Conception générale ..........................................................................................29
III.3.1 Cycle de vie ................................................................................................29
III.3.2 Méthodologie de conception ......................................................................31
III.4 Diagramme de cas d'utilisation ..........................................................................34
III.4.1 Diagramme de cas d'utilisation global ........................................................34
III.4.2 Raffinement des cas d'utilisation ................................................................35
III.5 Diagramme de classe .........................................................................................40
III.6 Diagramme de séquence ....................................................................................41
III.6.1 Diagramme de séquence «Consulter cours devises» .....................................41
III.6.2 Diagramme de séquence «Convertir devises» ...............................................42
III.6.3 Diagramme de séquence «Localiser banque» ................................................43
III.6.4 Diagramme de séquence «Consulter annuaire agences» .............................44
III.7 Conclusion .........................................................................................................45
Chapitre IV. Réalisation .........................................................................................46
IV.1 Introduction .......................................................................................................47
IV.2 Architecture de l'application .............................................................................47
IV.2.1 Architecture 3-tiers .....................................................................................47
IV.2.2 Technologie de l' architecture 3-tiers .........................................................48
IV.2.3 Avantages de l' architecture 3-tiers ............................................................49
IV.3 Environnement du travail ..................................................................................49
IV.3.1 Environnement matériels ............................................................................49
IV.3.2 Environnement logiciels .............................................................................50
IV.4 Interfaces graphiques .........................................................................................57
Page 6
IV.4.1 Interface d'accueil .......................................................................................58
IV.4.2 Interface liste devises .................................................................................59
IV.4.3 Interfaces Convertisseur .............................................................................60
IV.4.4 Interface Réseaux banques .........................................................................61
IV.4.5 Interface annuaire agences .........................................................................62
IV.4.6 Interfaces Bank e-Conseil ..........................................................................63
IV.5 Chronogramme du projet ..................................................................................64
IV.6 Conclusion ........................................................................................................64
Conclusion et perspectives ...........................................................................................65
Bibliographie ................................................................................................................66
Page 7
Liste des figures
Figure 1. Logo Bank e-conseil ............................................................................................. 14
Figure 2. Guide du "Google Matériel Design" pour ListView ............................................ 19
Figure 3. Interface liste des devises de l'application "Convertisseur de Devises" ............... 20
Figure 4. Interface de convertisseur des devises de l'application "Convertisseur de
Devises"................................................................................................................................. 20
Figure 5. Interface liste des devise de l'application "Taux de change Toutes devises" ...... 21
Figure 6. Interface de convertisseur de l'application "Taux de change Toutes devises ...... 21
Figure 7. Interface liste des devises de l'application "Convertisseur de Devises" .............. 22
Figure 8. Interface de convertisseur des devises de l'application "Convertisseur de
Devises" ................................................................................................................................ 22
Figure 9. Interface liste des devises de l'application " Banque de l'Habitat "....................... 23
Figure 10. Interface de localisation des agences de BH de l'application " Banque de
l'Habitat "............................................................................................................................... 23
Figure 11. Modèle du cycle de vie en cascade ..................................................................... 29
Figure 12. Modèle du cycle de vie en V .............................................................................. 30
Figure 13. Les différents diagrammes UML ....................................................................... 33
Figure 14. Diagramme de cas d'utilisation global ............................................................... 34
Figure 15. Diagramme du cas d'utilisation «Consulter cours devises» ............................... 35
Figure 16. Diagramme du cas d'utilisation «Convertir devises» ......................................... 36
Figure 17. Diagramme du cas d'utilisation« Localiser banque » ........................................ 37
Figure 18. Diagramme du cas d'utilisation «Consulter annuaire agences» .......................... 39
Figure 19. Diagramme de classe .......................................................................................... 40
Figure 20. Diagramme de séquence «Consulter cours devise » .......................................... 42
Figure 21. Diagramme de séquence «Convertir devises » .................................................. 43
Figure 22. Diagramme de séquence «Localiser banque » ................................................... 44
Figure 23. Diagramme de séquence «Consulter annuaire agences» ................................... 45
Figure 24. Architecture de l'application .............................................................................. 47
Figure 25. Architecture 3-tiers de point de vue technologie ............................................... 49
Figure 26. Parts du marché en systèmes d'exploitation des Smartphones ........................... 51
Figure 27. Logo Java ........................................................................................................... 51
Figure 28. Logo XML ......................................................................................................... 52
Figure 29. Logo PHP ........................................................................................................... 52
Figure 30. Logo JSON ........................................................................................................ 53
Figure 31. Logo Android Studio .......................................................................................... 54
Figure 32. Logo WampServer ............................................................................................. 54
Figure 33. Logo MySQL ...................................................................................................... 55
Figure 34. Logo phpMyAdmin ........................................................................................... 55
Figure 35. Logo StarUML ................................................................................................... 56
Figure 36. Logo GANTT Project ........................................................................................ 56
Page 8
Figure 37. Logo Notepad++ ................................................................................................ 57
Figure 38. Logo REST ......................................................................................................... 57
Figure 39. Interface Accueil ................................................................................................ 58
Figure 40. Menu de l'application ......................................................................................... 58
Figure 41. Interfaces Liste Devises ..................................................................................... 59
Figure 42. Interfaces Convertisseur ..................................................................................... 60
Figure 43. Interfaces Réseaux Banques ............................................................................... 61
Figure 44. Interfaces Annuaire Agences ............................................................................. 62
Figure 45. Interfaces Bank e-Conseil .................................................................................. 63
Figure 46. Diagramme de Gantt .......................................................................................... 64
Page 9
Liste des Tableaux
Tableau 1. Tableau d'étude comparative des applications existantes.................................. 24
Tableau 2. Tableau de description du cas d'utilisation «Consulter cours devises»............. 35
Tableau 3. Tableau de description du cas d'utilisation «Convertir devises»....................... 36
Tableau 4. Tableau de description du cas d'utilisation «Localiser banque»........................ 38
Tableau 5. Tableau de description du cas d'utilisation «Consulter annuaire agences»....... 39
Tableau 6. Tableau des technologies utilisées dans l'application........................................ 48
Page 10
Liste des Abréviations
UML: Unified Modeling Language
MySQL: MyStructured Query Language
Wamp: Windows Apache MySQL PHP
HTML: HyperText Markup Language
XML: eXtensibe Markup Language
MVC: Model View Controller
JSON: JavaScript Object Notation
REST: Representational State Transfer
Page 11
INTRODUCTION GENERALE
es fonctions du téléphones portable se multiplient et évoluent sans cesse d'un
jour à un autre. Aujourd'hui, l'écart technologique entre un téléphone et un
ordinateur portable se resserre de plus en plus. Par exemple, avec un téléphone
portable dit «dernière génération» ou «Smartphone», il est possible de consulter
les mail, naviguer sur internet, regarder des vidéos, écouter les radios, etc. Et cela de manière
très intuitive et rapide. C'est pourquoi ce dernier prend un rôle important dans notre vie. Cet
accroissement est traduit par des millions d'applications qui sont présentes dans un marché
potentiel qui dépasse quatre milliards de mobiles .
L'utilisation et l'émergence des systèmes d'exploitation mobiles, a facilité le développement
des applications mobiles. Parmi ces systèmes, on trouve "Android" qui est développé par un
consortium autour de Google. Son usage est dédié essentiellement aux Smartphones. Il est
aussi utilisé sur quelques "Netbooks"(mini portable), et dans quelques tableaux de bord des
véhicules de transport. Un des secteurs économiques le plus lourdement touché par se
phénomène, est le secteur bancaire qui est un secteur où l'image permet de valoriser les lieux
ou les services en faisant satisfaire les clients. Dans une société où le web est devenu l'un des
principaux outils de communication et de diffusion d'information, les compagnies impliquées
dans le domaine des services se sont rendues compte de l'importance de cet outil et de son
influence sur les clients et elles ont profités de l'internet pour vendre leurs services. Les
banques proposent, en effet, un nombre croissant de services délivrés en ligne: de la simple
consultation de solde bancaire ou la création des virement électroniques, change en ligne ,
édition des relevés de comptes, etc. Mais ses applications connaissent beaucoup des limites
notamment au niveau de consultation des cours de devises et de localisation des agences de
chaque banque.
C'est dans ce cadre, que s'inscrit ce projet qui s'intitule« Conception et développement du
premier comparateur de taux de change en Tunisie » sous la plateforme «Android» au sein de
«Bank e-conseil».
Ce rapport est composé de quatre chapitres structurés comme suit:
-Dans le premier chapitre, on va présenter la banque, le cahier des charges ainsi que l'objectif
du projet.
L
Page 12
-Le deuxième chapitre sera consacré à l'étude , critique de l'existant ,une étude comparative et
étudiera l'analyse des besoins .
-Le troisième chapitre sera consacré à la conception en illustrant quelques diagrammes UML.
-Dans le dernier chapitre, nous nous intéressons à l'implémentation et à la réalisation du
projet.
Finalement nous clôturons ce rapport par une conclusion générale présentant une synthèse de
notre travail.
Page 13
CHAPITRE I
PRESENTATION DU CADRE DU
STAGE
&
DESCRIPTION DE
L'APPLICATION
Page 14
I.1 Introduction
Dans ce chapitre, nous allons présenter l'organisme d'accueil Bank e-Conseil, la société au
sein de laquelle nous avons effectué notre projet de fin d'étude, car, la présentation du sujet
permettre de mieux comprendre le problème étudié. Ensuite, nous allons présenter la solution
qui sera détaillé plus loin dans le rapport.
I.2 Présentation de l'organisme d'accueil
I.2.1 Présentation de Bank e-Conseil
Figure 1. Logo de Bank e-Conseil
Bank e-Conseil ( Bec Conseil) est une Société Tunisienne à Responsabilité Limitée crée en
février 2013,spécialisée en conseils financiers et bancaires.
Ses Fondateurs Mr MRAD Moez, ancien directeur de banque d'Habitat et Mme BEJI Safa,
professeur de finances en lycée privée. Ils ont été motivé pour créer une boite indépendante
partant des motivations suivantes qu’il pu percevoir tout le long de ses carrières à savoir :
 Un besoin très fort des entreprises et des particuliers résidents et non résident.
 Projet innovant sur le plan technologique et nouveaux services offertes en
ligne.
 Satisfaire une clientèle en Tunisie et à l'étranger et promouvoir
l'investissement en Tunisie.
 Professionnaliser la relation client-banque.
 Association avec des consultants externes sur le plan fiscale, comptable,
juridique et commerce internationale.
Page 15
I.2.2 Les services proposés par Bank e-Conseil
Bank e-Conseil offre une large éventail des services financiers et bancaires aux particuliers,
aux entreprises , aux clients des banques, citons :
 Consultation, assistance financière et bancaire.
 Etudes et suivi des projets et Montages financiers.
 Création d’entreprises.
 Expertise en financement immobilier et promotion immobilière.
 Gestion de patrimoine et portefeuille titres.
 Solutions de recouvrement de créances impayées.
I.3 Présentation du projet
I.3.1 Problématique
Actuellement l'une des problématiques principales des bénéficiaires des services bancaire
réside dans le temps perdu à chercher le cours le plus fort et le plus faible sur le marché.
Ce temps peut les décourager à faire les changes ou accepter le cours de change qui n'est pas
optimal donc des pertes ou un manque à gagner que subit l'entreprise ou l'agent économique
d'une façon générale.
I.3.2 Contexte du projet
Dans le cadre de notre projet de fin d’études à la faculté des sciences économiques et de
gestion de Nabeul (FSEGN) en vue de l’obtention du diplôme de fin d'études en Informatique
appliquée à la gestion, nous sommes amenées à réaliser une application mobile «Conception
et développement du premier comparateur de cours de change de toutes les banques de
la région de Nabeul en Tunisie » intitulée «TUNISIA EXPRESS CURRENCY ».
En fait, le projet est une application mobile qui a pour but d'une part ,de faciliter la
consultation des cours journaliers de change des banques, de classifier ces cours de changes
par ordre croissant et décroissant et par banques et de faire la conversion d'un devise à un
autre selon la banque.
Page 16
D'autre part, de trouver le positionnement et de mettre tous l'utilisateurs en contact avec les
agences de la région de Nabeul ainsi gagner du temps et d'argent.
I.3.3 Objectifs de l'application
La société nous demande dans le cadre de ce projet de concevoir et de développer une
application mobile pour Android. La réalisation de cette application permet de :
 Simplifier la recherche du cours le plus fort et le plus faible sur le
marché.
 Augmenter la concurrence entre les banques en Tunisie: Les clients cherche
toujours à vendre ou à acheter des devises avec le taux optimal quelque soit
fort ou faible. A fin de gagner le plus grand nombre de clients et d'augmenter
l'économie, les banques essayent à satisfaire les besoins de leurs clients tout en
baissant ou augmentant le taux qui est en rapport avec leurs banques centrales
d'ou la concurrence entre les banques.
 Améliorer la relation client-banques: la mise en contact entre l'utilisateur et la
banque destinée.
 Gagner de temps de déplacement: le client peut consulter le prix des devises à
n'importe quel endroit pas besoin de se déplacer de banque en banque pour
acquérir l'information cherchée concernant le cours des changes.
 Gagner de l'argents et éviter le manque à gagner par l'utilisation du cours
optimum de la journée .
I.3.4 Acteurs de l'application
Cette application est à la portée de tous les utilisateurs quelque soit leurs nationalités, elle est
destinée au " grand public".
I.4 Conclusion
Ce chapitre nous a permis d'introduire notre projet et de présenter l'organisme d'accueil.
Ceci nous a aidé à mieux comprendre l'étude de l'existant et la spécification des besoins qui
sera présenté dans le chapitre suivant.
Page 17
CHAPITRE II
ETUDE PREALABLE
&
SPECIFICATION DES BESOINS
Page 18
II.1 Introduction
Ce chapitre présente un état des lieux, il s'agit d'une étude de l'existant suivie d'une étude
comparative permettant au projet de présenter une amélioration.
II.2 Etude de l'existant
L'étude de l'existant est une phase importante pour bien comprendre le système actuel et
dégager les nouveaux besoins qui n'étaient pas envisagés afin de mettre en place une nouvelle
solution convenable.
Après les recherches réalisées, nous avons remarqué que notre idée n'est pas encore réalisée.
D'une part, la plupart des applications mobile de devises sont destinées à une seule banque ou
destinées seulement à afficher le taux de devise d'une façon générale donc il n'existe pas une
application qui fait la comparaison des cours des devises entre les banques . D'autre part, les
convertisseurs existants sont des convertisseurs désignés à une seule institution financière.
Ce qui inspire Bank e-Conseil à réaliser la première application en Tunisie qui s'occupe de
ces deux parties en même temps c'est à dire un affichage comparatif du cours des devises qui
met en valeur le cours optimal ordonnée par banque et par nature d'opération (vente ou achat)
tout en intégrant d'autres fonctionnalités. Aussi un convertisseur des devises où la conversion
se fait par choix et par nature d'opération (vente ou achat).
Afin de développer cette application, nous avons fait une étude comparative des applications
mobiles Android existants en tenant en compte les contraintes du «MaterialDesign».
II.2.1 Présentation du «Material Design»
Afin de coller aux tendances actuelles en matière de Mobile design, Google a récemment
présenté le Material Design :
Le Material Design est un ensemble de règles de design proposées par Google et qui
s'appliquent à l'interface graphique des logiciels et applications. Il est utilisé notamment à
partir de la version 5.0 du système d'exploitation Android.
C'est un langage visuel pensé pour maximiser le confort de navigation et simplifier la prise en
main des applications. Pour être le plus intuitif possible, il s’inspire directement des matériaux
tels que le papier et l’encre, il fait ainsi référence aux réelles sensations de toucher. Le
Page 19
Material Design de Google intègre également les dernières avancées technologiques
permettant d’unifier les interfaces quel que soit l’outil de navigation de l’utilisateur
(ordinateur, tablette ou smartphone). [1]
Le Material Design repose sur quatre grands principes :
-Des couleurs vives pour maximiser le contraste et limiter la pollution visuelle
-Des ombres portées générées en temps réel, pour donner de la profondeur
-Des animations et transitions très poussées pour donner plus de sens à chacune des actions
-Des informations sous forme de “widgets”
La figure présente un exemple des contraintes de Material Design pour former une interface
"ListView" ergonomique. [2]
Figure 2. Guide du "Google Material Design" pour ListView.
Page 20
II.2.2 Présentation des applications existantes
Parmi les meilleures applications sur "Play Store", nous avons trouvé l'application
"Convertisseur de devises" comme indique les figures 3 et 4. Cette application permet à
l'utilisateur de consulter seulement le taux de devises pas le cours de devises , aussi elle offre
une interface de conversion de monnaies entre 2 devises seulement.
Figure 3. Interface liste des devises Figure 4. Interface de convertisseur
de l'application "Convertisseur de des devises de l'application
Devises". "Convertisseur de Devises"
Page 21
Nous avons considéré aussi l'application "Taux de change Toutes devises" , dont les
interfaces présentées dans les figures 5 et 6. Cette application offre les mêmes fonctionnalités
que l'application précédente.
Figure 5. Interface liste des devises Figure 6. Interface de convertisseur
de l'application "Taux de change des devises de l'application
Toutes devises". "Taux de change Toutes devises"
Page 22
Nous avons étudié l'application "Taux de change" dont quelques interfaces sont
présentées dans les figures 7 et 8. Cette application fait seulement un affichage des devises
(elle n'affiche ni leurs taux ni leurs cours et offre un convertisseur de devises).
Figure 7. Interface liste des devises Figure 8. Interface de convertisseur
de l'application "Convertisseur de des devises de l'application
Devises". "Convertisseur de Devises"
Page 23
Nous avons étudié l'application "Banque d'Habitat" dont quelques interfaces sont
présentées dans les figures 9 et 10. Cette application fournit les services utiles de la Banque
d'Habitat. Elle permet de consulter le cours des devises en temps réelle , convertir les devises ,
localiser ses agences bancaires , simuler des crédits , consulter les annuaires des agences.
Figure 9. Interface liste des devises Figure 10. Interface de localisation
de l'application " Banque d'Habitat" des agences de BH de l'application
" Banque d'Habitat "
II.2.3 Inconvénients des applications :
 La majorité des applications sont destinée à une seule banque.
 La majorité des applications mobiles dans le secteur bancaire n'utilise pas la
géolocalisation pour localiser ses agences.
Page 24
II.3 Etude comparative des applications
Application Informations
générales
Avantages Limites
Convertisseur des
devises
Proposé par:
Jimmy Dahlqvist
Version:
4.2.5
Téléchargement:
Plus de 100 000
téléchargements.
*Facile et simple à
utiliser.
*Conversion rapide
et facile.
*Lister les différents
devises .
*Interfaces non
ergonomiques qui ne
respecte pas Matériel
Design.
* Pas de rapport
entre les devises et
les banques.
*Pas de conversion
selon les banques .
*Informations non
détaillées.
Taux de change
Proposé par:
Exchanger Currency
Version:
2.3.7
Téléchargement:
Plus de 5 000 000
téléchargements.
*Interfaces claires et
compréhensives.
*Interfaces réalisées
sans respect de
Matériel Design.
* Pas de rapport
entre les devises et
les banques.
*Utilisation
compliqué(non
simple à utiliser).
Taux de change
Toutes devises
Proposé par:
DOMO soft
Version:
3.0
Téléchargement:
Plus de 500 000
téléchargements.
*Facile à utiliser.
*Lister les différents
devises.
* Pas de rapport
entre les devises et
les banques.
*Donne seulement
un aperçu générale
sur les taux de
changes.
(non détaillées)
BIAT Plus
Proposé par:
Banque
Internationnale Arab
de Tunisie
Version:
1.1
Téléchargement:
Plus de 50 000
téléchargements
*Facile à utiliser.
*Géolocalisation des
agences de BIAT .
*Affichage des
devises de BIAT.
* Interfaces claires et
compréhensives.
*Donne seulement
un aperçu générale
sur les changes de
BIAT.
Tableau 1. Tableau d'étude comparative des applications existantes
Page 25
En se basant sur ces limites des applications, nous avons décidé de créer une application
mobile Android jouant le rôle d'un comparateur de devise de des banques Tunisienne et
permettant d'avoir des informations complètes concernant leurs cours journaliers tout en
suivant une liste des devises triée par banque et par ordre, une localisation des banques bien
détaillé et un convertisseur des devises.
II.4 Spécification des besoins
La spécification des besoins constitue la phase de départ de toute application à développer
dans laquelle nous allons identifier les besoins de notre application.
Nous distinguons des besoins fonctionnels qui présentent les fonctionnalités attendues de
notre application et des besoins non fonctionnels pour éviter le développement d'une
application satisfaisante.
II.4.1 Spécification des besoins fonctionnels
Les besoins fonctionnels expriment les principales fonctionnalités de l'application sans se
préoccuper de la façon de l'implémentation.
Notre application "Tunisia Express Currency" permet à son utilisateur par des simples
cliques de trouver (les cours des devises, un convertisseur de devises , la localisation des
banques et un annuaires des agences).
 Pas d'authentification: lors du lancement de l'application une fenêtre de bienvenue
s'affiche ( pas d'interface d'authentification car notre objectif est de simplifier et
diminuer le temps de la recherche, pas de compliquer la saisie . De plus elle est
destinée à tous le monde donc pas besoin de s'authentifier).
 Consultation de cours des devises en temps réelles: Une fois l'utilisateur choisi une
devise , un table de taux apparait , il contient les différents cours ( Achat et Vente)
ordonnée par le cours optimal et par banque .
 Conversion de devises: Lors d'un clic sur 'Convertisseur' , l'utilisateur aura la
possibilité de convertit le montant du dinars tunisien dans toutes les devises de la
banque.
 Localisation des différentes agences bancaires: cette interface offre à l'utilisateur la
possibilité d'avoir la localisation des différentes agences de la banque choisie.
Page 26
 Consulter l'annuaire des agences de la banque : a partir cette interface l'utilisateur
peut trouver l'annuaire des différentes agences de la banque qu'il veut la contactée.
II.4.2 Spécification des besoins non fonctionnels
Les besoins non fonctionnels décrivent toutes les contraintes techniques, ergonomiques et
esthétiques auxquelles est soumis le système pour sa réalisation et pour son bon
fonctionnement. Et ce qui concerne notre application, nous avons dégager le besoins suivants:
 Disponibilité: l'application doit être disponible pour être utilisé par n'importe quel
utilisateur.
 La fiabilité: les données fournies par l'application doivent être fiables.
 La simplicité d'utilisation: Notre application présente un graphisme bien soigné ainsi
elle offre des interfaces simple et facile à manipuler.
 L’ergonomie: Notre application offre des interfaces conviviales et simples qui sont
développés en respectant les contraintes de « Google MatrialDesign » dans le but
d'améliorer l'utilisation.
 Le maintien: Le code de cet application est lisible et compréhensible qui assurer son
état évolutif et extensible
 La rapidité: l'application offre un gain de temps pour l'utilisateur puisqu'elle valorise
l'accès directs grâce à des recherches courantes et des interfaces bien liés.
II.5 Conclusion
Dans ce chapitre nous avons présenté une étude du système existant, une étude comparative
ainsi que la solution proposée. Les besoins fonctionnels et non fonctionnels qui ont permis de
mieux expliciter le système à réaliser sont décrits dans ce chapitre aussi.
Nous entamons l'étude de la conception dans le chapitre suivant.
Page 27
CHAPITRE III
CONCEPTION
Page 28
III.1 Introduction
La partie conception permet de mettre en place l'architecture du logiciel et définie les
interfaces entre les différentes modules. Le but étant d'exposer une documentation complète
sur les différentes architectures de chaque module qui sera implémenté et testé au niveau de la
partie développement, de ce fait la conception nous permettra de relevé les différentes
contraintes auxquels chaque architecture doit respecter les normes de communication entre
eux.
III.2 conception architecturale
Pour la conception de notre application , nous avons opté pour le modèle MVC qui est très
pratique pour la gestion de l'interaction entre les différents composants de notre application.
III.2.1 Architecture MVC
L'architecture MVC (Modèle, Vue et Contrôleur) est une architecture à trois couches utilisée
pour la programmation client/serveur et interfaces graphiques.
C'est un modèle architectural très puissant qui intervient dans la réalisation d'une application.
Il tire sa puissance de son concept de base qui est la séparation des données (modèle), de
l'affichage (vue) et des actions (contrôleur).
 Modèle
Il correspond aux données stockées généralement dans une base de données. Dans un langage
orienté objet ces données sont exploitées sous forme de classes. Le modèle peut aussi agir sur
la vue en mettant à jour ses données.
 Vue
Ne contenant que les informations liées à l'affichage, la vue se contente d'afficher le contenu
qu'elle reçoit sans avoir connaissance des données. En bref, c'est l'interface homme machine
de l'application.
 Contrôleur
Le contrôleur sert de base à récupérer les informations, de les traiter en fonction des
paramètres demandés par la vue (par l'utilisateur), puis de renvoyer à la vue les données afin
d'être affichées. C'est donc l'élément qui va utiliser les données pour les envoyer à la vue.
Page 29
III.3 Conception générale
III.3.1 Cycle de vie
Le « cycle de vie d'un logiciel » (en anglais software life cycle), ou les étapes méthodes de
développement, sélectionne et identifie toutes les étapes de développement d'un logiciel, des
sa conception en allant jusqu'à disparition. L'objectif étant de définir des balises
intermédiaires permettant la validation de la partie développement logiciel, c'est à dire si le
logiciel répond aux besoins exprimés, et la vérification du processus de développement, et si
les méthodes mises en ouvre respectant bien les contraintes prédéfinis auparavant.
III.3.1.1 Les modèles de cycle de vie
III.3.1.1.1 Modèle de cycle de vie en cascade
Le modèle de cycle de vie en cascade comporte 7 phases : analyse des besoins,
spécifications, conception de l’architecture, conception détaillée, implémentation, tests
(validation) et enfin installation. Chacune de ces phases doit produire un ou plusieurs livrables
définis à l’avance et a une date d’échéance fixée. On ne peut passer d’une étape à l’autre que
lorsque les livrables de l’étape en cours sont jugés satisfaisants. Si tout se passe bien on passe
à la phase suivante, sinon on remonte à la phase précédente, voire même en début de cycle si
une anomalie critique est détectée.
Figure 11. Modèle du cycle de vie en cascade
Page 30
 Avantages du modèle en cascade : Le planning est établi à l’avance et le maître
d’ouvrage sait précisément ce qui va lui être livré et quand il pourra en prendre
livraison.
 Inconvénients du modèle en cascade : ils sont assez nombreux mais le principal
inconvénient est la très faible tolérance à l’erreur (les anomalies sont détectées
tardivement) qui induit automatiquement un coût important en cas d’anomalie. [3]
III.3.1.1.2 Modèle de cycle de vie en V
Face aux problèmes de réactivité que pose l’approche en cascade, l’industrie informatique a
adopté le cycle en v dans les années 80. Ce modèle ne se découpe plus en 7 mais en 9 phases
qui se répondent 2 à 2 : à chaque étape de conception correspond une phase de test ou de
validation, comme vous pouvez le voir ci-dessous.
Figure 12. Modèle du cycle de vie en V
 Avantages du modèle en V : La stricte structure en V permet d’espérer que le
livrable final sera parfait, puisque les étapes de test sont aussi nombreuses que les
étapes de réflexion. De plus, il est facile de prévoir les tests à réaliser au moment où
l’on conçoit une fonctionnalité ou une interface, le travail s’enchaîne donc de façon
assez naturelle.
 Inconvénients du modèle en V : Malheureusement ce modèle est rarement utilisé
tel quel et le V est bien souvent déséquilibré, tantôt côté analyse, tantôt côté recette
Page 31
et la marge d’erreur est bien souvent proportionnelle à la marge de liberté prise par
rapport au modèle théorique. [4]
III.3.1.2 modèle de cycle de vie choisi
De nos jours, la méthodologie adoptée dans l'analyse et la conception des systèmes
représente un choix stratégique afin de mener à terme les projets tout en respectant les délais
annoncés et la qualité demandée.
Pour la conception, le développement et la réalisation de notre application, nous avons opté
pour l'application le processus de développement en V qui demeure actuellement le cycle de
vie le plus connu.
III.3.2 Méthodologie de conception
En regardant les objectifs fixés pour la réalisation du projet, nous remarquons que nous
sommes face à une application modulaire qui devra rester ouverte pour les améliorations
futures. De ce fait, il est très important d'utiliser un langage universel pour la modélisation
afin de clarifier la conception et de faciliter les échanges. Notre choix est porté sur le langage
UML puisqu'il convient pour toutes méthodes objet et se prête bien à la représentation de
l'architecture du système.
III.3.2.1 Représentation de langage de modélisation
UML (Unified Modeling Language) est un langage de modélisation unifié permet de
modéliser une application logicielle d'une façon standard dans le cadre de conception orienté
objet. [5]
UML permet de couvrir le cycle de vie d'un logiciel depuis la spécification des besoins
jusqu'au codage en offrant plusieurs moyens de description et de modélisation des acteurs et
d'utilisation système, du comportement des objets, du flots de contrôle internes aux
opérations, des composants d'implémentation et leurs relations, de la structure matérielle et de
la distribution des objets et des composants indépendamment des techniques d'implémentation
et peut être mis à jour selon les besoins.
Page 32
III.3.2.2 Représentation d'outil de modélisation
L'outil de modélisation que nous avons utilisé est StartUML qui est un logiciel de
modélisation UML, cédé comme open source par son éditeur, a la fin de son exploitation
commerciale, sous une licence modifiée de GNU GPL.
StartUML gère la plupart des diagrammes spécifiés dans la norme UML 2.0. L'objectif du
projet StratUML est de construire un outil de modélisation des logiciels..
III.3.2.3 Méthodologie de conception
Dans la figure ci dessous on va citer les différents diagrammes UML, trois entre eux
(diagrammes de cas d'utilisation, diagramme de séquence et diagramme de classe) seront
employées dans la conception de notre application.
Page 33
Figure 13. Les différents diagrammes UML
Page 34
III.4 Diagramme de cas d'utilisation
L'étude de cas d'utilisation a pour objectif de déterminer les besoins des utilisateurs et les
objectifs de l'application. La détermination des besoins est basé sur la représentation de
l'interaction fonctionnelle entre l' acteur et le système. Ainsi, il permet de donner une vision
globale sur les interfaces de futur application.
Pour une bonne compréhension des diagrammes, il parait nécessaire de définir certains termes
propres au langage UML:
 Cas d'utilisation: un cas d'utilisation représente un ensemble de séquences d'actions à
réaliser par le système et produisant un résultat observable intéressant pour un acteur
particulier. Il est représenté par des ellipses et limité par un rectangle pour représenter
le système.
 Acteur: un acteur est un utilisateur qui communique et interagit avec les cas
d'utilisation du système. C'est une entité ayant un comportement comme une personne,
système ou une entreprise.
 Système: cet élément fixe les limites du systèmes en relation avec les acteurs qui
l'utilisent (en dehors de système) et les fonctions qu'il doit fournir (à l'intérieur du
système).
III 4.1 Diagrammes de cas d'utilisation global
Ci-dessous, nous présentons le diagramme de cas d'utilisation global pour la compréhension
du fonctionnement du notre système :
Figure 14. Diagramme de cas d'utilisation global
Page 35
III 4.2 Raffinement des cas d'utilisation
III 4.2.1 Description du cas d'utilisation «Consulter cours devises»
Dans cette partie, nous allons donner un aperçu détaillé sur le cas d'utilisation "Consulter
cours devises", décrit dans la figure 15 en listant les différents cas d'utilisation qu'il inclue.
Cette cas inclut le cas d'utilisation "choisir devise".
Figure 15. Diagramme du cas d'utilisation «Consulter cours devises»
Dans le tableau ci-dessous, nous allons décrire les détails du cas d'utilisation «Consulter cours
devises » qui s'accompagne du scénario d'exécution nominal.
Titre Consulter cours devises
But Lister les cours de chaque devise selon les
banques et nature du cous (cours vente ou cours
achat).
Résumé L'utilisateur peut consulter le cours de toutes les
devises.
Acteurs Utilisateur
DESCRIPTION DES ENCHAINEMENTS
Pré condition Post condition
*L'utilisateur choisit la devise
qu'il veut la consulter, ensuite
il choisit la nature du cours
(cous vente ou cours achat)
*Affichage du cours de la devise choisie par
banque et par ordre.
SENARIO NOMINAL
Page 36
1/L'utilisateur se connecte à l'application.
2/l'utilisateur valide la requête d'affichage des devises en appuyant sur le champ
«liste des devises».
3/A travers cette liste, l'utilisateur choisit le type de devise qu'il veut consulté par
un simple clique sur le nom du devise .
4/l'utilisateur choisit la nature du cous à consulter (cours vente ou cours achat).
5/Liste du cours de la devise choisie est affichée.
Tableau 2. Tableau de description du cas d'utilisation «Consulter cours devises»
III 4.2.2Description du cas d'utilisation «Convertir devises»
Dans cette partie, nous allons donner un aperçu détaillé sur le cas d'utilisation "Convertir
devises", décrit dans la figure 16 en listant les différents cas d'utilisation qu'il inclue. Cette cas
inclut deux cas d'utilisations "choisir banque" et "choisir nature".
Figure 16. Diagramme du cas d'utilisation «Convertir devises»
Dans le tableau ci-dessous, nous allons décrire les détails du cas d'utilisation «Consulter cours
devises » qui s'accompagne du scénario d'exécution nominal et du scénario alternatif.
Titre Convertir devises
But Convertir un montant en dinars tunisien aux
autres devises
Résumé L'utilisateur avoir l'équivalence en un montant en
dinars tunisien et d'autres devises.
Acteurs Utilisateur
DESCRIPTION DES ENCHAINEMENTS
Page 37
Pré condition Post condition
*L'utilisateur choisit d'abord la
banque et la nature d'opération
(vente ou achat) selon
lesquelles la devise va être
convertit.
*Affichage de résultat de la conversion.
SENARIO NOMINAL
1/L'utilisateur se connecte à l'application.
2/l'utilisateur appuie sur l'icone «Convertisseur» du menu de l'application.
3/Une interface du convertisseur s'affiche .
4/l'utilisateur choisit d'abord la banque , après la nature d'opération (vente ou
achat)
après il doit saisir le montant à convertir et enfin clique sur le bouton «convertir».
5/Le système fait le calcul et le résultat sera affiché .
SENARIO ALTERNATIF
E1. Le client n’a pas rempli champ ou les données sont incorrectes.
1. Le système affiche un message d'erreur.
2.Le scénario répond de 5.
Tableau 3. Tableau de description du cas d'utilisation «Convertir devises»
III 4.2.3 Description du cas d'utilisation «Localiser banque»
Dans cette partie, nous allons donner un aperçu détaillé sur le cas d'utilisation "Localiser
banque", décrit dans la figure 17 en listant les différents cas d'utilisation qu'il inclue. . Cette
cas inclut seulement le cas d'utilisation "choisir banque" .
Figure 17. Diagramme du cas d'utilisation« Localiser banque »
Page 38
Dans le tableau ci-dessous, nous allons décrire les détails du cas d'utilisation« Localiser
banque » qui s'accompagne du scénario d'exécution nominal.
Titre Localiser banque
But Localiser toutes les agences bancaires
Résumé L'utilisateur accède au service de localisation des
banques pour savoir où se trouvent les
différentes agences de la banque.
Acteurs Utilisateur
DESCRIPTION DES ENCHAINEMENTS
Pré condition Post condition
*L'utilisateur choisit la banque
laquelle il veut savoir la
localisation de ses différentes
agences.
*Affichage de la carte contenant toutes les
agences de la banque choisie.
SENARIO NOMINAL
1/L'utilisateur se connecte à l'application.
2/l'utilisateur appuie sur le champ «Réseaux banques» du menu de l'application.
3/Carte Map affichée.
4/l'utilisateur choisit une banque laquelle il veut connaitre la localisation de ses
agences.
5/Apparition des marqueurs de toutes les agences de la banque choisie.
Tableau 4. Tableau de description du cas d'utilisation «Localiser banque»
III 4.2.3 Description du cas d'utilisation «Consulter annuaire agences»
Dans cette partie, nous allons donner un aperçu détaillé sur le cas d'utilisation "Consulter
cours devises", décrit dans la figure 18 en listant les différents cas d'utilisation qu'il inclue. .
Cette cas inclut aussi seulement le cas d'utilisation "choisir banque" .
Page 39
Figure 18. Diagramme du cas d'utilisation «Consulter annuaire agences»
Dans le tableau ci-dessous, nous allons décrire les détails du cas d'utilisation «Consulter
annuaire agences» qui s'accompagne du scénario d'exécution nominal.
Titre Consulter annuaire agences
But Lister un annuaire de toutes les agences
bancaires.
Résumé L'utilisateur peut être mis en contact avec
n'importe quelle banque.
Acteurs Utilisateur
DESCRIPTION DES ENCHAINEMENTS
Pré condition Post condition
*L'utilisateur choisit banque la
quelle il veut la contactée.
*Affichage d'un annuaire de toutes les agences
de la banque choisie.
SENARIO NOMINAL
1/L'utilisateur se connecte à l'application.
2/l'utilisateur appuie sur l'icone «annuaire agences» du menu de l'application.
3/Une interface contenant une liste des banques s'affiche.
4/l'utilisateur choisit une banque.
5/Affichage d'un annuaire des différentes agences de la banque choisie.
Tableau 5. Tableau de description du cas d'utilisation «Consulter annuaire agences»
Page 40
III.5 Diagramme de classe
Le diagramme de classe est considéré le plus important de la modélisation orienté objet, il
montre la structure interne du système et il permet de fournir une représentation abstraite des
objets du système qui vont interagir ensemble pour réaliser les cas d'utilisation.
Il s'agit d'une vue statique car on ne tient pas compte du facteur temporel dans le
comportement du système. Les principaux éléments de cette vue statique sont les classes et
leurs relations:
Une classe est une description d'un groupe d'objets partageant un ensemble commun de
propriétés (les attributs) , de comportement (les opérations ou méthodes) et de relations avec
d'autres objets (les associations et les agrégations).
Ci-dessous, le diagramme de classe de notre système :
Figure 19. Diagramme de classe
Page 41
III.6 Diagramme de séquence
Le diagramme de séquence décrit l'aspect dynamique du système, il modélise les interactions
entre objets ou entre utilisateur et objets en mettant l'accent sur la chronologie des messages
échangés.
Dans ce qui suit, nous allons dresser les diagrammes de séquences de chaque cas d'utilisation
raffinée précédemment.
III .6.1 Diagramme de séquence «Consulter cours devise»
 Description textuelle
Après avoir décidé de consulter le cours des devises , l'utilisateur effectue une demande
de la liste des devises. Une fois interface liste devises apparait , il choisie la devise qu'il
veut la consultée et par suite l'interface du cours de la devise choisie s'affiche à travers
laquelle l'utilisateur peut consulter cours du vente et cours d'achat selon son choix.
 Diagramme de séquence
Le diagramme illustré dans la figure présente le scénario de consultation du cours de
devises.
Page 42
Figure 20. Diagramme de séquence «Consulter cours devises»
III.6.2 Diagramme de séquence «Convertir devise»
 Description textuelle
Ce cas commence lorsque l'utilisateur demande au système de faire une conversion. Une
fois l'interface du convertisseur s'affiche, l'utilisateur choisie la banque et la nature du
cours (vente ou achat) selon lesquelles la conversion sera faite.
Après avoir choisir ces derniers, l'utilisateur saisie le montant en dinars tunisien et clique
sur le bouton "Convertir" par suite les résultats de conversion du montant seront affichées
dans toutes les devises.
Page 43
 Diagramme de séquence
Le diagramme illustré dans la figure présente le scénario de conversion de devise.
Figure 21. Diagramme de séquence «Convertir devise»
III.6.3 Diagramme de séquence «Localiser banque»
 Description textuelle
Afin de connaitre la localisation des banques, l'utilisateur clique sur l'icone "Réseaux
banques" de menu de l'application. Par suite, l'interface réseaux banques s'affiche à travers
laquelle l'utilisateur doit choisir la banque qu'il veut la consulter. Et après récupération des
longitudes et latitudes, la carte map apparait tout en affichant les emplacements des
différentes agences de la banque choisie.
 Diagramme de séquence
Le diagramme illustré dans la figure présente le scénario de localisation de banque.
Page 44
Figure 22. Diagramme de séquence «Localiser banque»
III.6.4 Diagramme de séquence «Consulter annuaire agences»
 Description textuelle
L'utilisateur peut être mis en contact avec une banque, lors d'un clique sur l'icone
"Annuaire agences". Alors une liste des banques s'affiche, à travers laquelle l'utilisateur
choisie une banque par conséquent une liste contenant toutes les numéros des agences de
la banque choisie apparait.
Page 45
Diagramme de séquence
Le diagramme illustré dans la figure présente le scénario de consultation de l'annuaire
des agences.
Figure 23. Diagramme de séquence «Consulter annuaire agences»
III.7 Conclusion
Dans ce chapitre, nous avons conçu et documenté le code que nous devons produire. Dans
cette phase, toutes les questions concernant la manière de réaliser le système à développé ont
à été élucidées.
Le produit obtenu est un modèle graphique (ensemble de diagrammes) prêt à être codé.
Dans le chapitre suivant nous allons étudier en détails les outils et les langages utilisés durant
la phase de construction.
Page 46
CHAPITRE IV
REALISATION
Page 47
IV.1 Introduction
Dans le chapitre précédent nous avons présenté les étapes de conception de l'application,
ainsi que les différents diagrammes des cas d'utilisation. Ensuite nous avons détaillé cette
phase en établissant le diagramme de classes ainsi que les diagrammes de séquences.
Dans ce chapitre nous allons présenter l'environnement matériel et logiciel utilisé pour le
développement de la solution proposé tout en expliquant éventuellement nos choix techniques
relatif aux langages de programmation et des outils utilisés. Enfin, nous allons donner une
présentation des interfaces globales ainsi qu'une description du fonctionnement du système.
IV.2 Architecture de l'application
IV.2.1 Architecture 3-tiers
Tunisia Express Currency est une application embarquée qui se connecte à un serveur de
bases de données distant, via Internet, afin de récupérer les données. Ce qui nécessite aussi
l’intégration d’un serveur web entre l’application client et le serveur de bases de données.
D’où l’architecture de notre application est à 3 niveaux (architecture 3-tiers), elle est partagée
entre:
 Le client Android : Conteneur d’application et demandeur de ressources,
 Le serveur Web : Vue que les données serons communiquées entre deux
environnements hétérogènes, le rôle principale du serveur web est de
gérer la communication entre le client Android et le serveur de base de
données.
 Le serveur de base de données : fournis les données au serveur web.
Figure 24. Architecture de l'application
Page 48
IV.2.2 Technologies de l'architecture 3-tiers
Ci-dessous un tableau représentant les différentes technologies utilisées dans notre
application :
ANDROID
Android est un système
d'exploitation mobile pour
Smartphones, tablettes tactiles,
PDA, smartwatches (version
Wear) et terminaux mobiles.
PHP
Langage de scripts libre
principalement utilisé pour
produire des pages Web
dynamiques.
MySQL
Un système de gestion de base
de données (SGBD) de type
SQL.
JSON
(JavaScript Object Notation)
Format de données textuel,
générique, dérivé de la notation
des objets du langage
ECMAScript.
Tableau 6. Tableau des technologies utilisées dans l'application
La méthode la plus répandue de se connecter à une base de données MySQL à distance à
partir d'un appareil Android, est de mettre une sorte de service dans le milieu. MySQL est
habituellement utilisé avec PHP, donc la façon la plus simple et le plus évident d'écrire des
scripts PHP pour gérer la base de données et exécuter ces scripts en utilisant le protocole
HTTP du système Android. Nous avons codé les données dans le format JSON1, afin de
communiquer les données entre PHP et Android, en exploitant les options facile à utiliser
construit dans les fonctions JSON dans les deux langages.
Page 49
Si nous parlons de l'architecture 3-tiers de point de vue technologie, le client est la plateforme
Android, le serveur web est le PHP et le serveur de bases de données est le MySQL.
Figure 25. Architecture 3-tiers de point de vue technologie
IV2.3 Avantage de l'architecture 3-tiers
Parmi les avantages de l'architecture 3_tiers on peut citer :
*Allègement du poste de travail client: on parle de "client léger" contrairement au application
classiques client/serveur.
*Prise en charge de l'hétérogénéité des plates-formes (serveurs, clients, langage..).
*Amélioration de la sécurité des données: en supprimant la relation directe entre le client et
les données.
*La modularité: En effet, les modifications dans une application 3-tiers se font couche par
couche. On peut donc modifier dans une couche sans toucher aux autres, en particulier la
couche présentation (IHM ou interface homme machine) n'est pas intriqué dans le traitement.
IV.3 Environnement du travail
Dans ce qui suit, nous allons étudier le chois des outils matériels et surtout les outils
logiciels du développement web.
IV.3.1 Environnement matériels
Nous mentionnons les caractéristiques de l'ordinateur sur lesquelles nous avons développé
l'application parce qu'elles peuvent donner une idée sur les conditions du travail.
L'application à été développée sur un ordinateur portable Acer Aspire E15 qui se caractérise :
 Processus : Intel(R)Core(TM) i5-6200U CPU @2.30GHz 2.30GHz
 Mémoire insatllé(RAM) : 8.00Go (7.87 Go utilisable)
 Type du système: Système d'exploitation 64 bits.
Page 50
 Systeme d'exploitation: Windows 8.1 Professionnel.
 Disque dur : 931.51 Go
 Carte graphique : Intel(R) HD Graphics 520
IV.3.2 Environnement logiciels
IV.3.2.1 Présentation du plateforme Android
Android est un système d'exploitation mobile pour Smartphones, tablettes tactiles, PDA,
smartwatches (version Wear) et terminaux mobiles. C'est un système open source utilisant le
noyau Linux. Android est défini comme étant une pile de logiciels, c'est-à-dire un ensemble
de logiciels destinés à fournir une solution clé en main pour les appareils mobiles et tablettes
tactiles. Cette pile comporte un système d'exploitation (comprenant un noyau Linux), les
applications clés telles que le navigateur web, le téléphone et le carnet d'adresses ainsi que des
logiciels intermédiaires entre le système d'exploitation et les applications. L'ensemble est
organisé en cinq couches distinctes:
 Le noyau Linux avec les pilotes
 Des bibliothèques logicielles telles que WebKit, OpenGL, SQLite ou FreeType.
 Une machine virtuelle et des bibliothèques permettant d'exécuter des programmes
prévus pour la plate-forme Java
 Un framework - kit de développement d'applications
 Un lot d'applications standard parmi lesquelles il y a un environnement de bureau, un
carnet d'adresses, un navigateur web et un téléphone.
En choisissant Android, nous ciblons un grand part du marché des smartphones car d'après
l'IDC en 2014, 1,059 milliard de smartphones Android ont été livrés dans le monde par les
constructeurs. Ces livraisons représentent 81,5% des smartphones écoulés sur la planète en
2014 qui est le part le plus important du marché des systèmes d'exploitation mobiles comme
indique la figure. [6]
Page 51
Figure 26. Parts du marché en systèmes d'exploitation des Smartphones
IV.3.2.2 Présentation des langages utilisé
 JAVA
Java est un langage de programmation orienté objet, développé par Sun Microsystems
et destiné à fonctionner dans une machine virtuelle, il permet de créer des logiciels
compatibles avec des nombreux systèmes d’exploitation. Java et non seulement un
langage de programmation puissant conçu pour être sûr, inter plateformes et international,
mais aussi un environnement de développement qui est continuellement étendu pour
fournir des nouvelles caractéristiques et des bibliothèques permettant de gérer de manière
élégante des problèmes traditionnellement complexes dans les langages de programmation
classiques, tels que le multithreading, les accès aux bases des données, la programmation
réseau, l’informatique répartie.
Figure 27. Logo Java
Page 52
 XML
Pour créer les interfaces de notre application nous avons utilisé aussi des fichiers XML
(eXtensibe Markup Language) pour la collection des données (des images). Ce langage
est utilisé pour la définition des interfaces graphiques. Pour toutes applications Android, le
XML permet d'accéder aux données à partir d’Internet, envoyer et recevoir des données à
d'un service Web.
Figure 28. Logo XML
 PHP
PHP est un langage de script libre principalement utilisé pour produire des pages Web
dynamiques via un serveur HTTP, mais pouvant également fonctionner comme n'importe
quel langage interprété de façon locale, en exécutant les programmes en ligne de
commande. En raison de la richesse de sa bibliothèque, on désigne parfois PHP comme
une plate-forme plus qu'un simple langage. [7]
Figure 29. Logo PHP
Page 53
 JSON
JSON (JavaScript Object Notation – Notation Objet issue de JavaScript) est un
format léger d'échange de données. Il est facile à lire ou à écrire pour des humains. Il est
aisément analysable ou générable par des machines. Il est basé sur un sous-ensemble du
langage de programmation JavaScript (JavaScript Programming Language, Standard
ECMA-262 3rd Edition - Décembre 1999). JSON est un format texte complètement
indépendant de tout langage, mais les conventions qu'il utilise seront familières à tout
programmeur habitué aux langages descendant du C, comme par exemple : C lui-même,
C++, C#, Java, JavaScript, Perl, Python et bien d'autres. Ces propriétés font de JSON un
langage d'échange de données idéal. [8]
.
Figure 30. Logo JSON
IV.3.2.3 Présentation des logiciels utilisé
Nous allons énumérer au cours de cette partie les différents outils utilisés tout au long de
ce projet pour l'étude et la mise en place de notre application.
 Android Studio
Android Studio est l'IDE officiel pour le développement d'applications Android, basé sur
IntelliJ IDEA. Android Studio propose:
 Système de construction basé à Gradle flexible
 Construire variantes multiples et la génération de fichier apk
 Modèles de code qui aident à construire des fonctionnalités d'applications communes
 Un éditeur de layout riche qui supporte le thème "drag and drop" et édition des outils afin
de réaliser la performance, la facilité d'utilisation, la compatibilité de version, et d'autres
problèmes
 ProGuard et app- signature capacités
Page 54
 Prise en charge intégrée pour Google Cloud Platform, ce qui rend facile à intégrer Google
Cloud Messagerie et App Engine. [9]
Figure 31. Logo Android Studio
 WampServer
WampServer est une plate-forme de développement Web sous Windows. Il permet de
développer des applications Web dynamiques à l’aide du serveur Apache, du langage de
scripts PHP et d’une base de données MySQL. Il possède également PHPMyAdmin pour
gérer plus facilement vos bases de données. [10]
Figure 32. Logo WampServer
 MySQL est un système de gestion de base de données (SGBD). Selon le type
d'application, sa licence est libre ou propriétaire. Il fait partie des logiciels de gestion
de base de données les plus utilisés au monde, autant par le grand public (applications
web principalement) que par des professionnels, en concurrence avec Oracle et
Microsoft SQL Server. MySQL AB a été acheté le 16 janvier 2008 par Sun
Microsystems pour un milliard de dollars américains. En 2009, Sun Microsystems a
été acquis par Oracle Corporation, mettant entre les mains d'une même société les
deux produits concurrents que sont Oracle Database et MySQL. Ce rachat a été
Page 55
autorisé par la Commission européenne le 21 janvier 2010. MySQL est un serveur de
bases de données relationnelles SQL développé dans un souci de performances élevées
en lecture, ce qui signifie qu'il est davantage orienté vers le service de données déjà en
place que vers celui de mises à jour fréquentes et fortement sécurisées. Il est multi-
thread et multi-utilisateur. [11]
Figure 33. Logo MySQL
 phpMyAdmin est une interface d'administration pour le SGBD MySQL. Il est écrit en
langage PHP et s'appuie sur le serveur HTTP Apache. Il permet d'administrer les
éléments suivants: *Les bases de données.
*Les tables et leurs champs (ajout, suppression, définition du type).
*Les index, les clés primaires et étrangères.
*Les utilisateurs de la base et leurs permissions.
*Exporter les données dans divers formats (CSV, XML, PDF,
Word, Excel et LaTeX). [12]
Figure 34. Logo phpMyAdmin
Page 56
 StarUML
StarUML est un logiciel de modélisation UML, cédé comme open source par son éditeur, à la
fin de son exploitation commerciale, sous une licence modifiée de GNU GPL. [13]
Figure 35. Logo StarUML
 GanttProject
GanttProject est un logiciel libre, permettant de modéliser sous forme de Gantt la
planification des différentes tâches qui sont nécessaires à un projet. Chaque tâche pourra
être définie par sa durée et par les ressources qui pourront lui être affectées. [14]
Figure 36. Logo GANTT Project
 Notepad++
Notepad++ est un éditeur de texte libre générique codé en C++, qui intègre la coloration
syntaxique de code source pour les langages et
fichiers C, C++, Java, XML, HTML, PHP, JavaScript, etc.. ainsi que pour tout autre
langage informatique, car ce logiciel propose la possibilité de créer ses propres colorations
syntaxiques pour un langage quelconque. [15]
Page 57
Figure 37. Logo Notepad++
IV.3.2.4 Présentation du Web service
Dans notre application, nous avons retenu le type de Web Service REST .
 REST
REST (Representational State Transfer) est un autre moyen d'accéder aux documents et à
ressources distantes qui repose sur le protocole HTTP. Il se base sur des ressources existantes
à distance et l'échange de leur valeur via une URL qui la nomme. Les ressources peuvent être
définies sous format XML, JSON , HTML …
Figure 38. Logo REST
IV.4 Interfaces graphiques
Les interfaces utilisateurs doivent respecter les heuristiques d’utilité pour permettre à
l’utilisateur un accès facile à ces interfaces afin de garantir une bonne compréhension des
fonctionnalités de l’application. Nous présentons ici les interfaces les plus significatives de
l’application.
Page 58
IV.4.1 Interfaces d'accueil
L'utilisateur du Smartphone avant d'être invité à consulter les services de l'application, doit
attendre quelques secondes de démarrage.
Figure 39. Interfaces Accueil
A travers le menu de l'application, l'utilisateur peut choisir l'interface qu'il veut la consulter.
Figure 40. Menu de l'application
Page 59
IV.4.2 Interfaces liste devises
Après un simple clic sur l'icône "Liste Devises" du menu de l'application, une liste
comportant des divers devises apparait, à travers laquelle l'utilisateur choisit celle qu'il veut la
consulter et par conséquent les listes des cours de vente et d'achat de cette dernière s'affichent.
Figure 41. Interfaces Liste Devises
Page 60
IV.4.3 Interfaces Convertisseur
Si un utilisateur désire faire une conversion, il devra tout d'abord invité l'interface du
convertisseur, par un simple clic sur l'icône "Convertisseur" du menu de l'application, cette
dernière s'affiche. Par suite, il devra choisir la banque , la nature d'opération et saisir le
montant de ce fait les résultats de la conversion apparait dans toutes les devises.
Figure 42. Interfaces Convertisseur
Page 61
IV.4.4 Interfaces Réseaux Banques
Afin de connaitre la localisation d'une banque quelconque , l'utilisateur devra cliquer sur
"Réseaux Banques" du menu de l'application, par suite, une interface à travers laquelle il
devra choisir la banque qu'il veut la consulter apparait. Et après le choix, toutes les marqueurs
correspondants aux différentes agences de la banque choisie seront positionnés sur la carte.
Figure 43. Interfaces Réseaux Banques
Page 62
IV.4.5 Interfaces Annuaire Agences
Dans le but d'être mis en contact avec une telle agence bancaire, un utilisateur devra tout
d'abord choisir l'icone "Annuaire Agences" du menu de l'application. Du coup, une interface
de liste des banques va être afficher parmi laquelle l'utilisateur devra choisir la banque qu'il
veut. Donc, un annuaire de toutes les agences de la banque choisie sera affiché.
Figure 44. Interfaces Annuaire Agences
Page 63
IV.4.6 Interfaces Bank e-Conseil
Cette interface offre à l'utilisateur d'être mis en contact avec le cabinet "Bank e-Conseil".
Figure 45. Interfaces Bank e-Conseil
Page 64
IV.5 Chronogramme du projet
Dans cette partie, nous présentons un diagramme de Gantt décrivant les phases par lesquels
nous sommes passées afin de mener à terme ce travail, ainsi que leur ordonnancement. Nous
détaillons par la suite les captures d'écran commentées décrivant l'enchainement du travail.
Figure 46.Diagramme de Gantt
IV.6 Conclusion
Ce chapitre nous a permis de mettre en œuvre notre travail. Nous avons commencé par
présenter l'environnement matériel et logiciel du projet. Par la suite, nous avons présenté le
chronogramme qui montre la répartition de notre travail durant tout le projet. Et pour finir
nous avons présenté quelques interfaces de l'application afin de donner une meilleure idée sur
notre travail.
Page 65
CONCLUSION ET PERSPECTIVES
u terme de ce rapport, nous pouvons conclure que ce stage de fin d’études nous a
donné une occasion opportune, nous permettant de confronter l’acquis théorique
à l’environnement pratique.
En effet, le stage nous a permis de prendre certaines responsabilités, par la suite de consolider
de plus en plus nos connaissances théoriques et pratiques. C’est là que réside la valeur d’un tel
projet de fin d’études qui combine les exigences de la vie professionnelle aux côtés
bénéfiques de l’enseignement pratique que nous avons eu à la Faculté des Sciences
Economiques et de Gestion Nabeul.
Ce travail de conception et de développement d’une application «Tunisia Express
Currency» au long du stage nous a été bénéfique sur plusieurs plans : en effet, il nous a
permis de perfectionner nos connaissances acquises en programmation et en conception.
Du point de vue technique, ce projet nous a permis de nous adapter avec l’environnement du
développement informatique, de même il nous a permis de maîtriser la méthode
développement , le Processus unifié et des nouvelles technologies de programmation.
Tout au long de l’élaboration du projet, nous avons rencontré plusieurs difficultés tant au
niveau conceptuel qu’au niveau de la réalisation. Tout de même, nous avons réussi à les
surpasser pour présenter en fin de compte une application opérationnelle.
Comme tout projet et afin de rendre notre application plus intéressante, notre travail peut
supporter plusieurs perspectives. En effet l'application que nous avons développé pourrait être
un comparateur de cours de changes de toutes les banques de la Tunisie.
Nous espérons enfin que le travail que nous avons effectué a été à la hauteur de la
confiance qui nous a été donnée.
A
Page 66
BIBLIOGRAPHIE
[1]: Présentation Material Design, disponible sur :
https://fr.wikipedia.org/wiki/Material_design
[2]: Material Design, disponible sur :
https://material.io/guidelines/components/lists.html
[3]: Modèle de développement en cascade, disponible sur :
http://www.responsive-mind.fr/cycles-developpement-informatique/
[4]: Modèle de développement en V, disponible sur :
http://www.responsive-mind.fr/cycles-developpement-informatique/
[5]: UML, disponible sur :
https://fr.wikipedia.org/wiki/UML_(informatique)
[6]: Marché Smartphones, disponible sur :
http://www.zdnet.fr/actualites/chiffres-cles-les-os-pour-smartphones-39790245.htm
[7]: PHP, disponible sur :
https://www.google.tn/search?q=php&oq=php&aqs=chrome..69i57j69i60l3j69i65l2.978j0j7
&sourceid=chrome&ie=UTF-8
[8]:JSON, disponible sur :
http://www.json.org/json-fr.html
[9]: Android studio, disponible sur :
https://developer.android.com/studio/intro/index.html
[10]: WampServer, disponible sur :
http://www.wampserver.com/
[11]: MySQL, disponible sur :
https://fr.wikipedia.org/wiki/MySQL
[12]: phpMyAdmin, disponible sur :
https://doc.ubuntu-fr.org/phpmyadmin
[13]: StarUML, disponible sur :
https://fr.wikipedia.org/wiki/StarUML
[14]: GanttProject, disponible sur :
https://fr.wikipedia.org/wiki/GanttProject
[15]: NotePad++, disponible sur :
https://fr.wikipedia.org/wiki/Notepad%2B%2B
Page 67
RESUME
Le présent travail, effectué au sein de la Faculté des Sciences Economiques et de Gestion de
Nabeul (FSEGN ), s'inscrit dans le cadre du projet de fin d'étude pour l'obtention du diplôme
Licence Fondamentale en Informatique Appliqué à la gestion.
L'objectif de ce projet est de développer une application mobile d'un comparateur de cours
de change de toutes les banque de la région de Nabeul.
Pour la développer nous avons utilisé plusieurs technologies parmi lesquelles, nous citons :
La plateforme Android , le format léger d'échange de données « JSON », le langage UML
pour réaliser, l’étude conceptuelle du système, le PHP comme serveur web et le MySQL
comme serveur de base de données.
Cette application est ergonomique dont les interfaces respectent les règles de "Google
Material Design".
Mots clés : Android, JSON, PHP, MySQL, Google Material Design
-------------------------------------------------------------------------------------
ABSTRACT
This work, carried out within the faculty of Economics Sciences and Management of
Nabeul (FSEGN), is part of the project of end of study for obtaining the license degree in
Computer Fundamental Applied to Management.
The object of this project is to develop a mobile application of currency comparator of all
banks in the region of Nabeul.
In order to develop it, we used several technologies as for example: The Android platform
using the Android SDK development tool, the lightweight format for data exchange "JSON",
UML for the study of conceptual system , PHP as web server and MySQL as database server.
This application has ergonomic interfaces which comply with the guide of "Google Material
Design" .
Key words : Android, JSON, PHP, MySQL, Google Material Design

Recommandé

Rapport Pfe Application Web e-commerce Symfony2 par
Rapport Pfe Application Web e-commerce Symfony2Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Ben Abdelwahed Slim
48.6K vues81 diapositives
Rapport du Projet de Fin d'année Génie informatique par
Rapport du Projet de Fin d'année Génie informatique Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique ayoub daoudi
7.7K vues70 diapositives
Rapport PFE : Développement D'une application de gestion des cartes de fidéli... par
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Riadh K.
202.1K vues91 diapositives
Rapport pfe par
Rapport pfeRapport pfe
Rapport pfeAhmed rebai
21.7K vues97 diapositives
Rapport PFE Développent d'une application bancaire mobile par
Rapport PFE Développent d'une application bancaire mobileRapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobileNader Somrani
42.8K vues88 diapositives
Rapport pfe Conceptionet Developpement d'une Application web et Mobile par
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile Raoua Bennasr
17.2K vues108 diapositives

Contenu connexe

Tendances

Rapport de PFE par
Rapport de PFERapport de PFE
Rapport de PFEGhizlane ALOZADE
16.1K vues90 diapositives
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web par
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_webRapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_webSalma Gouia
6.3K vues68 diapositives
Pfe conception et réalisation d'une application de gestion des processus d'ac... par
Pfe conception et réalisation d'une application de gestion des processus d'ac...Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Ahmed Makni
19.4K vues67 diapositives
Rapport- Conception et réalisation d'une plateforme social learning par
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRouâa Ben Hammouda
39.5K vues74 diapositives
Rapport pfe talan_2018_donia_hammami par
Rapport pfe talan_2018_donia_hammamiRapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiDonia Hammami
33.6K vues90 diapositives
Rapport de stage PFE - Mémoire master: Développement d'une application Android par
Rapport de stage PFE - Mémoire master: Développement d'une application AndroidRapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application AndroidBadrElattaoui
36.1K vues103 diapositives

Tendances(20)

Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web par Salma Gouia
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_webRapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Salma Gouia6.3K vues
Pfe conception et réalisation d'une application de gestion des processus d'ac... par Ahmed Makni
Pfe conception et réalisation d'une application de gestion des processus d'ac...Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...
Ahmed Makni19.4K vues
Rapport- Conception et réalisation d'une plateforme social learning par Rouâa Ben Hammouda
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learning
Rouâa Ben Hammouda39.5K vues
Rapport pfe talan_2018_donia_hammami par Donia Hammami
Rapport pfe talan_2018_donia_hammamiRapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammami
Donia Hammami33.6K vues
Rapport de stage PFE - Mémoire master: Développement d'une application Android par BadrElattaoui
Rapport de stage PFE - Mémoire master: Développement d'une application AndroidRapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application Android
BadrElattaoui36.1K vues
Conception et réalisation d'une application de gestion intégrée au sein de la... par Addi Ait-Mlouk
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...
Addi Ait-Mlouk128.2K vues
Rapport stage pfe par rimeh moussi
Rapport stage  pfe Rapport stage  pfe
Rapport stage pfe
rimeh moussi33.6K vues
PFE :: Application de gestion des dus d'enseignement par Nassim Bahri
PFE :: Application de gestion des dus d'enseignementPFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignement
Nassim Bahri49.5K vues
Pfe conception et développement d'une application web GMAO JEE par Oussama Djerba
Pfe conception et développement d'une application web GMAO JEEPfe conception et développement d'une application web GMAO JEE
Pfe conception et développement d'une application web GMAO JEE
Oussama Djerba98.2K vues
Projet de fin étude ( LFIG : Conception et Développement d'une application W... par Ramzi Noumairi
Projet de fin étude  ( LFIG : Conception et Développement d'une application W...Projet de fin étude  ( LFIG : Conception et Développement d'une application W...
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
Ramzi Noumairi20.5K vues
Rapport de projet de fin d"études par Mohamed Boubaya
Rapport de projet de fin d"étudesRapport de projet de fin d"études
Rapport de projet de fin d"études
Mohamed Boubaya9.3K vues
Rapport Projet de fin d'etude sur le parc informatique par Hicham Ben
Rapport Projet  de fin d'etude sur le parc informatiqueRapport Projet  de fin d'etude sur le parc informatique
Rapport Projet de fin d'etude sur le parc informatique
Hicham Ben68.4K vues
Conception et Réalisation Application Web Laravel PFE BTS par FaissoilMkavavo
Conception et Réalisation Application Web Laravel PFE BTSConception et Réalisation Application Web Laravel PFE BTS
Conception et Réalisation Application Web Laravel PFE BTS
FaissoilMkavavo4.7K vues
rapport PFE ingénieur génie logiciel INSAT par Siwar GUEMRI
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSAT
Siwar GUEMRI24.7K vues
Rapport de PFE du Diplôme de Mastère pro en Modélisation, Bases de Données et... par Sarra LAOUINI
Rapport de PFE du Diplôme de Mastère pro en Modélisation, Bases de Données et...Rapport de PFE du Diplôme de Mastère pro en Modélisation, Bases de Données et...
Rapport de PFE du Diplôme de Mastère pro en Modélisation, Bases de Données et...
Sarra LAOUINI4.6K vues
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met... par Hajer Dahech
Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Hajer Dahech17.8K vues
RapportPFE_IngenieurInformatique_ESPRIT par Lina Meddeb
RapportPFE_IngenieurInformatique_ESPRITRapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRIT
Lina Meddeb6.4K vues

Similaire à Projet Fin D'étude Application Mobile

rapport fin d'etude par
rapport fin d'etuderapport fin d'etude
rapport fin d'etudesihem-med
3.1K vues68 diapositives
Plateforme de gestion des projets de fin d'études par
Plateforme de gestion des projets de fin d'étudesPlateforme de gestion des projets de fin d'études
Plateforme de gestion des projets de fin d'étudesMajdi SAIBI
30.2K vues54 diapositives
Ms.ELN.Alat+Khelifi.pdf par
Ms.ELN.Alat+Khelifi.pdfMs.ELN.Alat+Khelifi.pdf
Ms.ELN.Alat+Khelifi.pdfRsifProject
126 vues65 diapositives
Medical openerp par
Medical openerpMedical openerp
Medical openerpHORIYASOFT
21.5K vues90 diapositives
Rapport final par
Rapport finalRapport final
Rapport finalYosraJerbi1
1K vues85 diapositives
Visualisation graphique des preuves Électroniques (complet) par
Visualisation graphique des preuves Électroniques (complet)Visualisation graphique des preuves Électroniques (complet)
Visualisation graphique des preuves Électroniques (complet)Olga Ambani
1.9K vues86 diapositives

Similaire à Projet Fin D'étude Application Mobile(20)

rapport fin d'etude par sihem-med
rapport fin d'etuderapport fin d'etude
rapport fin d'etude
sihem-med3.1K vues
Plateforme de gestion des projets de fin d'études par Majdi SAIBI
Plateforme de gestion des projets de fin d'étudesPlateforme de gestion des projets de fin d'études
Plateforme de gestion des projets de fin d'études
Majdi SAIBI30.2K vues
Ms.ELN.Alat+Khelifi.pdf par RsifProject
Ms.ELN.Alat+Khelifi.pdfMs.ELN.Alat+Khelifi.pdf
Ms.ELN.Alat+Khelifi.pdf
RsifProject126 vues
Medical openerp par HORIYASOFT
Medical openerpMedical openerp
Medical openerp
HORIYASOFT21.5K vues
Visualisation graphique des preuves Électroniques (complet) par Olga Ambani
Visualisation graphique des preuves Électroniques (complet)Visualisation graphique des preuves Électroniques (complet)
Visualisation graphique des preuves Électroniques (complet)
Olga Ambani1.9K vues
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf par Bader Nassiri
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
Bader Nassiri481 vues
Conception et développement d’une plateforme d'import-export avec paiement en... par Karim Ben Alaya
Conception et développement d’une plateforme d'import-export avec paiement en...Conception et développement d’une plateforme d'import-export avec paiement en...
Conception et développement d’une plateforme d'import-export avec paiement en...
Karim Ben Alaya5.6K vues
Mise en place d'une stratégie de marketing digital par Karim Ben Alaya
Mise en place d'une stratégie de marketing digital Mise en place d'une stratégie de marketing digital
Mise en place d'une stratégie de marketing digital
Karim Ben Alaya4.9K vues
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 ) par Saadaoui Marwen
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Saadaoui Marwen14.5K vues
Rapport Projet ERP - Plateforme Odoo 12 (PFE Licence) par Yasmine Tounsi
Rapport Projet ERP - Plateforme Odoo 12 (PFE Licence)Rapport Projet ERP - Plateforme Odoo 12 (PFE Licence)
Rapport Projet ERP - Plateforme Odoo 12 (PFE Licence)
Yasmine Tounsi4.9K vues
MALLAT_BOURUIS par Ali Mallat
MALLAT_BOURUISMALLAT_BOURUIS
MALLAT_BOURUIS
Ali Mallat11.4K vues
Mise en place d'une infrastructure basée sur OpenStack par Ahmed Slim
Mise en place d'une infrastructure basée sur OpenStack Mise en place d'une infrastructure basée sur OpenStack
Mise en place d'une infrastructure basée sur OpenStack
Ahmed Slim15.8K vues
M1_rapport_Mise en place d'un serveur de supervision et gestion des staistiqu... par nisrineelouadghiri1
M1_rapport_Mise en place d'un serveur de supervision et gestion des staistiqu...M1_rapport_Mise en place d'un serveur de supervision et gestion des staistiqu...
M1_rapport_Mise en place d'un serveur de supervision et gestion des staistiqu...
Rapport de stage Comptabilité + Sujet: Les compétences et les actions nécessa... par Fadhel El Fahem
Rapport de stage Comptabilité + Sujet: Les compétences et les actions nécessa...Rapport de stage Comptabilité + Sujet: Les compétences et les actions nécessa...
Rapport de stage Comptabilité + Sujet: Les compétences et les actions nécessa...
Fadhel El Fahem175.1K vues
remerciement mémoire 6 exemples word télécharger www.bit.ly/3eZWRAC par Hani sami joga
remerciement mémoire 6 exemples word télécharger www.bit.ly/3eZWRACremerciement mémoire 6 exemples word télécharger www.bit.ly/3eZWRAC
remerciement mémoire 6 exemples word télécharger www.bit.ly/3eZWRAC
Hani sami joga4.3K vues
Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph... par Abdelmadjid Djebbari
Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...
Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...

Projet Fin D'étude Application Mobile

  • 1. Ministère de l'Enseignement Supérieur et de la Recherche Scientifique Université de Carthage Faculté des Sciences Economiques et De Gestion de Nabeul RAPPORT DE STAGE Présenté en vue d'obtenir le diplôme de la LICENCE FONDAMENTALE SPECIALITE : Informatique Appliquée à la Gestion Elaboré par Mlle. RIM ENNOUR Conception et réalisation d'une première application mobile en Tunisie d'un comparateur de cours de change de toutes les banques de la région de Nabeul . Réalisé au sein de Bank e-Conseil Encadré par Encadrant universitaire Encadrant professionnel Mme. Zouhour ben Salem Mr. Moez Mrad Année universitaire 2016-2017
  • 2. Page 2 DEDICACES Toutes les lettres ne sauraient trouver les mots qu'il faut... Tous les mots ne sauraient exprimer la gratitude, l'amour, le respect, la reconnaissance... Aussi, c'est tout simplement que je dédie ce projet de fin d'études... A mes chers parents Rafik & Nejla Autant de phrases et d'expressions aussi éloquentes soient-elles ne sauraient exprimer ma gratitude et ma reconnaissance. Vous avez su m'inculquer le sens de la responsabilité, de l'optimisme et de la confiance en soi face aux difficultés de la vie. Vos conseils ont toujours guidé mes pas vers la réussite. Votre patience sans fin, votre compréhension et votre encouragement sont pour moi le soutien indispensable que vous avez toujours su m'apporter. Je vous dois ce que je suis aujourd'hui et ce que je serai demain et je ferai toujours de mon mieux pour rester votre fierté et ne jamais vous décevoir. Que Dieu, le tout puissant, vous préserve, vous accorde santé, bonheur, quiétude de l'esprit et vous protège de tout mal. A mon cher frère Amir & mon Fiancé Hamda Merci d'être toujours à coté de moi, par vos présence, par vos amour dévoué et vos tendresse, pour donner du goût et du sens à ma vie. En témoignage de mon amour et ma grande affection, je vous prie de trouver dans ce travail l'expression de mon estime et mon sincère attachement. A mon oncle Moez et ma tante Sana Merci de m'avoir protégé et rassurée ,de m'avoir aider à surmonter tellement d'obstacle, d'avoir toujours était la pour moi. Merci pour l'amour d'un père et d'une grande sœur, vous m'avais toujours offert. Je prie Dieu, le tout puissant, pour qu'il vous donne bonheur, santé et réussite.
  • 3. Page 3 Remerciements Ce Projet de Fin d'Etude a été le labeur de trois années et n'aurait probablement jamais été mené à terme sans le soutien d'un grand nombre de personnes que je tiens vivement et très sincèrement à remercier. Au terme de ce rapport, j'exprime mes fortes remercîments à Dieu le tout puissant, ton amour, ta miséricorde et tes grâces à mon endroit m'ont fortifiée dans la persévérance et l'ardeur au travail. J'aime bien remercier la Faculté des Sciences économiques et des Gestions de Nabeul qui m'a offert l'occasion d'effectuer ce stage au sein de Bank e-conseil en vue de consolider mes acquis théoriques par une expérience pratique, aussi bien, pour enrichir mes connaissances dans la vie professionnelle et de découvrir l'environnement de travail. Je tiens également, à exprimer mes vifs respects et mes forts remerciements à mon encadrant universitaire Mme Zouhour BEN SALEM qui a fait preuve d'une grande disponibilité à mon égard, pour ses remarques et critiques pertinentes et fructueuses, pour sa gentillesse, pour m'avoir fait confiance dans la réalisation de mon rapport. Je tiens à faire part de toute ma reconnaissance envers mes enseignants à la Faculté de Science économique et de Gestion de Nabeul qui ont préparés et qui n'ont pas cessé d'enrichir nos acquis scientifiques durant nos années d'études universitaires. Il m'est plaisant d'entamer l'exposition de ce travail, d'exprimer mes sincères remerciements aux membres de jury pour l'honneur qu'ils me font d'accepter de juger mon travail.
  • 4. Page 4 Sommaire Dédicaces .........................................................................................................................2 Remerciments ............................................................................................................................3 Sommaire .......................................................................................................................4 Liste des figures .............................................................................................................7 Liste des tableaux ...........................................................................................................9 Liste des abréviations ...................................................................................................10 Introduction générale ....................................................................................................11 Chapitre I. Présentation du cadre du stage et description de l'application ..........13 I.1 Introduction ..........................................................................................................14 I.2 Présentation de l'organisme d'accueil ...................................................................14 I.2.1 Présentation de la société Bank e-Conseil ....................................................14 I.2.2 Les services proposés par Bank e-Conseil ....................................................15 I.3 Présentation du projet ...........................................................................................15 I.3.1 Problématique ...............................................................................................15 I.3.2 Contexte du projet .........................................................................................15 I .3.3 Objectifs de l'application ..............................................................................16 I.3.4 Acteurs de l'application .................................................................................16 I.4 Conclusion.............................................................................................................16 Chapitre II. Etude préalable et spécification des besoins ................................17 II.1 Introduction .........................................................................................................18 II.2 Etude de l'existant ...............................................................................................18 II.2.1 Présentation du «MaterialDesign» ...............................................................18 II.2.2 Présentation des applications existantes ......................................................20 II.2.3 Inconvénients des applications ....................................................................23 II.3 Etude comparative des applications ....................................................................24 II.4 Spécification des besoins ....................................................................................25 II.4.1 Spécification des besoins fonctionnels ........................................................25 II.4.2 Spécification des besoins non fonctionnels .................................................26
  • 5. Page 5 II.5 Conclusion ..........................................................................................................26 Chapitre III. Conception ........................................................................................27 III.1 Introduction .......................................................................................................28 III.2 Conception architecturale ..................................................................................28 III.2.1 Architecture MVC ......................................................................................28 III.3 Conception générale ..........................................................................................29 III.3.1 Cycle de vie ................................................................................................29 III.3.2 Méthodologie de conception ......................................................................31 III.4 Diagramme de cas d'utilisation ..........................................................................34 III.4.1 Diagramme de cas d'utilisation global ........................................................34 III.4.2 Raffinement des cas d'utilisation ................................................................35 III.5 Diagramme de classe .........................................................................................40 III.6 Diagramme de séquence ....................................................................................41 III.6.1 Diagramme de séquence «Consulter cours devises» .....................................41 III.6.2 Diagramme de séquence «Convertir devises» ...............................................42 III.6.3 Diagramme de séquence «Localiser banque» ................................................43 III.6.4 Diagramme de séquence «Consulter annuaire agences» .............................44 III.7 Conclusion .........................................................................................................45 Chapitre IV. Réalisation .........................................................................................46 IV.1 Introduction .......................................................................................................47 IV.2 Architecture de l'application .............................................................................47 IV.2.1 Architecture 3-tiers .....................................................................................47 IV.2.2 Technologie de l' architecture 3-tiers .........................................................48 IV.2.3 Avantages de l' architecture 3-tiers ............................................................49 IV.3 Environnement du travail ..................................................................................49 IV.3.1 Environnement matériels ............................................................................49 IV.3.2 Environnement logiciels .............................................................................50 IV.4 Interfaces graphiques .........................................................................................57
  • 6. Page 6 IV.4.1 Interface d'accueil .......................................................................................58 IV.4.2 Interface liste devises .................................................................................59 IV.4.3 Interfaces Convertisseur .............................................................................60 IV.4.4 Interface Réseaux banques .........................................................................61 IV.4.5 Interface annuaire agences .........................................................................62 IV.4.6 Interfaces Bank e-Conseil ..........................................................................63 IV.5 Chronogramme du projet ..................................................................................64 IV.6 Conclusion ........................................................................................................64 Conclusion et perspectives ...........................................................................................65 Bibliographie ................................................................................................................66
  • 7. Page 7 Liste des figures Figure 1. Logo Bank e-conseil ............................................................................................. 14 Figure 2. Guide du "Google Matériel Design" pour ListView ............................................ 19 Figure 3. Interface liste des devises de l'application "Convertisseur de Devises" ............... 20 Figure 4. Interface de convertisseur des devises de l'application "Convertisseur de Devises"................................................................................................................................. 20 Figure 5. Interface liste des devise de l'application "Taux de change Toutes devises" ...... 21 Figure 6. Interface de convertisseur de l'application "Taux de change Toutes devises ...... 21 Figure 7. Interface liste des devises de l'application "Convertisseur de Devises" .............. 22 Figure 8. Interface de convertisseur des devises de l'application "Convertisseur de Devises" ................................................................................................................................ 22 Figure 9. Interface liste des devises de l'application " Banque de l'Habitat "....................... 23 Figure 10. Interface de localisation des agences de BH de l'application " Banque de l'Habitat "............................................................................................................................... 23 Figure 11. Modèle du cycle de vie en cascade ..................................................................... 29 Figure 12. Modèle du cycle de vie en V .............................................................................. 30 Figure 13. Les différents diagrammes UML ....................................................................... 33 Figure 14. Diagramme de cas d'utilisation global ............................................................... 34 Figure 15. Diagramme du cas d'utilisation «Consulter cours devises» ............................... 35 Figure 16. Diagramme du cas d'utilisation «Convertir devises» ......................................... 36 Figure 17. Diagramme du cas d'utilisation« Localiser banque » ........................................ 37 Figure 18. Diagramme du cas d'utilisation «Consulter annuaire agences» .......................... 39 Figure 19. Diagramme de classe .......................................................................................... 40 Figure 20. Diagramme de séquence «Consulter cours devise » .......................................... 42 Figure 21. Diagramme de séquence «Convertir devises » .................................................. 43 Figure 22. Diagramme de séquence «Localiser banque » ................................................... 44 Figure 23. Diagramme de séquence «Consulter annuaire agences» ................................... 45 Figure 24. Architecture de l'application .............................................................................. 47 Figure 25. Architecture 3-tiers de point de vue technologie ............................................... 49 Figure 26. Parts du marché en systèmes d'exploitation des Smartphones ........................... 51 Figure 27. Logo Java ........................................................................................................... 51 Figure 28. Logo XML ......................................................................................................... 52 Figure 29. Logo PHP ........................................................................................................... 52 Figure 30. Logo JSON ........................................................................................................ 53 Figure 31. Logo Android Studio .......................................................................................... 54 Figure 32. Logo WampServer ............................................................................................. 54 Figure 33. Logo MySQL ...................................................................................................... 55 Figure 34. Logo phpMyAdmin ........................................................................................... 55 Figure 35. Logo StarUML ................................................................................................... 56 Figure 36. Logo GANTT Project ........................................................................................ 56
  • 8. Page 8 Figure 37. Logo Notepad++ ................................................................................................ 57 Figure 38. Logo REST ......................................................................................................... 57 Figure 39. Interface Accueil ................................................................................................ 58 Figure 40. Menu de l'application ......................................................................................... 58 Figure 41. Interfaces Liste Devises ..................................................................................... 59 Figure 42. Interfaces Convertisseur ..................................................................................... 60 Figure 43. Interfaces Réseaux Banques ............................................................................... 61 Figure 44. Interfaces Annuaire Agences ............................................................................. 62 Figure 45. Interfaces Bank e-Conseil .................................................................................. 63 Figure 46. Diagramme de Gantt .......................................................................................... 64
  • 9. Page 9 Liste des Tableaux Tableau 1. Tableau d'étude comparative des applications existantes.................................. 24 Tableau 2. Tableau de description du cas d'utilisation «Consulter cours devises»............. 35 Tableau 3. Tableau de description du cas d'utilisation «Convertir devises»....................... 36 Tableau 4. Tableau de description du cas d'utilisation «Localiser banque»........................ 38 Tableau 5. Tableau de description du cas d'utilisation «Consulter annuaire agences»....... 39 Tableau 6. Tableau des technologies utilisées dans l'application........................................ 48
  • 10. Page 10 Liste des Abréviations UML: Unified Modeling Language MySQL: MyStructured Query Language Wamp: Windows Apache MySQL PHP HTML: HyperText Markup Language XML: eXtensibe Markup Language MVC: Model View Controller JSON: JavaScript Object Notation REST: Representational State Transfer
  • 11. Page 11 INTRODUCTION GENERALE es fonctions du téléphones portable se multiplient et évoluent sans cesse d'un jour à un autre. Aujourd'hui, l'écart technologique entre un téléphone et un ordinateur portable se resserre de plus en plus. Par exemple, avec un téléphone portable dit «dernière génération» ou «Smartphone», il est possible de consulter les mail, naviguer sur internet, regarder des vidéos, écouter les radios, etc. Et cela de manière très intuitive et rapide. C'est pourquoi ce dernier prend un rôle important dans notre vie. Cet accroissement est traduit par des millions d'applications qui sont présentes dans un marché potentiel qui dépasse quatre milliards de mobiles . L'utilisation et l'émergence des systèmes d'exploitation mobiles, a facilité le développement des applications mobiles. Parmi ces systèmes, on trouve "Android" qui est développé par un consortium autour de Google. Son usage est dédié essentiellement aux Smartphones. Il est aussi utilisé sur quelques "Netbooks"(mini portable), et dans quelques tableaux de bord des véhicules de transport. Un des secteurs économiques le plus lourdement touché par se phénomène, est le secteur bancaire qui est un secteur où l'image permet de valoriser les lieux ou les services en faisant satisfaire les clients. Dans une société où le web est devenu l'un des principaux outils de communication et de diffusion d'information, les compagnies impliquées dans le domaine des services se sont rendues compte de l'importance de cet outil et de son influence sur les clients et elles ont profités de l'internet pour vendre leurs services. Les banques proposent, en effet, un nombre croissant de services délivrés en ligne: de la simple consultation de solde bancaire ou la création des virement électroniques, change en ligne , édition des relevés de comptes, etc. Mais ses applications connaissent beaucoup des limites notamment au niveau de consultation des cours de devises et de localisation des agences de chaque banque. C'est dans ce cadre, que s'inscrit ce projet qui s'intitule« Conception et développement du premier comparateur de taux de change en Tunisie » sous la plateforme «Android» au sein de «Bank e-conseil». Ce rapport est composé de quatre chapitres structurés comme suit: -Dans le premier chapitre, on va présenter la banque, le cahier des charges ainsi que l'objectif du projet. L
  • 12. Page 12 -Le deuxième chapitre sera consacré à l'étude , critique de l'existant ,une étude comparative et étudiera l'analyse des besoins . -Le troisième chapitre sera consacré à la conception en illustrant quelques diagrammes UML. -Dans le dernier chapitre, nous nous intéressons à l'implémentation et à la réalisation du projet. Finalement nous clôturons ce rapport par une conclusion générale présentant une synthèse de notre travail.
  • 13. Page 13 CHAPITRE I PRESENTATION DU CADRE DU STAGE & DESCRIPTION DE L'APPLICATION
  • 14. Page 14 I.1 Introduction Dans ce chapitre, nous allons présenter l'organisme d'accueil Bank e-Conseil, la société au sein de laquelle nous avons effectué notre projet de fin d'étude, car, la présentation du sujet permettre de mieux comprendre le problème étudié. Ensuite, nous allons présenter la solution qui sera détaillé plus loin dans le rapport. I.2 Présentation de l'organisme d'accueil I.2.1 Présentation de Bank e-Conseil Figure 1. Logo de Bank e-Conseil Bank e-Conseil ( Bec Conseil) est une Société Tunisienne à Responsabilité Limitée crée en février 2013,spécialisée en conseils financiers et bancaires. Ses Fondateurs Mr MRAD Moez, ancien directeur de banque d'Habitat et Mme BEJI Safa, professeur de finances en lycée privée. Ils ont été motivé pour créer une boite indépendante partant des motivations suivantes qu’il pu percevoir tout le long de ses carrières à savoir :  Un besoin très fort des entreprises et des particuliers résidents et non résident.  Projet innovant sur le plan technologique et nouveaux services offertes en ligne.  Satisfaire une clientèle en Tunisie et à l'étranger et promouvoir l'investissement en Tunisie.  Professionnaliser la relation client-banque.  Association avec des consultants externes sur le plan fiscale, comptable, juridique et commerce internationale.
  • 15. Page 15 I.2.2 Les services proposés par Bank e-Conseil Bank e-Conseil offre une large éventail des services financiers et bancaires aux particuliers, aux entreprises , aux clients des banques, citons :  Consultation, assistance financière et bancaire.  Etudes et suivi des projets et Montages financiers.  Création d’entreprises.  Expertise en financement immobilier et promotion immobilière.  Gestion de patrimoine et portefeuille titres.  Solutions de recouvrement de créances impayées. I.3 Présentation du projet I.3.1 Problématique Actuellement l'une des problématiques principales des bénéficiaires des services bancaire réside dans le temps perdu à chercher le cours le plus fort et le plus faible sur le marché. Ce temps peut les décourager à faire les changes ou accepter le cours de change qui n'est pas optimal donc des pertes ou un manque à gagner que subit l'entreprise ou l'agent économique d'une façon générale. I.3.2 Contexte du projet Dans le cadre de notre projet de fin d’études à la faculté des sciences économiques et de gestion de Nabeul (FSEGN) en vue de l’obtention du diplôme de fin d'études en Informatique appliquée à la gestion, nous sommes amenées à réaliser une application mobile «Conception et développement du premier comparateur de cours de change de toutes les banques de la région de Nabeul en Tunisie » intitulée «TUNISIA EXPRESS CURRENCY ». En fait, le projet est une application mobile qui a pour but d'une part ,de faciliter la consultation des cours journaliers de change des banques, de classifier ces cours de changes par ordre croissant et décroissant et par banques et de faire la conversion d'un devise à un autre selon la banque.
  • 16. Page 16 D'autre part, de trouver le positionnement et de mettre tous l'utilisateurs en contact avec les agences de la région de Nabeul ainsi gagner du temps et d'argent. I.3.3 Objectifs de l'application La société nous demande dans le cadre de ce projet de concevoir et de développer une application mobile pour Android. La réalisation de cette application permet de :  Simplifier la recherche du cours le plus fort et le plus faible sur le marché.  Augmenter la concurrence entre les banques en Tunisie: Les clients cherche toujours à vendre ou à acheter des devises avec le taux optimal quelque soit fort ou faible. A fin de gagner le plus grand nombre de clients et d'augmenter l'économie, les banques essayent à satisfaire les besoins de leurs clients tout en baissant ou augmentant le taux qui est en rapport avec leurs banques centrales d'ou la concurrence entre les banques.  Améliorer la relation client-banques: la mise en contact entre l'utilisateur et la banque destinée.  Gagner de temps de déplacement: le client peut consulter le prix des devises à n'importe quel endroit pas besoin de se déplacer de banque en banque pour acquérir l'information cherchée concernant le cours des changes.  Gagner de l'argents et éviter le manque à gagner par l'utilisation du cours optimum de la journée . I.3.4 Acteurs de l'application Cette application est à la portée de tous les utilisateurs quelque soit leurs nationalités, elle est destinée au " grand public". I.4 Conclusion Ce chapitre nous a permis d'introduire notre projet et de présenter l'organisme d'accueil. Ceci nous a aidé à mieux comprendre l'étude de l'existant et la spécification des besoins qui sera présenté dans le chapitre suivant.
  • 17. Page 17 CHAPITRE II ETUDE PREALABLE & SPECIFICATION DES BESOINS
  • 18. Page 18 II.1 Introduction Ce chapitre présente un état des lieux, il s'agit d'une étude de l'existant suivie d'une étude comparative permettant au projet de présenter une amélioration. II.2 Etude de l'existant L'étude de l'existant est une phase importante pour bien comprendre le système actuel et dégager les nouveaux besoins qui n'étaient pas envisagés afin de mettre en place une nouvelle solution convenable. Après les recherches réalisées, nous avons remarqué que notre idée n'est pas encore réalisée. D'une part, la plupart des applications mobile de devises sont destinées à une seule banque ou destinées seulement à afficher le taux de devise d'une façon générale donc il n'existe pas une application qui fait la comparaison des cours des devises entre les banques . D'autre part, les convertisseurs existants sont des convertisseurs désignés à une seule institution financière. Ce qui inspire Bank e-Conseil à réaliser la première application en Tunisie qui s'occupe de ces deux parties en même temps c'est à dire un affichage comparatif du cours des devises qui met en valeur le cours optimal ordonnée par banque et par nature d'opération (vente ou achat) tout en intégrant d'autres fonctionnalités. Aussi un convertisseur des devises où la conversion se fait par choix et par nature d'opération (vente ou achat). Afin de développer cette application, nous avons fait une étude comparative des applications mobiles Android existants en tenant en compte les contraintes du «MaterialDesign». II.2.1 Présentation du «Material Design» Afin de coller aux tendances actuelles en matière de Mobile design, Google a récemment présenté le Material Design : Le Material Design est un ensemble de règles de design proposées par Google et qui s'appliquent à l'interface graphique des logiciels et applications. Il est utilisé notamment à partir de la version 5.0 du système d'exploitation Android. C'est un langage visuel pensé pour maximiser le confort de navigation et simplifier la prise en main des applications. Pour être le plus intuitif possible, il s’inspire directement des matériaux tels que le papier et l’encre, il fait ainsi référence aux réelles sensations de toucher. Le
  • 19. Page 19 Material Design de Google intègre également les dernières avancées technologiques permettant d’unifier les interfaces quel que soit l’outil de navigation de l’utilisateur (ordinateur, tablette ou smartphone). [1] Le Material Design repose sur quatre grands principes : -Des couleurs vives pour maximiser le contraste et limiter la pollution visuelle -Des ombres portées générées en temps réel, pour donner de la profondeur -Des animations et transitions très poussées pour donner plus de sens à chacune des actions -Des informations sous forme de “widgets” La figure présente un exemple des contraintes de Material Design pour former une interface "ListView" ergonomique. [2] Figure 2. Guide du "Google Material Design" pour ListView.
  • 20. Page 20 II.2.2 Présentation des applications existantes Parmi les meilleures applications sur "Play Store", nous avons trouvé l'application "Convertisseur de devises" comme indique les figures 3 et 4. Cette application permet à l'utilisateur de consulter seulement le taux de devises pas le cours de devises , aussi elle offre une interface de conversion de monnaies entre 2 devises seulement. Figure 3. Interface liste des devises Figure 4. Interface de convertisseur de l'application "Convertisseur de des devises de l'application Devises". "Convertisseur de Devises"
  • 21. Page 21 Nous avons considéré aussi l'application "Taux de change Toutes devises" , dont les interfaces présentées dans les figures 5 et 6. Cette application offre les mêmes fonctionnalités que l'application précédente. Figure 5. Interface liste des devises Figure 6. Interface de convertisseur de l'application "Taux de change des devises de l'application Toutes devises". "Taux de change Toutes devises"
  • 22. Page 22 Nous avons étudié l'application "Taux de change" dont quelques interfaces sont présentées dans les figures 7 et 8. Cette application fait seulement un affichage des devises (elle n'affiche ni leurs taux ni leurs cours et offre un convertisseur de devises). Figure 7. Interface liste des devises Figure 8. Interface de convertisseur de l'application "Convertisseur de des devises de l'application Devises". "Convertisseur de Devises"
  • 23. Page 23 Nous avons étudié l'application "Banque d'Habitat" dont quelques interfaces sont présentées dans les figures 9 et 10. Cette application fournit les services utiles de la Banque d'Habitat. Elle permet de consulter le cours des devises en temps réelle , convertir les devises , localiser ses agences bancaires , simuler des crédits , consulter les annuaires des agences. Figure 9. Interface liste des devises Figure 10. Interface de localisation de l'application " Banque d'Habitat" des agences de BH de l'application " Banque d'Habitat " II.2.3 Inconvénients des applications :  La majorité des applications sont destinée à une seule banque.  La majorité des applications mobiles dans le secteur bancaire n'utilise pas la géolocalisation pour localiser ses agences.
  • 24. Page 24 II.3 Etude comparative des applications Application Informations générales Avantages Limites Convertisseur des devises Proposé par: Jimmy Dahlqvist Version: 4.2.5 Téléchargement: Plus de 100 000 téléchargements. *Facile et simple à utiliser. *Conversion rapide et facile. *Lister les différents devises . *Interfaces non ergonomiques qui ne respecte pas Matériel Design. * Pas de rapport entre les devises et les banques. *Pas de conversion selon les banques . *Informations non détaillées. Taux de change Proposé par: Exchanger Currency Version: 2.3.7 Téléchargement: Plus de 5 000 000 téléchargements. *Interfaces claires et compréhensives. *Interfaces réalisées sans respect de Matériel Design. * Pas de rapport entre les devises et les banques. *Utilisation compliqué(non simple à utiliser). Taux de change Toutes devises Proposé par: DOMO soft Version: 3.0 Téléchargement: Plus de 500 000 téléchargements. *Facile à utiliser. *Lister les différents devises. * Pas de rapport entre les devises et les banques. *Donne seulement un aperçu générale sur les taux de changes. (non détaillées) BIAT Plus Proposé par: Banque Internationnale Arab de Tunisie Version: 1.1 Téléchargement: Plus de 50 000 téléchargements *Facile à utiliser. *Géolocalisation des agences de BIAT . *Affichage des devises de BIAT. * Interfaces claires et compréhensives. *Donne seulement un aperçu générale sur les changes de BIAT. Tableau 1. Tableau d'étude comparative des applications existantes
  • 25. Page 25 En se basant sur ces limites des applications, nous avons décidé de créer une application mobile Android jouant le rôle d'un comparateur de devise de des banques Tunisienne et permettant d'avoir des informations complètes concernant leurs cours journaliers tout en suivant une liste des devises triée par banque et par ordre, une localisation des banques bien détaillé et un convertisseur des devises. II.4 Spécification des besoins La spécification des besoins constitue la phase de départ de toute application à développer dans laquelle nous allons identifier les besoins de notre application. Nous distinguons des besoins fonctionnels qui présentent les fonctionnalités attendues de notre application et des besoins non fonctionnels pour éviter le développement d'une application satisfaisante. II.4.1 Spécification des besoins fonctionnels Les besoins fonctionnels expriment les principales fonctionnalités de l'application sans se préoccuper de la façon de l'implémentation. Notre application "Tunisia Express Currency" permet à son utilisateur par des simples cliques de trouver (les cours des devises, un convertisseur de devises , la localisation des banques et un annuaires des agences).  Pas d'authentification: lors du lancement de l'application une fenêtre de bienvenue s'affiche ( pas d'interface d'authentification car notre objectif est de simplifier et diminuer le temps de la recherche, pas de compliquer la saisie . De plus elle est destinée à tous le monde donc pas besoin de s'authentifier).  Consultation de cours des devises en temps réelles: Une fois l'utilisateur choisi une devise , un table de taux apparait , il contient les différents cours ( Achat et Vente) ordonnée par le cours optimal et par banque .  Conversion de devises: Lors d'un clic sur 'Convertisseur' , l'utilisateur aura la possibilité de convertit le montant du dinars tunisien dans toutes les devises de la banque.  Localisation des différentes agences bancaires: cette interface offre à l'utilisateur la possibilité d'avoir la localisation des différentes agences de la banque choisie.
  • 26. Page 26  Consulter l'annuaire des agences de la banque : a partir cette interface l'utilisateur peut trouver l'annuaire des différentes agences de la banque qu'il veut la contactée. II.4.2 Spécification des besoins non fonctionnels Les besoins non fonctionnels décrivent toutes les contraintes techniques, ergonomiques et esthétiques auxquelles est soumis le système pour sa réalisation et pour son bon fonctionnement. Et ce qui concerne notre application, nous avons dégager le besoins suivants:  Disponibilité: l'application doit être disponible pour être utilisé par n'importe quel utilisateur.  La fiabilité: les données fournies par l'application doivent être fiables.  La simplicité d'utilisation: Notre application présente un graphisme bien soigné ainsi elle offre des interfaces simple et facile à manipuler.  L’ergonomie: Notre application offre des interfaces conviviales et simples qui sont développés en respectant les contraintes de « Google MatrialDesign » dans le but d'améliorer l'utilisation.  Le maintien: Le code de cet application est lisible et compréhensible qui assurer son état évolutif et extensible  La rapidité: l'application offre un gain de temps pour l'utilisateur puisqu'elle valorise l'accès directs grâce à des recherches courantes et des interfaces bien liés. II.5 Conclusion Dans ce chapitre nous avons présenté une étude du système existant, une étude comparative ainsi que la solution proposée. Les besoins fonctionnels et non fonctionnels qui ont permis de mieux expliciter le système à réaliser sont décrits dans ce chapitre aussi. Nous entamons l'étude de la conception dans le chapitre suivant.
  • 28. Page 28 III.1 Introduction La partie conception permet de mettre en place l'architecture du logiciel et définie les interfaces entre les différentes modules. Le but étant d'exposer une documentation complète sur les différentes architectures de chaque module qui sera implémenté et testé au niveau de la partie développement, de ce fait la conception nous permettra de relevé les différentes contraintes auxquels chaque architecture doit respecter les normes de communication entre eux. III.2 conception architecturale Pour la conception de notre application , nous avons opté pour le modèle MVC qui est très pratique pour la gestion de l'interaction entre les différents composants de notre application. III.2.1 Architecture MVC L'architecture MVC (Modèle, Vue et Contrôleur) est une architecture à trois couches utilisée pour la programmation client/serveur et interfaces graphiques. C'est un modèle architectural très puissant qui intervient dans la réalisation d'une application. Il tire sa puissance de son concept de base qui est la séparation des données (modèle), de l'affichage (vue) et des actions (contrôleur).  Modèle Il correspond aux données stockées généralement dans une base de données. Dans un langage orienté objet ces données sont exploitées sous forme de classes. Le modèle peut aussi agir sur la vue en mettant à jour ses données.  Vue Ne contenant que les informations liées à l'affichage, la vue se contente d'afficher le contenu qu'elle reçoit sans avoir connaissance des données. En bref, c'est l'interface homme machine de l'application.  Contrôleur Le contrôleur sert de base à récupérer les informations, de les traiter en fonction des paramètres demandés par la vue (par l'utilisateur), puis de renvoyer à la vue les données afin d'être affichées. C'est donc l'élément qui va utiliser les données pour les envoyer à la vue.
  • 29. Page 29 III.3 Conception générale III.3.1 Cycle de vie Le « cycle de vie d'un logiciel » (en anglais software life cycle), ou les étapes méthodes de développement, sélectionne et identifie toutes les étapes de développement d'un logiciel, des sa conception en allant jusqu'à disparition. L'objectif étant de définir des balises intermédiaires permettant la validation de la partie développement logiciel, c'est à dire si le logiciel répond aux besoins exprimés, et la vérification du processus de développement, et si les méthodes mises en ouvre respectant bien les contraintes prédéfinis auparavant. III.3.1.1 Les modèles de cycle de vie III.3.1.1.1 Modèle de cycle de vie en cascade Le modèle de cycle de vie en cascade comporte 7 phases : analyse des besoins, spécifications, conception de l’architecture, conception détaillée, implémentation, tests (validation) et enfin installation. Chacune de ces phases doit produire un ou plusieurs livrables définis à l’avance et a une date d’échéance fixée. On ne peut passer d’une étape à l’autre que lorsque les livrables de l’étape en cours sont jugés satisfaisants. Si tout se passe bien on passe à la phase suivante, sinon on remonte à la phase précédente, voire même en début de cycle si une anomalie critique est détectée. Figure 11. Modèle du cycle de vie en cascade
  • 30. Page 30  Avantages du modèle en cascade : Le planning est établi à l’avance et le maître d’ouvrage sait précisément ce qui va lui être livré et quand il pourra en prendre livraison.  Inconvénients du modèle en cascade : ils sont assez nombreux mais le principal inconvénient est la très faible tolérance à l’erreur (les anomalies sont détectées tardivement) qui induit automatiquement un coût important en cas d’anomalie. [3] III.3.1.1.2 Modèle de cycle de vie en V Face aux problèmes de réactivité que pose l’approche en cascade, l’industrie informatique a adopté le cycle en v dans les années 80. Ce modèle ne se découpe plus en 7 mais en 9 phases qui se répondent 2 à 2 : à chaque étape de conception correspond une phase de test ou de validation, comme vous pouvez le voir ci-dessous. Figure 12. Modèle du cycle de vie en V  Avantages du modèle en V : La stricte structure en V permet d’espérer que le livrable final sera parfait, puisque les étapes de test sont aussi nombreuses que les étapes de réflexion. De plus, il est facile de prévoir les tests à réaliser au moment où l’on conçoit une fonctionnalité ou une interface, le travail s’enchaîne donc de façon assez naturelle.  Inconvénients du modèle en V : Malheureusement ce modèle est rarement utilisé tel quel et le V est bien souvent déséquilibré, tantôt côté analyse, tantôt côté recette
  • 31. Page 31 et la marge d’erreur est bien souvent proportionnelle à la marge de liberté prise par rapport au modèle théorique. [4] III.3.1.2 modèle de cycle de vie choisi De nos jours, la méthodologie adoptée dans l'analyse et la conception des systèmes représente un choix stratégique afin de mener à terme les projets tout en respectant les délais annoncés et la qualité demandée. Pour la conception, le développement et la réalisation de notre application, nous avons opté pour l'application le processus de développement en V qui demeure actuellement le cycle de vie le plus connu. III.3.2 Méthodologie de conception En regardant les objectifs fixés pour la réalisation du projet, nous remarquons que nous sommes face à une application modulaire qui devra rester ouverte pour les améliorations futures. De ce fait, il est très important d'utiliser un langage universel pour la modélisation afin de clarifier la conception et de faciliter les échanges. Notre choix est porté sur le langage UML puisqu'il convient pour toutes méthodes objet et se prête bien à la représentation de l'architecture du système. III.3.2.1 Représentation de langage de modélisation UML (Unified Modeling Language) est un langage de modélisation unifié permet de modéliser une application logicielle d'une façon standard dans le cadre de conception orienté objet. [5] UML permet de couvrir le cycle de vie d'un logiciel depuis la spécification des besoins jusqu'au codage en offrant plusieurs moyens de description et de modélisation des acteurs et d'utilisation système, du comportement des objets, du flots de contrôle internes aux opérations, des composants d'implémentation et leurs relations, de la structure matérielle et de la distribution des objets et des composants indépendamment des techniques d'implémentation et peut être mis à jour selon les besoins.
  • 32. Page 32 III.3.2.2 Représentation d'outil de modélisation L'outil de modélisation que nous avons utilisé est StartUML qui est un logiciel de modélisation UML, cédé comme open source par son éditeur, a la fin de son exploitation commerciale, sous une licence modifiée de GNU GPL. StartUML gère la plupart des diagrammes spécifiés dans la norme UML 2.0. L'objectif du projet StratUML est de construire un outil de modélisation des logiciels.. III.3.2.3 Méthodologie de conception Dans la figure ci dessous on va citer les différents diagrammes UML, trois entre eux (diagrammes de cas d'utilisation, diagramme de séquence et diagramme de classe) seront employées dans la conception de notre application.
  • 33. Page 33 Figure 13. Les différents diagrammes UML
  • 34. Page 34 III.4 Diagramme de cas d'utilisation L'étude de cas d'utilisation a pour objectif de déterminer les besoins des utilisateurs et les objectifs de l'application. La détermination des besoins est basé sur la représentation de l'interaction fonctionnelle entre l' acteur et le système. Ainsi, il permet de donner une vision globale sur les interfaces de futur application. Pour une bonne compréhension des diagrammes, il parait nécessaire de définir certains termes propres au langage UML:  Cas d'utilisation: un cas d'utilisation représente un ensemble de séquences d'actions à réaliser par le système et produisant un résultat observable intéressant pour un acteur particulier. Il est représenté par des ellipses et limité par un rectangle pour représenter le système.  Acteur: un acteur est un utilisateur qui communique et interagit avec les cas d'utilisation du système. C'est une entité ayant un comportement comme une personne, système ou une entreprise.  Système: cet élément fixe les limites du systèmes en relation avec les acteurs qui l'utilisent (en dehors de système) et les fonctions qu'il doit fournir (à l'intérieur du système). III 4.1 Diagrammes de cas d'utilisation global Ci-dessous, nous présentons le diagramme de cas d'utilisation global pour la compréhension du fonctionnement du notre système : Figure 14. Diagramme de cas d'utilisation global
  • 35. Page 35 III 4.2 Raffinement des cas d'utilisation III 4.2.1 Description du cas d'utilisation «Consulter cours devises» Dans cette partie, nous allons donner un aperçu détaillé sur le cas d'utilisation "Consulter cours devises", décrit dans la figure 15 en listant les différents cas d'utilisation qu'il inclue. Cette cas inclut le cas d'utilisation "choisir devise". Figure 15. Diagramme du cas d'utilisation «Consulter cours devises» Dans le tableau ci-dessous, nous allons décrire les détails du cas d'utilisation «Consulter cours devises » qui s'accompagne du scénario d'exécution nominal. Titre Consulter cours devises But Lister les cours de chaque devise selon les banques et nature du cous (cours vente ou cours achat). Résumé L'utilisateur peut consulter le cours de toutes les devises. Acteurs Utilisateur DESCRIPTION DES ENCHAINEMENTS Pré condition Post condition *L'utilisateur choisit la devise qu'il veut la consulter, ensuite il choisit la nature du cours (cous vente ou cours achat) *Affichage du cours de la devise choisie par banque et par ordre. SENARIO NOMINAL
  • 36. Page 36 1/L'utilisateur se connecte à l'application. 2/l'utilisateur valide la requête d'affichage des devises en appuyant sur le champ «liste des devises». 3/A travers cette liste, l'utilisateur choisit le type de devise qu'il veut consulté par un simple clique sur le nom du devise . 4/l'utilisateur choisit la nature du cous à consulter (cours vente ou cours achat). 5/Liste du cours de la devise choisie est affichée. Tableau 2. Tableau de description du cas d'utilisation «Consulter cours devises» III 4.2.2Description du cas d'utilisation «Convertir devises» Dans cette partie, nous allons donner un aperçu détaillé sur le cas d'utilisation "Convertir devises", décrit dans la figure 16 en listant les différents cas d'utilisation qu'il inclue. Cette cas inclut deux cas d'utilisations "choisir banque" et "choisir nature". Figure 16. Diagramme du cas d'utilisation «Convertir devises» Dans le tableau ci-dessous, nous allons décrire les détails du cas d'utilisation «Consulter cours devises » qui s'accompagne du scénario d'exécution nominal et du scénario alternatif. Titre Convertir devises But Convertir un montant en dinars tunisien aux autres devises Résumé L'utilisateur avoir l'équivalence en un montant en dinars tunisien et d'autres devises. Acteurs Utilisateur DESCRIPTION DES ENCHAINEMENTS
  • 37. Page 37 Pré condition Post condition *L'utilisateur choisit d'abord la banque et la nature d'opération (vente ou achat) selon lesquelles la devise va être convertit. *Affichage de résultat de la conversion. SENARIO NOMINAL 1/L'utilisateur se connecte à l'application. 2/l'utilisateur appuie sur l'icone «Convertisseur» du menu de l'application. 3/Une interface du convertisseur s'affiche . 4/l'utilisateur choisit d'abord la banque , après la nature d'opération (vente ou achat) après il doit saisir le montant à convertir et enfin clique sur le bouton «convertir». 5/Le système fait le calcul et le résultat sera affiché . SENARIO ALTERNATIF E1. Le client n’a pas rempli champ ou les données sont incorrectes. 1. Le système affiche un message d'erreur. 2.Le scénario répond de 5. Tableau 3. Tableau de description du cas d'utilisation «Convertir devises» III 4.2.3 Description du cas d'utilisation «Localiser banque» Dans cette partie, nous allons donner un aperçu détaillé sur le cas d'utilisation "Localiser banque", décrit dans la figure 17 en listant les différents cas d'utilisation qu'il inclue. . Cette cas inclut seulement le cas d'utilisation "choisir banque" . Figure 17. Diagramme du cas d'utilisation« Localiser banque »
  • 38. Page 38 Dans le tableau ci-dessous, nous allons décrire les détails du cas d'utilisation« Localiser banque » qui s'accompagne du scénario d'exécution nominal. Titre Localiser banque But Localiser toutes les agences bancaires Résumé L'utilisateur accède au service de localisation des banques pour savoir où se trouvent les différentes agences de la banque. Acteurs Utilisateur DESCRIPTION DES ENCHAINEMENTS Pré condition Post condition *L'utilisateur choisit la banque laquelle il veut savoir la localisation de ses différentes agences. *Affichage de la carte contenant toutes les agences de la banque choisie. SENARIO NOMINAL 1/L'utilisateur se connecte à l'application. 2/l'utilisateur appuie sur le champ «Réseaux banques» du menu de l'application. 3/Carte Map affichée. 4/l'utilisateur choisit une banque laquelle il veut connaitre la localisation de ses agences. 5/Apparition des marqueurs de toutes les agences de la banque choisie. Tableau 4. Tableau de description du cas d'utilisation «Localiser banque» III 4.2.3 Description du cas d'utilisation «Consulter annuaire agences» Dans cette partie, nous allons donner un aperçu détaillé sur le cas d'utilisation "Consulter cours devises", décrit dans la figure 18 en listant les différents cas d'utilisation qu'il inclue. . Cette cas inclut aussi seulement le cas d'utilisation "choisir banque" .
  • 39. Page 39 Figure 18. Diagramme du cas d'utilisation «Consulter annuaire agences» Dans le tableau ci-dessous, nous allons décrire les détails du cas d'utilisation «Consulter annuaire agences» qui s'accompagne du scénario d'exécution nominal. Titre Consulter annuaire agences But Lister un annuaire de toutes les agences bancaires. Résumé L'utilisateur peut être mis en contact avec n'importe quelle banque. Acteurs Utilisateur DESCRIPTION DES ENCHAINEMENTS Pré condition Post condition *L'utilisateur choisit banque la quelle il veut la contactée. *Affichage d'un annuaire de toutes les agences de la banque choisie. SENARIO NOMINAL 1/L'utilisateur se connecte à l'application. 2/l'utilisateur appuie sur l'icone «annuaire agences» du menu de l'application. 3/Une interface contenant une liste des banques s'affiche. 4/l'utilisateur choisit une banque. 5/Affichage d'un annuaire des différentes agences de la banque choisie. Tableau 5. Tableau de description du cas d'utilisation «Consulter annuaire agences»
  • 40. Page 40 III.5 Diagramme de classe Le diagramme de classe est considéré le plus important de la modélisation orienté objet, il montre la structure interne du système et il permet de fournir une représentation abstraite des objets du système qui vont interagir ensemble pour réaliser les cas d'utilisation. Il s'agit d'une vue statique car on ne tient pas compte du facteur temporel dans le comportement du système. Les principaux éléments de cette vue statique sont les classes et leurs relations: Une classe est une description d'un groupe d'objets partageant un ensemble commun de propriétés (les attributs) , de comportement (les opérations ou méthodes) et de relations avec d'autres objets (les associations et les agrégations). Ci-dessous, le diagramme de classe de notre système : Figure 19. Diagramme de classe
  • 41. Page 41 III.6 Diagramme de séquence Le diagramme de séquence décrit l'aspect dynamique du système, il modélise les interactions entre objets ou entre utilisateur et objets en mettant l'accent sur la chronologie des messages échangés. Dans ce qui suit, nous allons dresser les diagrammes de séquences de chaque cas d'utilisation raffinée précédemment. III .6.1 Diagramme de séquence «Consulter cours devise»  Description textuelle Après avoir décidé de consulter le cours des devises , l'utilisateur effectue une demande de la liste des devises. Une fois interface liste devises apparait , il choisie la devise qu'il veut la consultée et par suite l'interface du cours de la devise choisie s'affiche à travers laquelle l'utilisateur peut consulter cours du vente et cours d'achat selon son choix.  Diagramme de séquence Le diagramme illustré dans la figure présente le scénario de consultation du cours de devises.
  • 42. Page 42 Figure 20. Diagramme de séquence «Consulter cours devises» III.6.2 Diagramme de séquence «Convertir devise»  Description textuelle Ce cas commence lorsque l'utilisateur demande au système de faire une conversion. Une fois l'interface du convertisseur s'affiche, l'utilisateur choisie la banque et la nature du cours (vente ou achat) selon lesquelles la conversion sera faite. Après avoir choisir ces derniers, l'utilisateur saisie le montant en dinars tunisien et clique sur le bouton "Convertir" par suite les résultats de conversion du montant seront affichées dans toutes les devises.
  • 43. Page 43  Diagramme de séquence Le diagramme illustré dans la figure présente le scénario de conversion de devise. Figure 21. Diagramme de séquence «Convertir devise» III.6.3 Diagramme de séquence «Localiser banque»  Description textuelle Afin de connaitre la localisation des banques, l'utilisateur clique sur l'icone "Réseaux banques" de menu de l'application. Par suite, l'interface réseaux banques s'affiche à travers laquelle l'utilisateur doit choisir la banque qu'il veut la consulter. Et après récupération des longitudes et latitudes, la carte map apparait tout en affichant les emplacements des différentes agences de la banque choisie.  Diagramme de séquence Le diagramme illustré dans la figure présente le scénario de localisation de banque.
  • 44. Page 44 Figure 22. Diagramme de séquence «Localiser banque» III.6.4 Diagramme de séquence «Consulter annuaire agences»  Description textuelle L'utilisateur peut être mis en contact avec une banque, lors d'un clique sur l'icone "Annuaire agences". Alors une liste des banques s'affiche, à travers laquelle l'utilisateur choisie une banque par conséquent une liste contenant toutes les numéros des agences de la banque choisie apparait.
  • 45. Page 45 Diagramme de séquence Le diagramme illustré dans la figure présente le scénario de consultation de l'annuaire des agences. Figure 23. Diagramme de séquence «Consulter annuaire agences» III.7 Conclusion Dans ce chapitre, nous avons conçu et documenté le code que nous devons produire. Dans cette phase, toutes les questions concernant la manière de réaliser le système à développé ont à été élucidées. Le produit obtenu est un modèle graphique (ensemble de diagrammes) prêt à être codé. Dans le chapitre suivant nous allons étudier en détails les outils et les langages utilisés durant la phase de construction.
  • 47. Page 47 IV.1 Introduction Dans le chapitre précédent nous avons présenté les étapes de conception de l'application, ainsi que les différents diagrammes des cas d'utilisation. Ensuite nous avons détaillé cette phase en établissant le diagramme de classes ainsi que les diagrammes de séquences. Dans ce chapitre nous allons présenter l'environnement matériel et logiciel utilisé pour le développement de la solution proposé tout en expliquant éventuellement nos choix techniques relatif aux langages de programmation et des outils utilisés. Enfin, nous allons donner une présentation des interfaces globales ainsi qu'une description du fonctionnement du système. IV.2 Architecture de l'application IV.2.1 Architecture 3-tiers Tunisia Express Currency est une application embarquée qui se connecte à un serveur de bases de données distant, via Internet, afin de récupérer les données. Ce qui nécessite aussi l’intégration d’un serveur web entre l’application client et le serveur de bases de données. D’où l’architecture de notre application est à 3 niveaux (architecture 3-tiers), elle est partagée entre:  Le client Android : Conteneur d’application et demandeur de ressources,  Le serveur Web : Vue que les données serons communiquées entre deux environnements hétérogènes, le rôle principale du serveur web est de gérer la communication entre le client Android et le serveur de base de données.  Le serveur de base de données : fournis les données au serveur web. Figure 24. Architecture de l'application
  • 48. Page 48 IV.2.2 Technologies de l'architecture 3-tiers Ci-dessous un tableau représentant les différentes technologies utilisées dans notre application : ANDROID Android est un système d'exploitation mobile pour Smartphones, tablettes tactiles, PDA, smartwatches (version Wear) et terminaux mobiles. PHP Langage de scripts libre principalement utilisé pour produire des pages Web dynamiques. MySQL Un système de gestion de base de données (SGBD) de type SQL. JSON (JavaScript Object Notation) Format de données textuel, générique, dérivé de la notation des objets du langage ECMAScript. Tableau 6. Tableau des technologies utilisées dans l'application La méthode la plus répandue de se connecter à une base de données MySQL à distance à partir d'un appareil Android, est de mettre une sorte de service dans le milieu. MySQL est habituellement utilisé avec PHP, donc la façon la plus simple et le plus évident d'écrire des scripts PHP pour gérer la base de données et exécuter ces scripts en utilisant le protocole HTTP du système Android. Nous avons codé les données dans le format JSON1, afin de communiquer les données entre PHP et Android, en exploitant les options facile à utiliser construit dans les fonctions JSON dans les deux langages.
  • 49. Page 49 Si nous parlons de l'architecture 3-tiers de point de vue technologie, le client est la plateforme Android, le serveur web est le PHP et le serveur de bases de données est le MySQL. Figure 25. Architecture 3-tiers de point de vue technologie IV2.3 Avantage de l'architecture 3-tiers Parmi les avantages de l'architecture 3_tiers on peut citer : *Allègement du poste de travail client: on parle de "client léger" contrairement au application classiques client/serveur. *Prise en charge de l'hétérogénéité des plates-formes (serveurs, clients, langage..). *Amélioration de la sécurité des données: en supprimant la relation directe entre le client et les données. *La modularité: En effet, les modifications dans une application 3-tiers se font couche par couche. On peut donc modifier dans une couche sans toucher aux autres, en particulier la couche présentation (IHM ou interface homme machine) n'est pas intriqué dans le traitement. IV.3 Environnement du travail Dans ce qui suit, nous allons étudier le chois des outils matériels et surtout les outils logiciels du développement web. IV.3.1 Environnement matériels Nous mentionnons les caractéristiques de l'ordinateur sur lesquelles nous avons développé l'application parce qu'elles peuvent donner une idée sur les conditions du travail. L'application à été développée sur un ordinateur portable Acer Aspire E15 qui se caractérise :  Processus : Intel(R)Core(TM) i5-6200U CPU @2.30GHz 2.30GHz  Mémoire insatllé(RAM) : 8.00Go (7.87 Go utilisable)  Type du système: Système d'exploitation 64 bits.
  • 50. Page 50  Systeme d'exploitation: Windows 8.1 Professionnel.  Disque dur : 931.51 Go  Carte graphique : Intel(R) HD Graphics 520 IV.3.2 Environnement logiciels IV.3.2.1 Présentation du plateforme Android Android est un système d'exploitation mobile pour Smartphones, tablettes tactiles, PDA, smartwatches (version Wear) et terminaux mobiles. C'est un système open source utilisant le noyau Linux. Android est défini comme étant une pile de logiciels, c'est-à-dire un ensemble de logiciels destinés à fournir une solution clé en main pour les appareils mobiles et tablettes tactiles. Cette pile comporte un système d'exploitation (comprenant un noyau Linux), les applications clés telles que le navigateur web, le téléphone et le carnet d'adresses ainsi que des logiciels intermédiaires entre le système d'exploitation et les applications. L'ensemble est organisé en cinq couches distinctes:  Le noyau Linux avec les pilotes  Des bibliothèques logicielles telles que WebKit, OpenGL, SQLite ou FreeType.  Une machine virtuelle et des bibliothèques permettant d'exécuter des programmes prévus pour la plate-forme Java  Un framework - kit de développement d'applications  Un lot d'applications standard parmi lesquelles il y a un environnement de bureau, un carnet d'adresses, un navigateur web et un téléphone. En choisissant Android, nous ciblons un grand part du marché des smartphones car d'après l'IDC en 2014, 1,059 milliard de smartphones Android ont été livrés dans le monde par les constructeurs. Ces livraisons représentent 81,5% des smartphones écoulés sur la planète en 2014 qui est le part le plus important du marché des systèmes d'exploitation mobiles comme indique la figure. [6]
  • 51. Page 51 Figure 26. Parts du marché en systèmes d'exploitation des Smartphones IV.3.2.2 Présentation des langages utilisé  JAVA Java est un langage de programmation orienté objet, développé par Sun Microsystems et destiné à fonctionner dans une machine virtuelle, il permet de créer des logiciels compatibles avec des nombreux systèmes d’exploitation. Java et non seulement un langage de programmation puissant conçu pour être sûr, inter plateformes et international, mais aussi un environnement de développement qui est continuellement étendu pour fournir des nouvelles caractéristiques et des bibliothèques permettant de gérer de manière élégante des problèmes traditionnellement complexes dans les langages de programmation classiques, tels que le multithreading, les accès aux bases des données, la programmation réseau, l’informatique répartie. Figure 27. Logo Java
  • 52. Page 52  XML Pour créer les interfaces de notre application nous avons utilisé aussi des fichiers XML (eXtensibe Markup Language) pour la collection des données (des images). Ce langage est utilisé pour la définition des interfaces graphiques. Pour toutes applications Android, le XML permet d'accéder aux données à partir d’Internet, envoyer et recevoir des données à d'un service Web. Figure 28. Logo XML  PHP PHP est un langage de script libre principalement utilisé pour produire des pages Web dynamiques via un serveur HTTP, mais pouvant également fonctionner comme n'importe quel langage interprété de façon locale, en exécutant les programmes en ligne de commande. En raison de la richesse de sa bibliothèque, on désigne parfois PHP comme une plate-forme plus qu'un simple langage. [7] Figure 29. Logo PHP
  • 53. Page 53  JSON JSON (JavaScript Object Notation – Notation Objet issue de JavaScript) est un format léger d'échange de données. Il est facile à lire ou à écrire pour des humains. Il est aisément analysable ou générable par des machines. Il est basé sur un sous-ensemble du langage de programmation JavaScript (JavaScript Programming Language, Standard ECMA-262 3rd Edition - Décembre 1999). JSON est un format texte complètement indépendant de tout langage, mais les conventions qu'il utilise seront familières à tout programmeur habitué aux langages descendant du C, comme par exemple : C lui-même, C++, C#, Java, JavaScript, Perl, Python et bien d'autres. Ces propriétés font de JSON un langage d'échange de données idéal. [8] . Figure 30. Logo JSON IV.3.2.3 Présentation des logiciels utilisé Nous allons énumérer au cours de cette partie les différents outils utilisés tout au long de ce projet pour l'étude et la mise en place de notre application.  Android Studio Android Studio est l'IDE officiel pour le développement d'applications Android, basé sur IntelliJ IDEA. Android Studio propose:  Système de construction basé à Gradle flexible  Construire variantes multiples et la génération de fichier apk  Modèles de code qui aident à construire des fonctionnalités d'applications communes  Un éditeur de layout riche qui supporte le thème "drag and drop" et édition des outils afin de réaliser la performance, la facilité d'utilisation, la compatibilité de version, et d'autres problèmes  ProGuard et app- signature capacités
  • 54. Page 54  Prise en charge intégrée pour Google Cloud Platform, ce qui rend facile à intégrer Google Cloud Messagerie et App Engine. [9] Figure 31. Logo Android Studio  WampServer WampServer est une plate-forme de développement Web sous Windows. Il permet de développer des applications Web dynamiques à l’aide du serveur Apache, du langage de scripts PHP et d’une base de données MySQL. Il possède également PHPMyAdmin pour gérer plus facilement vos bases de données. [10] Figure 32. Logo WampServer  MySQL est un système de gestion de base de données (SGBD). Selon le type d'application, sa licence est libre ou propriétaire. Il fait partie des logiciels de gestion de base de données les plus utilisés au monde, autant par le grand public (applications web principalement) que par des professionnels, en concurrence avec Oracle et Microsoft SQL Server. MySQL AB a été acheté le 16 janvier 2008 par Sun Microsystems pour un milliard de dollars américains. En 2009, Sun Microsystems a été acquis par Oracle Corporation, mettant entre les mains d'une même société les deux produits concurrents que sont Oracle Database et MySQL. Ce rachat a été
  • 55. Page 55 autorisé par la Commission européenne le 21 janvier 2010. MySQL est un serveur de bases de données relationnelles SQL développé dans un souci de performances élevées en lecture, ce qui signifie qu'il est davantage orienté vers le service de données déjà en place que vers celui de mises à jour fréquentes et fortement sécurisées. Il est multi- thread et multi-utilisateur. [11] Figure 33. Logo MySQL  phpMyAdmin est une interface d'administration pour le SGBD MySQL. Il est écrit en langage PHP et s'appuie sur le serveur HTTP Apache. Il permet d'administrer les éléments suivants: *Les bases de données. *Les tables et leurs champs (ajout, suppression, définition du type). *Les index, les clés primaires et étrangères. *Les utilisateurs de la base et leurs permissions. *Exporter les données dans divers formats (CSV, XML, PDF, Word, Excel et LaTeX). [12] Figure 34. Logo phpMyAdmin
  • 56. Page 56  StarUML StarUML est un logiciel de modélisation UML, cédé comme open source par son éditeur, à la fin de son exploitation commerciale, sous une licence modifiée de GNU GPL. [13] Figure 35. Logo StarUML  GanttProject GanttProject est un logiciel libre, permettant de modéliser sous forme de Gantt la planification des différentes tâches qui sont nécessaires à un projet. Chaque tâche pourra être définie par sa durée et par les ressources qui pourront lui être affectées. [14] Figure 36. Logo GANTT Project  Notepad++ Notepad++ est un éditeur de texte libre générique codé en C++, qui intègre la coloration syntaxique de code source pour les langages et fichiers C, C++, Java, XML, HTML, PHP, JavaScript, etc.. ainsi que pour tout autre langage informatique, car ce logiciel propose la possibilité de créer ses propres colorations syntaxiques pour un langage quelconque. [15]
  • 57. Page 57 Figure 37. Logo Notepad++ IV.3.2.4 Présentation du Web service Dans notre application, nous avons retenu le type de Web Service REST .  REST REST (Representational State Transfer) est un autre moyen d'accéder aux documents et à ressources distantes qui repose sur le protocole HTTP. Il se base sur des ressources existantes à distance et l'échange de leur valeur via une URL qui la nomme. Les ressources peuvent être définies sous format XML, JSON , HTML … Figure 38. Logo REST IV.4 Interfaces graphiques Les interfaces utilisateurs doivent respecter les heuristiques d’utilité pour permettre à l’utilisateur un accès facile à ces interfaces afin de garantir une bonne compréhension des fonctionnalités de l’application. Nous présentons ici les interfaces les plus significatives de l’application.
  • 58. Page 58 IV.4.1 Interfaces d'accueil L'utilisateur du Smartphone avant d'être invité à consulter les services de l'application, doit attendre quelques secondes de démarrage. Figure 39. Interfaces Accueil A travers le menu de l'application, l'utilisateur peut choisir l'interface qu'il veut la consulter. Figure 40. Menu de l'application
  • 59. Page 59 IV.4.2 Interfaces liste devises Après un simple clic sur l'icône "Liste Devises" du menu de l'application, une liste comportant des divers devises apparait, à travers laquelle l'utilisateur choisit celle qu'il veut la consulter et par conséquent les listes des cours de vente et d'achat de cette dernière s'affichent. Figure 41. Interfaces Liste Devises
  • 60. Page 60 IV.4.3 Interfaces Convertisseur Si un utilisateur désire faire une conversion, il devra tout d'abord invité l'interface du convertisseur, par un simple clic sur l'icône "Convertisseur" du menu de l'application, cette dernière s'affiche. Par suite, il devra choisir la banque , la nature d'opération et saisir le montant de ce fait les résultats de la conversion apparait dans toutes les devises. Figure 42. Interfaces Convertisseur
  • 61. Page 61 IV.4.4 Interfaces Réseaux Banques Afin de connaitre la localisation d'une banque quelconque , l'utilisateur devra cliquer sur "Réseaux Banques" du menu de l'application, par suite, une interface à travers laquelle il devra choisir la banque qu'il veut la consulter apparait. Et après le choix, toutes les marqueurs correspondants aux différentes agences de la banque choisie seront positionnés sur la carte. Figure 43. Interfaces Réseaux Banques
  • 62. Page 62 IV.4.5 Interfaces Annuaire Agences Dans le but d'être mis en contact avec une telle agence bancaire, un utilisateur devra tout d'abord choisir l'icone "Annuaire Agences" du menu de l'application. Du coup, une interface de liste des banques va être afficher parmi laquelle l'utilisateur devra choisir la banque qu'il veut. Donc, un annuaire de toutes les agences de la banque choisie sera affiché. Figure 44. Interfaces Annuaire Agences
  • 63. Page 63 IV.4.6 Interfaces Bank e-Conseil Cette interface offre à l'utilisateur d'être mis en contact avec le cabinet "Bank e-Conseil". Figure 45. Interfaces Bank e-Conseil
  • 64. Page 64 IV.5 Chronogramme du projet Dans cette partie, nous présentons un diagramme de Gantt décrivant les phases par lesquels nous sommes passées afin de mener à terme ce travail, ainsi que leur ordonnancement. Nous détaillons par la suite les captures d'écran commentées décrivant l'enchainement du travail. Figure 46.Diagramme de Gantt IV.6 Conclusion Ce chapitre nous a permis de mettre en œuvre notre travail. Nous avons commencé par présenter l'environnement matériel et logiciel du projet. Par la suite, nous avons présenté le chronogramme qui montre la répartition de notre travail durant tout le projet. Et pour finir nous avons présenté quelques interfaces de l'application afin de donner une meilleure idée sur notre travail.
  • 65. Page 65 CONCLUSION ET PERSPECTIVES u terme de ce rapport, nous pouvons conclure que ce stage de fin d’études nous a donné une occasion opportune, nous permettant de confronter l’acquis théorique à l’environnement pratique. En effet, le stage nous a permis de prendre certaines responsabilités, par la suite de consolider de plus en plus nos connaissances théoriques et pratiques. C’est là que réside la valeur d’un tel projet de fin d’études qui combine les exigences de la vie professionnelle aux côtés bénéfiques de l’enseignement pratique que nous avons eu à la Faculté des Sciences Economiques et de Gestion Nabeul. Ce travail de conception et de développement d’une application «Tunisia Express Currency» au long du stage nous a été bénéfique sur plusieurs plans : en effet, il nous a permis de perfectionner nos connaissances acquises en programmation et en conception. Du point de vue technique, ce projet nous a permis de nous adapter avec l’environnement du développement informatique, de même il nous a permis de maîtriser la méthode développement , le Processus unifié et des nouvelles technologies de programmation. Tout au long de l’élaboration du projet, nous avons rencontré plusieurs difficultés tant au niveau conceptuel qu’au niveau de la réalisation. Tout de même, nous avons réussi à les surpasser pour présenter en fin de compte une application opérationnelle. Comme tout projet et afin de rendre notre application plus intéressante, notre travail peut supporter plusieurs perspectives. En effet l'application que nous avons développé pourrait être un comparateur de cours de changes de toutes les banques de la Tunisie. Nous espérons enfin que le travail que nous avons effectué a été à la hauteur de la confiance qui nous a été donnée. A
  • 66. Page 66 BIBLIOGRAPHIE [1]: Présentation Material Design, disponible sur : https://fr.wikipedia.org/wiki/Material_design [2]: Material Design, disponible sur : https://material.io/guidelines/components/lists.html [3]: Modèle de développement en cascade, disponible sur : http://www.responsive-mind.fr/cycles-developpement-informatique/ [4]: Modèle de développement en V, disponible sur : http://www.responsive-mind.fr/cycles-developpement-informatique/ [5]: UML, disponible sur : https://fr.wikipedia.org/wiki/UML_(informatique) [6]: Marché Smartphones, disponible sur : http://www.zdnet.fr/actualites/chiffres-cles-les-os-pour-smartphones-39790245.htm [7]: PHP, disponible sur : https://www.google.tn/search?q=php&oq=php&aqs=chrome..69i57j69i60l3j69i65l2.978j0j7 &sourceid=chrome&ie=UTF-8 [8]:JSON, disponible sur : http://www.json.org/json-fr.html [9]: Android studio, disponible sur : https://developer.android.com/studio/intro/index.html [10]: WampServer, disponible sur : http://www.wampserver.com/ [11]: MySQL, disponible sur : https://fr.wikipedia.org/wiki/MySQL [12]: phpMyAdmin, disponible sur : https://doc.ubuntu-fr.org/phpmyadmin [13]: StarUML, disponible sur : https://fr.wikipedia.org/wiki/StarUML [14]: GanttProject, disponible sur : https://fr.wikipedia.org/wiki/GanttProject [15]: NotePad++, disponible sur : https://fr.wikipedia.org/wiki/Notepad%2B%2B
  • 67. Page 67 RESUME Le présent travail, effectué au sein de la Faculté des Sciences Economiques et de Gestion de Nabeul (FSEGN ), s'inscrit dans le cadre du projet de fin d'étude pour l'obtention du diplôme Licence Fondamentale en Informatique Appliqué à la gestion. L'objectif de ce projet est de développer une application mobile d'un comparateur de cours de change de toutes les banque de la région de Nabeul. Pour la développer nous avons utilisé plusieurs technologies parmi lesquelles, nous citons : La plateforme Android , le format léger d'échange de données « JSON », le langage UML pour réaliser, l’étude conceptuelle du système, le PHP comme serveur web et le MySQL comme serveur de base de données. Cette application est ergonomique dont les interfaces respectent les règles de "Google Material Design". Mots clés : Android, JSON, PHP, MySQL, Google Material Design ------------------------------------------------------------------------------------- ABSTRACT This work, carried out within the faculty of Economics Sciences and Management of Nabeul (FSEGN), is part of the project of end of study for obtaining the license degree in Computer Fundamental Applied to Management. The object of this project is to develop a mobile application of currency comparator of all banks in the region of Nabeul. In order to develop it, we used several technologies as for example: The Android platform using the Android SDK development tool, the lightweight format for data exchange "JSON", UML for the study of conceptual system , PHP as web server and MySQL as database server. This application has ergonomic interfaces which comply with the guide of "Google Material Design" . Key words : Android, JSON, PHP, MySQL, Google Material Design