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.
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.
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.
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