Académique Documents
Professionnel Documents
Culture Documents
i
Remerciements
La réalisation d’un projet de fin d’étude ne dépend pas d’une seule personne. Par ces quelques
lignes, nous tenons à remercier toutes les personnes qui ont participé de près ou de loin au bon
déroulement de ce projet.
Nos sincères remerciements vont aussi à monsieur Sabi Trabelsi, pour l’honneur qu’il nous fait
de présider notre jury de projet fin d’étude.
Nous tenons aussi à remercier monsieur Larousi Merehben, pour nous avoir fait l’honneur
d’être le rapporteur de ce travail. Nous le remercions pour son précieux commentaires et recom-
mandations.
Nos gratitudes vont également à notre encadreur madame Fairouz Fakhfakh pour l’aide et
les conseils concernant les missions évoquées dans ce rapport, qu’elle nous a apporté lors des
différents suivis. Jamais nous n’aurons pu réaliser ce travail de projet de fin d’études sans son
soutien. Nous la remercions particulièrement pour nous avoir guidée et conseillée dans une am-
biance, toujours, formidable. Nous avons beaucoup apprécié travailler à ses côtés tant sur le plan
scientifique que sur le plan humain.
Un grand merci est également adressé à monsieur Mohamed Ali Ayachi, directeur de l’ISMAI
de Kairouan, qui n’a cessé de nous encourager durant nos deux années de Mastère.
Nous n’oublions pas non plus tous nos enseignants, à l’ISMAI de Kairouan qui ont su nous faire
aimer le domaine informatique et favoriser l’atteinte d’un niveau de connaissances techniques et
méthodologiques tel, qu’il nous a permis de mener à bien nos travaux de fin d’étude.
Finalement, Nous tenons à remercier les personnes qui m’ont soutenue, supportée, poussée à
aller de l’avant.
ii
Table des matières
Introduction générale 1
2 Analyse et conception 14
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 Choix du langage de modélisation et de méthodologie de développement . . . . . 15
2.2.1 Choix du langage de modélisation . . . . . . . . . . . . . . . . . . . . . 15
iii
2.2.2 Méthodologie de développement adoptée . . . . . . . . . . . . . . . . . 16
2.2.2.1 Cycle de vie d’un logiciel . . . . . . . . . . . . . . . . . . . . 16
2.2.2.2 Le modèle en cascade . . . . . . . . . . . . . . . . . . . . . . 17
2.3 Diagrammes de cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4 Spécification fonctionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4.1 Raffinement des cas d’utilisation du client . . . . . . . . . . . . . . . . . 21
2.4.2 Raffinement des cas d’utilisation de l’agent . . . . . . . . . . . . . . . . 28
2.4.3 Raffinement des cas d’utilisation de l’administrateur . . . . . . . . . . . 29
2.5 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.6 Les diagrammes de séquences . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.6.1 Cas d’utilisation “S’authentifier” . . . . . . . . . . . . . . . . . . . . . . 34
2.6.2 Cas d’utilisation “Voir les transactions” . . . . . . . . . . . . . . . . . . 35
2.6.3 Cas d’utilisation “Transférer de l’argent” . . . . . . . . . . . . . . . . . 36
2.6.4 Cas d’utilisation “Localiser filiale” . . . . . . . . . . . . . . . . . . . . . 37
2.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3 Réalisation 39
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2 Environnement de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2.1 Environnement matériel . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2.2 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2.2.1 Star UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2.2.2 MongoDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2.2.3 Postman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.2.2.4 Visual Studio Code . . . . . . . . . . . . . . . . . . . . . . . 43
3.2.2.5 Laravel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2.2.6 Bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2.2.7 Android Studio . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2.2.8 Overleaf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
iv
3.2.2.9 Le langage d’édition de document : Latex . . . . . . . . . . . 46
3.3 Les interfaces d’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.3.1 Partie web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.3.1.1 Interface “Accueil pour l’administrateur” . . . . . . . . . . . . 47
3.3.1.2 Interface “Relation clientèle” . . . . . . . . . . . . . . . . . . 47
3.3.1.3 Interface “Gestion des demandes” . . . . . . . . . . . . . . . . 48
3.3.1.4 Interface “Ajouter filiale” . . . . . . . . . . . . . . . . . . . . 49
3.3.1.5 Interface “Détail filiale” . . . . . . . . . . . . . . . . . . . . . 50
3.3.1.6 Interface ≪ Ajouter agent ≫ . . . . . . . . . . . . . . . . . . . 51
3.3.1.7 Interface “Accueil pour l’agent” . . . . . . . . . . . . . . . . . 52
3.3.1.8 Interface “Ajouter compte” . . . . . . . . . . . . . . . . . . . 53
3.3.2 Partie mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.3.2.1 Interface “Accueil” . . . . . . . . . . . . . . . . . . . . . . . 54
3.3.2.2 Interface “Espace public” . . . . . . . . . . . . . . . . . . . . 55
3.3.2.3 Interface “Simuler crédit” . . . . . . . . . . . . . . . . . . . . 56
3.3.2.4 Interface “Connexion” . . . . . . . . . . . . . . . . . . . . . . 57
3.3.2.5 Interface “Accueil Client” . . . . . . . . . . . . . . . . . . . . 58
3.3.2.6 Interface “Mes comptes” . . . . . . . . . . . . . . . . . . . . 59
3.3.2.7 Interface “Détail comptes” . . . . . . . . . . . . . . . . . . . 60
3.3.2.8 Interface “Payer facture” . . . . . . . . . . . . . . . . . . . . 61
3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Conclusion et perspectives 63
v
Table des figures
vi
3.6 Logo de Laravel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.7 Logo de Bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.8 Logo d’Android Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.9 Logo d’Overleaf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.10 Interface “Accueil pour l’administrateur” . . . . . . . . . . . . . . . . . . . . . . 47
3.11 Interface “Relation clientèle” . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.12 Interface “Gestion des demandes” . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.13 Interface “Ajouter filiale” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.14 Interface “Détail filiale” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.15 Interface “Ajouter agent” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.16 Interface “Accueil pour l’agent” . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.17 Interface “Ajouter compte” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.18 Interface “Accueil” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.19 Interface “Espace public” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.20 Interface “Simuler crédit” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.21 Interface “Connexion” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.22 Interface “Accueil Client” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.23 Interface “Mes comptes” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.24 Interface “Détail comptes” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.25 Interface “Payer facture” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
vii
Liste des tableaux
viii
Introduction générale
Le marché des technologies a connu une énorme évolution ces dernières années. En plus,
avec l’intégration de l’internet, il y a eu des changements sur la façon et la rapidité d’accès aux
informations. Plusieurs secteurs se sont adaptés à ce changement pour satisfaire ces nouveaux
clients. Les banques représentent l’un des secteurs qui ont un énorme nombre de clients et qui
souffrent pour répondre à leurs besoins. Ils doivent alors disposer leurs services d’une manière
plus rapide et sécurisée mais aussi à distance afin de pouvoir éviter l’encombrement dans les
agences.
Avec l’apparition des appareils mobiles, comme les smartphones et les tablettes qui ont
connu une révolution technologique, il est devenu facile pour une banque de gérer ces problèmes
en proposant une application mobile capable d’offrir des services indispensables rapidement et
à tout moment. Dans ce contexte, notre projet consiste à développer une application bancaire
mobile qui offre plusieurs fonctionnalités à l’utilisateur ainsi qu’une application web qui sert
à gérer les services clientèle. Ce rapport décrit les étapes de développement de notre projet. Il
contient trois chapitres :
1
Introduction générale
2
C HAPITRE
Sommaire
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Spécification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3
Chapitre 1. Étude préalable et spécification des besoins
1.1 Introduction
Au niveau de ce chapitre, nous allons présenter le cadre général de notre projet et une
étude préalable de ce dernier. En premier lieu, nous allons présenter l’organisme d’accueil et
une étude de l’existant. En deuxième lieu, nous allons présenter la spécification des besoins pour
notre projet.
4
Chapitre 1. Étude préalable et spécification des besoins
Il est indispensable avant de réaliser un projet, de bien étudier et analyser des projets simi-
laires pour bien profiter des avantages et éviter les inconvénients dans notre projet.
Toutes les descriptions sont prises de l’adresse électronique [1].
5
Chapitre 1. Étude préalable et spécification des besoins
• Commande de chéquier ;
6
Chapitre 1. Étude préalable et spécification des besoins
➥ Banque de Tunisie
Aussi, Banque de Tunisie offre une application riche en fonctionnalités avec une interface convi-
viale. Parmi les services offerts, nous citons :
• Afficher les soldes et les mouvements de vos comptes en balayant simplement l’écran avec
le doigt ;
• Paramétrer vos cartes internationales pour activer des achats à l’étranger en fonction de
vos voyages évitant tout risque de fraude ;
• Commander un chéquier ;
7
Chapitre 1. Étude préalable et spécification des besoins
8
Chapitre 1. Étude préalable et spécification des besoins
➥ BNP Paribas
La banque française BNP Paribas offre une application très moderne et pleine de fonctionnalités.
La figure 1.5 représente l’interface de l’application mobile de BNP Paribas Bank.
D’après la section précédente, nous avons constaté que toutes les banques (selon un volet
national ou international) ont toujours investis dans le développement de ses applications mobiles
pour satisfaire leurs clients. Dans cette section, nous allons étudier l’application proposée par
Amen Bank ainsi que les services proposés pour bien prendre une décision technique. La figure
1.6 illustre les différents avis des différents utilisateurs de l’application de Amen Bank et les
services offerts par cette application.
D’après les avis des utilisateurs, cette application manque beaucoup de services, aussi les
interfaces sont mal fait et l’expérience utilisateur est faible. Nous allons présenter ci-dessous une
critique fonctionnel de l’application :
9
Chapitre 1. Étude préalable et spécification des besoins
L’idée de ce projet est de réaliser une application mobile qui satisfait les besoins du client et
lui fait gagner du temps pour ne pas se présenter aux agences. Par conséquent, l’objectif consiste
à développer une application mobile conviviale et moderne qui propose plusieurs fonctionnalités
bancaires. Nous proposons aussi une application web pour la partie administrative de la gestion
des services proposés par la partie mobile.
10
Chapitre 1. Étude préalable et spécification des besoins
1.5 Spécification
Après avoir mené une étude de l’existant dans la section précédent, nous avons pu déceler
une grande partie des problèmes que nous voulons résoudre ainsi que les améliorations que nous
pourrons apporter à la (aux) solution(s) que nous adapterons. La spécification des besoins est
une étape essentielle pour la réussite des projets. C’est dans cet esprit que tout concepteur doit
veiller à la conformité de son application aux spécifications d’utilisateur. A ce stade intervient
la spécification des besoins qui est une sorte de contrat entre le concepteur, le développeur et
les clients, évitant ainsi tout risque de malentendu et de mauvaises surprises. Dans cette section,
nous définissons les besoins fonctionnels et non fonctionnels de cette solution afin qu’elle puisse
être la plus optimale possible.
• Le client : c’est l’acteur principal de notre application. Il profite de toutes les fonctionna-
lités offertes par l’application.
• L’administrateur : le rôle de cet acteur est de gérer les comptes et les clients ainsi que la
gestion des demandes et de répondre aux messages envoyés par les utilisateurs.
Ce sont les actions et les réactions que le système doit faire suite à une action faite par un
acteur.
Toute l’application mobile est disponible au client pour lui permettre après l’authentification
par son identificateur urique et son mot de passe d’avoir accès aux différents services offerts :
11
Chapitre 1. Étude préalable et spécification des besoins
• Transférer de l’argent.
• Contacter la banque
• Convertir de la devise.
Une application web est mise à la disposition de l’administrateur pour la gestion administra-
tive de l’application mobile, pareil que le client, après l’authentification il a accès à :
Pour réussir notre projet et pour qu’il soit compatible avec ces utilisateur, il faut bien vérifier
les contraintes suivantes de l’application :
• Ergonomie : L’interface de l’application doit être simple et utilisable afin que les utili-
sateurs puissent l’exploiter sans se référer à des connaissances particulières. En d’autre
termes, notre application doit être lisible et facile à manipuler par n’importe quel utilisa-
teur.
12
Chapitre 1. Étude préalable et spécification des besoins
• L’extensibilité : C’est-à-dire qu’il doit y avoir une possibilité d’ajouter de nouvelles fonc-
tionnalités ou de modifier celles existantes.
• Rapidité et intégrabilité dans d’autres applications : L’application devra être rapide et as-
sure que les modules seront intégrables et utilisables dans d’autres applications.
• Besoins de haute disponibilité : Il est important que notre application puisse fonctionner
sur une plateforme hautement disponible et pouvant gérer un nombre élevé de requêtes.
• Fiabilité : L’ application doit avoir une bonne qualité de contenu ainsi qu’une bonne adap-
tabilité aux différentes tailles des écrans des appareils mobiles. D’ autre part, il faut assurer
le bon fonctionnement sans erreur.
1.6 Conclusion
Dans ce chapitre, nous avons présenté d’une part la description du cadre de stage à travers
une présentation générale de l’organisme d’accueil et d’autre part l’étude et la critique de l’exis-
tant ainsi que la solution proposée. Ainsi, ce chapitre nous a permis de livrer une spécification
complète des besoins. Donc, à la fin de ce chapitre nous avons obtenu une vue globale du système
en élaborant une architecture candidate.
13
C HAPITRE
2 Analyse et conception
Sommaire
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
14
Chapitre 2. Analyse et conception
2.1 Introduction
Dans ce chapitre, nous présentons la conception de notre projet. Cette partie a comme but
de décrire le comportement de notre solution. Elle permet de modéliser les fonctionnalités de la
solution de point de vue utilisateur. Pour avoir un bon résultat, nous utilisons les diagrammes de
cas d’utilisation qui sont nécessaires dans la modélisation orientée objet.
15
Chapitre 2. Analyse et conception
• diagramme d’objet.
• diagramme de classe.
• diagramme de composants.
• diagramme de déploiement.
• diagramme de collaboration.
• diagramme de séquence.
• diagramme d’activité.
Le “cycle de vie d’un logiciel” (en anglais software life cycle), désigne toutes les étapes du
développement d’un logiciel, de sa conception à sa disparition. L’objectif d’un tel découpage est
de permettre de définir des jalons intermédiaires permettant la validation du développement lo-
giciel. C’est-à-dire la conformité du logiciel avec les besoins exprimés, la vérification du proces-
sus de développement et l’adéquation des méthodes mises en oeuvre. L’origine de ce découpage
provient du constat que les erreurs ont un coût d’autant plus élevé qu’elles sont détectées tardi-
vement dans le processus de réalisation. Le cycle de vie permet de détecter les erreurs au plus
16
Chapitre 2. Analyse et conception
tôt et ainsi de maı̂triser la qualité du logiciel, les délais de sa réalisation et les coûts associés. Il
existe différents types de cycles de développement entrant dans la réalisation d’un logiciel. Ces
cycles prennent en compte toutes les étapes de la conception d’un logiciel. Les différents cycles
de vie sont le modèle en Cascade,le modèle en V, le modèle en W et le modèle en Spirale.
Pour réaliser notre projet, nous avons adopté le cycle de vie en cascade. Le modèle de cycle
de vie en cascade décrit en cette succession d’étapes qui sont représentés dans ce que suit (six
étapes fondamentales), La figure 2.1 illustre les différentes étapes du modèle en cascade.
L’avantage de ce modèle est de proposer, au fur et à mesure, une démarche de réduction des
risques, en minimisant l’impact des incertitudes. L’impact d’une incertitude dans la phase de
développement étant plus faible que l’impact d’une incertitude dans les phases de conception ou
de spécifications, plus le projet avance, plus les risques diminuent.
17
Chapitre 2. Analyse et conception
• Acteur : Un être humain qui interagit avec le système où chaque acteur intervient à au
moins un cas d’utilisation .
• Extension : Utilisé pour traiter des cas particuliers de façons optionnelles. Autrement dit,
une cas d’utilisation expulsé à un autre .
18
Chapitre 2. Analyse et conception
19
F IGURE 2.2 – Diagramme de cas d’utilisation pour l’administrateur
Chapitre 2. Analyse et conception
20
Chapitre 2. Analyse et conception
21
Chapitre 2. Analyse et conception
La description textuelle détaillée du cas d’utilisation ”Effectuer une demande” est présentée
dans la table 2.2.
22
Chapitre 2. Analyse et conception
La description textuelle détaillée du cas d’utilisation ”Voir les transactions” est présentée
dans la table 2.3.
23
Chapitre 2. Analyse et conception
24
Chapitre 2. Analyse et conception
25
Chapitre 2. Analyse et conception
La description textuelle détaillée du cas d’utilisation ”Simuler un crédit” est présentée dans
la table 2.6.
26
Chapitre 2. Analyse et conception
La description textuelle détaillée du cas d’utilisation “Voir l’échange des devises” est
présentée dans la table 2.7.
TABLE 2.7 – Description textuelle du cas d’utilisation “Voir l’échange des devises”
Sommaire d’identification
Titre Voir l’échange des devises.
Permettre à l’utilisateur de visualiser l’échange entre
Résumé
les différentes devises du monde.
Acteur Client
Description des enchaı̂nements
Pré-condition Service des devises disponible.
1)Le client saisit le montant désiré.
Scénario nominal
2)Le système convertit ce montant en plusieurs devises.
Alt-1)Service des devises indisponible : le système affiche le message
Scénario alternatif
d’erreur “Une erreur inattendue s’est produite”
Post-condition Le montant saisi par le client est converti en plusieurs devises.
27
Chapitre 2. Analyse et conception
La description textuelle détaillée du cas d’utilisation “Gestion des comptes” est présentée
dans la table 2.8.
La description textuelle détaillée du cas d’utilisation “Gestion des clients” est présentée dans
la table 2.9.
28
Chapitre 2. Analyse et conception
La description textuelle détaillée du cas d’utilisation ”Gestion des demandes” est présentée
dans la table 2.10.
29
Chapitre 2. Analyse et conception
La description textuelle détaillée du cas d’utilisation ”Gestion des relations clientèles” est
présentée dans la table 2.11.
30
Chapitre 2. Analyse et conception
TABLE 2.11 – Description textuelle du cas d’utilisation ”Gestion des relations clientèles”
Sommaire d’identification
Titre Gestion des relations clientèles
Résumé Permettre à l’administrateur de répondre aux différents besoins des clients.
Acteur Administrateur
Description des enchainements
Pré-condition Administrateur authentifié.
1)L’agent voit la liste des sujets.
Scénario nominal 2)L’agent sélectionne le sujet désiré.
3)L’administrateur répond au sujet sélectionné.
Alt-1)Le serveur de base de données est indisponible : l’agent reçoit une
Scénario alternatif
liste vide.
Post-condition Le client reçoit sa réponse par email.
31
Chapitre 2. Analyse et conception
32
Chapitre 2. Analyse et conception
• La classe “User” :cette la classe contient les informations des différents types de per-
sonnes.
• La classe “Agent” : cette une classe hérite de la classe “User” et comporte des attributs et
des opérations supplémentaires que sa classe mère qui ont rapport avec le banquier.
• La classe “Client” : cette une classe hérite de la classe ”User” et dispose des attributs et
des opérations supplémentaires concernant le client.
• La classe “Compte” : cette la classe comporte les informations générales d’un compte.
• La classe “Vérifier-compte” : cette une classe hérite de la classe “Compte” et contient les
attributs concernant le compte courant.
• La classe “Carte-Crédit” : cette la classe représente les informations d’une carte de crédit.
• La classe “Chéquier” : cette la classe représente les informations d’un carnet de chèque.
• La classe “Contact” : cette la classe indique les informations d’un message envoyé par un
utilisateur.
33
Chapitre 2. Analyse et conception
La figure 2.6 représente les différentes séquences qui se produisent lorsqu’un utilisateur
appuie sur le bouton de connexion de l’interface d’authentification. Le système client va tout
d’abord faire un test sur les champs saisis, par la suite, il va demander au serveur de vérifier les
informations d’authentification afin de recevoir l’identifiant du client pour enfin pouvoir obtenir
les informations et les comptes du client.
34
Chapitre 2. Analyse et conception
Lorsqu’un client veut consulter les transactions de l’un de ses comptes, il va l’ouvrir à partir
du menu de l’application et le système va directement afficher l’historique des transactions dans
l’interface de détail du compte. La figure 2.7 expose ce scénario.
35
Chapitre 2. Analyse et conception
Le transfert d’argent demande beaucoup de vérification comme le montre la figure 2.8. Après
avoir saisi les informations du transfert, le système client va vérifier s’il y a des champs invalides
et informe le client par un message d’erreur si c’est le cas, sinon, il va invoquer le service d’envoi
qui va tout de même vérifier le code de sécurité ainsi que la disponibilité du montant envoyé sur
le compte de l’expéditeur. Si tout est valide alors la transaction aura lieu et le client va être notifié.
Dans le cas contraire, un message d’erreur est envoyé au client.
36
Chapitre 2. Analyse et conception
Lorsqu’un utilisateur veut savoir où se trouve l’agence la plus proche, le système va faire
appel au service de localisation pour récupérer les coordonnées de l’utilisateur, puis avec e simple
calcul le système va afficher sur une map la position de l’utilisateur ainsi que la position de la
filiale la plus proche. Ces séquences sont représentées dans la figure 2.9.
37
Chapitre 2. Analyse et conception
2.7 Conclusion
La phase de conception est la réalisation virtuelle du projet. En effet, dans ce chapitre, nous
avons présenté la conception générale et la conception détaillée. Pour se faire, nous avons uti-
lisé l’outil de modélisation UML et les méthodologies convenables qui nous ont permis de
bien définir les éléments de conception, et mieux assimiler les différents besoins relatifs à la
réalisation.
38
C HAPITRE
3 Réalisation
Sommaire
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
39
Chapitre 3. Réalisation
3.1 Introduction
Après avoir établi la conception du système, nous allons décrire au niveau de ce chapitre
l’architecture du projet en parlant de l’environnement matériel et logiciel. Ensuite nous allons
aborder les différentes étapes du développement. Finalement, nous allons présenter quelques
interfaces prototypes de notre application.
Le matériel utilisé pour le développement de notre application est présenté dans la figure
suivante :
40
Chapitre 3. Réalisation
Cette section est dédiée à la description des logiciels utilisés lors du développement de notre
application.
41
Chapitre 3. Réalisation
3.2.2.2 MongoDB
MongoDB (de l’anglais humongous qui peut être traduit par ≪ énorme ≫) est un système de
gestion de base de données orienté documents, répartissable sur un nombre quelconque d’ordi-
nateurs et ne nécessitant pas de schéma prédéfini des données. Il est écrit en C++. Le serveur et
les outils sont distribués sous licence SSPL, les pilotes sous licence Apache et la documentation
sous licence Creative Commons. Il fait partie de la mouvance NoSQL [4]. Le logo officiel de
MongoDB est présenté dans le figure 3.3.
42
Chapitre 3. Réalisation
3.2.2.3 Postman
Postman est l’instrument le plus incontournable du développement web, que ce soit pour du
développement PHP, Node.js, Ruby on Rails ou Python. En interagissant avec une API, Postman
sert à exécuter des appels HTTP directement depuis une interface graphique. Il permet simple-
ment choisir l’URL, la méthode HTTP (le plus souvent GET, POST, PUT, PATCH et DELETE),
les headers, les query params et dans certains cas le body de la requête [5]. Le logo officiel de
Postman est présenté dans le figure 3.4.
Visual Studio Code est un éditeur de code source qui peut être utilisé avec une variété de
langages de programmation, notamment Java, JavaScript, Go, Node.js et C++. Il est basé sur le
cadre Electron, qui est utilisé pour développer des applications Web Node.js qui s’exécutent sur
le moteur de présentation Blink [6]. Le logo officiel de Visual Studio Code est présenté dans le
figure 3.5.
43
Chapitre 3. Réalisation
3.2.2.5 Laravel
Laravel est un framework web open-source écrit en PHP1 respectant le principe modèle-vue-
contrôleur et entièrement développé en programmation orientée objet. Laravel est distribué sous
licence MIT, avec ses sources hébergées sur GitHub [7]. Le logo officiel de Laravel est présenté
dans le figure 3.6.
3.2.2.6 Bootstrap
Bootstrap est une collection d’outils utiles à la création du design (graphisme, animation
et interactions avec la page dans le navigateur, etc.) de sites et d’applications web. C’est un
ensemble qui contient des codes HTML et CSS, des formulaires, boutons, outils de navigation et
44
Chapitre 3. Réalisation
autres éléments interactifs, ainsi que des extensions JavaScript en option. C’est l’un des projets
les plus populaires sur la plate-forme de gestion de développement GitHub [8]. Le logo officiel
de Bootstrap est présenté dans le figure 3.7.
45
Chapitre 3. Réalisation
3.2.2.8 Overleaf
Overleaf est une plateforme en ligne gratuite permettant d’éditer du texte en LATEX sans au-
cun téléchargement d’application. En outre, elle offre la possibilité de rédiger des documents de
manière collaborative, de proposer ses documents directement à différents éditeurs (IEEE Jour-
nal, Springer, etc.) ou plateformes d’archives ouvertes (arXiv, engrxiv, etc.) pour une éventuelle
publication [10]. Le logo officiel de Overleaf est présenté dans le figure 3.9.
LATEX est un langage qui permet de créer des documents tout en séparant la forme du fond.
Comme pour le HTML, l’interface de rédaction est de type WYSIWYM (“what you see is what
you mean” ce que l’on voit est ce que l’on pense) : la forme du document est donc programmée
a l’aide de commandes [11].
Dans cette partie,nous allons invoquer des imprimes écrans décrivant le travail accompli.
Nous allons présenter les interfaces qui traitent les cas d’utilisation principaux.
46
Chapitre 3. Réalisation
L’interface d’accueil pour l’administrateur est illustrée dans la figure 3.10. C’est la première
interface de l’administrateur qui représente quelques statistiques générales.
L’interface 3.11 présente les messages reçus par l’administrateur et l’état de chaque message.
47
Chapitre 3. Réalisation
A travers cette interface l’administrateur peut consulter et gérer les demandes des chéquiers
et des cartes de crédit comme montré la figure 3.12.
48
Chapitre 3. Réalisation
49
Chapitre 3. Réalisation
Cette interface décrit pour l’administrateur chaque filiale et la liste des agents appartenant à
cette filiale comme illustré dans la figure 3.14.
50
Chapitre 3. Réalisation
Cette interface décrit le formulaire à remplir pour l’ajout d’un agent comme illustré dans la
figure 3.15.
51
Chapitre 3. Réalisation
L’interface d’accueil pour l’administrateur est illustrée dans la figure 3.16. C’est la première
interface de l’agent qui représente quelques statistiques générales.
52
Chapitre 3. Réalisation
Cette interface décrit les étapes à suivre et le formulaire à remplir pour la création d’un
compte comme illustré dans la figure 3.17.
53
Chapitre 3. Réalisation
L’interface d’accueil pour le client est illustrée dans la figure 3.18. Cette interface représente
la page d’accueil de notre application mobile.
54
Chapitre 3. Réalisation
L’interface illustrée dans la figure 3.19 présente les tâches qu’un visiteur du site peut faire.
55
Chapitre 3. Réalisation
L’interface illustrée dans la figure 3.20 permet à l’utilisateur de faire une simulation de crédit.
56
Chapitre 3. Réalisation
Pour accéder à son propre interface le client doit se connecter comme illustré dans la figure
3.21.
57
Chapitre 3. Réalisation
La figure 3.22 présente l’interface de la page d’accueil d’un client et les services proposés
par notre application.
58
Chapitre 3. Réalisation
A travers cette interface le client peut consulter tous ses comptes comme montré la figure ??.
59
Chapitre 3. Réalisation
A travers l’interface suivante le client peut consulter les détails de l’un de ses comptes (voir
figure 3.24).
60
Chapitre 3. Réalisation
A travers cette interface le client peut payer ces facture en ligne comme illustré dans la figure
??.
61
Chapitre 3. Réalisation
3.4 Conclusion
Dans ce chapitre, nous avons défini l’environnement matériel et logiciel du projet. Puis, nous
avons détaillé le travail réalisé en se basant sur des interfaces de l’application développée.
62
Conclusion et perspectives
L’objectif de notre projet était de développer une solution bancaire mobile qui propose
à la fois une application mobile aux clients d’une banque ainsi qu’une application web pour
l’administration du système.
Afin d’arriver à notre objectif, nous avons procédé d’exposer la problématique, identifier
les besoins qui ont engendré les différents objectifs de notre application et spécifier les diverses
fonctionnalités qu’elle assume. Pour réaliser la partie analyse et conception, nous avons utilisé
UML comme un langage de modélisation.
Nous avons réussi à atteindre tous les objectifs principaux et nous avons ajouté un grand nombre
de fonctionnalités secondaire comme la conversion de vises etc. Nous sommes aussi familiarisés
avec le développement mobiles et aussi avec le framework LARAVEL pour concevoir l’applica-
tion web.
Finalement, notre travail peut être amélioré par l’accomplissement de quelques tâches
supplémentaires. En effet, nous visons à ajouter à notre application des modules de Machine lear-
ning et de Deep learning pour améliorer notre application au niveau de traitement des chèques.
Ainsi, avec un simple scan d’un chèque l’utilisateur peut faire toutes les manipulations pos-
sibles. Nous proposons comme autre perspective, l’ajout de la biométrie dans notre application
(spécialement au niveau de transfert d’argent) pour renforcer la sécurité de notre application.
63
Webographie
64