Rapport 170608045227 PDF
Rapport 170608045227 PDF
Rapport 170608045227 PDF
RECHERCHE S CIENTIFIQUE
Par
Je dédie aussi ce travail à tous mes amis, en souvenir des beaux moments qu’on a
passé ensemble. Je vous remercie pour vos encouragements et de votre aide précieuse.
Nader Somrani
Dédicace
A mes parents pour tous les sacrifices innombrables qu’ils ont faits et pour
tout le soutien qu’ils ont offert tout au long de mes études.
A ma sœur pour l’encouragements et le soutien qu’elle m’a apporté.
A mes amis pour leur encouragement et pour tous les bons moments qu’on a
vécus ensemble, je vous souhaite un avenir radieux et plein de bonnes
promesses.
Wajdi Khattel
Remerciement
Nos vifs remerciements à Monsieur Sami Ouali, maître assistant à l’institut supérieur
d’informatique, qui a gardé un œil attentif sur le déroulement du projet en donnant des
remarques constructives. Nous le remercions pour sa disponibilité et son aide précieuse et
cela a été un plaisir de travailler sous sa directive.
Nous exprimons aussi notre gratitude à Monsieur Amir Somrani, ingénieur informatique
à BFI pour son aide, ses conseils et l’accueil chaleureux au sein de BFI.
Nous exprimons également notre reconnaissance à tous les membres du jury pour avoir
accepté de juger ce travail.
Table des matières
Introduction générale ...............................................................................................................1
Chapitre 1 : Présentation générale.............................................................................................2
1. Introduction .................................................................................................................2
2. Organisme d'accueil .....................................................................................................2
3. Cadre du travail............................................................................................................2
4. Présentation du projet ...................................................................................................2
4.1. Objectif du projet ..................................................................................................3
4.2. Méthode de développement de l’application............................................................3
5. Conclusion...................................................................................................................4
Chapitre 2 : Etude théorique et choix techniques........................................................................5
1. Introduction .................................................................................................................5
2. Etude préliminaire ........................................................................................................5
2.1. Les systèmes d’exploitation mobiles.......................................................................5
2.1.1. Android ........................................................................................................5
2.1.2. iOS ...............................................................................................................5
2.1.3. Windows Phone ............................................................................................6
2.2. Les types d’applications mobiles ............................................................................6
2.2.1. Présentation ..................................................................................................6
2.2.2. Développement d’une application native .........................................................7
2.2.3. Développement d’une application hybride ..................................................... 10
2.3. Les services web ................................................................................................. 11
2.3.1. Les service web WS..................................................................................... 11
2.3.2. Les services web de type REST .................................................................... 11
3. Etude de l’existant ...................................................................................................... 11
3.1. Description des solutions disponibles ................................................................... 12
3.1.1. Solutions disponibles en Tunisie ................................................................... 12
3.1.2. Solutions disponibles dans le monde ............................................................. 15
3.2. Critique de l’existant ........................................................................................... 16
4. Problématique ............................................................................................................ 17
5. Solution envisagée...................................................................................................... 17
6. Architecture des applications....................................................................................... 17
6.1. Architecture de la partie mobile ........................................................................... 17
6.2. Architecture de la partie administrative ................................................................. 18
7. Conclusion................................................................................................................. 18
Chapitre 3 : Analyse des besoins et spécification ..................................................................... 19
1. Introduction ............................................................................................................... 19
2. Analyse des besoins.................................................................................................... 19
2.1. Identification des acteurs ..................................................................................... 19
2.2. Les besoins fonctionnels ...................................................................................... 19
2.2.1. Les besoins fonctionnels liés au client ........................................................... 19
2.2.2. Les besoins fonctionnels liés à l’administrateur ............................................. 20
2.3. Les besoins non fonctionnels ............................................................................... 20
3. Diagramme de cas d’utilisation ................................................................................... 21
3.1. Diagramme de cas d’utilisation du client............................................................... 21
3.2. Diagramme de cas d’utilisation de l’administrateur ............................................... 23
4. Spécification fonctionnelle .......................................................................................... 23
4.1. Les cas d’utilisation du client ............................................................................... 24
4.1.1. Description du cas d’utilisation « Authentifier » ............................................ 24
4.1.2. Description du cas d’utilisation « Effectuer une demande » ............................ 25
4.1.3. Description du cas d’utilisation « Voir les transactions » ................................ 26
4.1.4. Description du cas d’utilisation « Transférer de l’argent » .............................. 27
4.1.5. Description du cas d’utilisation « Contacter l’administrateur »........................ 28
4.1.6. Description du cas d’utilisation « Simuler un crédit » ..................................... 29
4.1.7. Description du cas d’utilisation « Voir l’échange des devises »....................... 29
4.1.8. Description du cas d’utilisation « Générer une demande de transfert »............. 30
4.2. Les cas d’utilisation de l’administrateur ................................................................ 31
4.2.1. Description du cas d’utilisation « Gestion des clients »................................... 31
4.2.2. Description du cas d’utilisation « Gestion des comptes » ................................ 32
4.2.3. Description du cas d’utilisation « Gestion des demandes » ............................. 32
4.2.4. Description du cas d’utilisation « Gestion des relations clientèles »................. 33
5. Conclusion................................................................................................................. 33
Chapitre 4 : Conception ......................................................................................................... 34
1. Introduction ............................................................................................................... 34
2. Diagramme de classes................................................................................................. 34
3. Les diagrammes de séquences ..................................................................................... 36
3.1. Cas d’utilisation « Authentifier ».......................................................................... 36
3.2. Cas d’utilisation « Effectuer une demande ».......................................................... 37
3.3. Cas d’utilisation « Voir les transactions » ............................................................. 37
3.4. Cas d’utilisation « Contacter l’administrateur » ..................................................... 39
3.5. Cas d’utilisation « Transférer de l’argent »............................................................ 40
3.6. Cas d’utilisation « Générer une demande de transfert ».......................................... 41
3.7. Cas d’utilisation « Trouver une agence/un distributeur » ........................................ 42
4. Modélisation des composants systèmes de l’application mobile ..................................... 42
4.1. Les activités........................................................................................................ 43
4.2. Les fragments ..................................................................................................... 44
5. L’architecture du middleware ...................................................................................... 45
6. Modèle MVC de la partie administrative ...................................................................... 46
6.1. Les modèles........................................................................................................ 47
6.2. Les vues ............................................................................................................. 48
6.3. Les contrôleurs ................................................................................................... 49
7. Base de données......................................................................................................... 49
7.1. Le modèle conceptuel de données ........................................................................ 50
7.2. Le dictionnaire de données................................................................................... 50
8. Conclusion................................................................................................................. 56
Chapitre 5 : Réalisation.......................................................................................................... 57
1. Introduction ............................................................................................................... 57
2. Environnement du développement ............................................................................... 57
2.1. Environnement matériel ........................................................................................... 57
2.2. Environnement logiciel ............................................................................................ 58
2.2.1. Technologies utilisées........................................................................................ 58
2.2.2. Bibliothèques utilisées ....................................................................................... 60
2.2.3. Outils utilisés .................................................................................................... 60
3. Le backlog du projet ................................................................................................... 61
4. Interface et utilisation de l’application ......................................................................... 64
4.1. Release 1 : L’application web .............................................................................. 64
4.2. Release 2 : L’application mobile .......................................................................... 67
5. Conclusion................................................................................................................. 75
Conclusion générale .............................................................................................................. 76
Webographie......................................................................................................................... 77
La liste des figures
Figure 1.1 : Idée du projet ........................................................................................................3
Figure 1.2 : La méthode "Scrum"..............................................................................................4
Figure 2.1 : Les types d'application mobile ................................................................................6
Figure 2.2 : Interface Android studio ........................................................................................8
Figure 2.3 : Architecture de développement iOS ........................................................................9
Figure 2.4 : Interface Visual Studio ........................................................................................ 10
Figure 2.5 : Solution "Attijari Bank" ....................................................................................... 12
Figure 2.6 : Solution "STB Bank"........................................................................................... 13
Figure 2.7 : Solution "banque de Tunisie" ............................................................................... 14
Figure 2.8 : Solution "Barclays" ............................................................................................. 15
Figure 2.9 : Solution "Chase mobile" ...................................................................................... 15
Figure 2.10 : Solution "BNP Paribas" ..................................................................................... 16
Figure 2.11 : Architecture 3-tières .......................................................................................... 18
Figure 2.12 : Architecture j2ee client léger .............................................................................. 18
Figure 3.1 : Diagramme de cas d'utilisation du client ............................................................... 22
Figure 3.2 : Diagramme de cas d'utilisation de l’administrateur ................................................ 23
Figure 4.1 : Diagramme de classes.......................................................................................... 34
Figure 4.2 : Diagramme de séquence du cas d'utilisation "s'authentifier" ................................... 36
Figure 4.3 : Diagramme de séquence du cas d'utilisation "Effectuer une demande" .................... 37
Figure 4.4 : Diagramme de séquence du cas d'utilisation "Voir les transactions" ........................ 38
Figure 4.5 : Diagramme de séquence du cas d'utilisation "Recherche Avancée" ......................... 38
Figure 4.6 : Diagramme de séquence du cas d'utilisation "contacter l'administrateur" ................. 39
Figure 4.7 : Diagramme de séquence du cas d'utilisation "Transférer de l'argent" ....................... 40
Figure 4.8 : Diagramme de séquence du cas d'utilisation "Générer une demande de transfert" .... 41
Figure 4.9 : Diagramme de séquence du cas d'utilisation "Trouver agence/distributeur" ............. 42
Figure 4.10 : Modélisation des composantes de l'application mobile ......................................... 43
Figure 4.11 : Modélisation des classes du middleware.............................................................. 46
Figure 4.12 : Modélisation du système administratif ................................................................ 47
Figure 4.13 : La base de données ............................................................................................ 50
Figure 5.1 : Arborescence des fichiers avec Gradle .................................................................. 59
Figure 5.2 : Interface d'authentification web ............................................................................ 64
Figure 5.3: Interfaces de gestions des clients ........................................................................... 65
Figure 5.4 : Interface de demandes ......................................................................................... 66
Figure 5.5 : Interface des messages ......................................................................................... 66
Figure 5.6 : Interface d'un message sélectionné........................................................................ 67
Figure 5.7 : Interface d'authentification mobile ........................................................................ 67
Figure 5.8 : Menu supplémentaire........................................................................................... 68
Figure 5.9 : Interface principale .............................................................................................. 68
Figure 5.10 : Interface d'information du compte....................................................................... 69
Figure 5.11 : Interface des transactions ................................................................................... 70
Figure 5.12 : Interface de transfert d'argent ............................................................................. 70
Figure 5.13 : Interface de demande de transfert........................................................................ 71
Figure 5.14 : Interface des demandes ...................................................................................... 72
Figure 5.15 : Menu de l'application ......................................................................................... 72
Figure 5.16 : Menu des comptes ............................................................................................. 73
Figure 5.17 : Interface de l'échange de devises ........................................................................ 73
Figure 5.18 : Interface de simulation de crédit ......................................................................... 74
Figure 5.19 : Interface de contact............................................................................................ 75
Figure 5.20 : Interface de localisation ..................................................................................... 75
La liste des tableaux
Tableau 3.1 : Description textuelle du cas d'utilisation "s'authentifier" ...................................... 24
Tableau 3.2 : Description textuelle du cas d'utilisation "Effectuer une demande" ....................... 25
Tableau 3.3 : Description textuelle du cas d'utilisation "Voir les transactions" ........................... 26
Tableau 3.4 : Description textuelle du cas d'utilisation "Transférer de l'argent" .......................... 27
Tableau 3.5 : Description textuelle du cas d'utilisation "Contacter l'administrateur" ................... 28
Tableau 3.6 : Description textuelle du cas d'utilisation "Simuler un crédit" ................................ 29
Tableau 3.7 : Description textuelle du cas d'utilisation "Voir l'échange des devises" .................. 29
Tableau 3.8 : Description textuelle du cas d'utilisation "Générer une demande de transfert"........ 30
Tableau 3.9 : Description textuelle du cas d'utilisation "Gestion des clients".............................. 31
Tableau 3.10 : Description textuelle du cas d'utilisation "Gestion des comptes" ......................... 32
Tableau 3.11 : Description textuelle du cas d'utilisation "Gestion des demandes"....................... 32
Tableau 3.12 : Description textuelle du cas d'utilisation "Gestion des relations clientèles" .......... 33
Tableau 4.1 : Liste des fragments ........................................................................................... 44
Tableau 4.2 : Table "Agency" de la base de données ................................................................ 51
Tableau 4.3 : Table "Banker" de la base de données................................................................. 51
Tableau 4.4 : Table "Client" de la base de données .................................................................. 52
Tableau 4.5 : Table "Login" de la base de données .................................................................. 52
Tableau 4.6 : Table "Account" de la base de données ............................................................... 53
Tableau 4.7 : Table "Transaction" de la base de données .......................................................... 53
Tableau 4.8 : Table "Credit_Card" de la base de données ......................................................... 54
Tableau 4.9 : Table "CheckBook" de la base de données .......................................................... 54
Tableau 4.10 : Table "Support" de la base de données .............................................................. 55
Tableau 4.11 : Table "Request" de la base de données.............................................................. 55
Tableau 4.12 : Table "Location" de la base de données ............................................................ 56
Tableau 4.13 : Table "ATM" de la base de données ................................................................. 56
Tableau 4.14 : Les Tables "Category" de la base de données .................................................... 56
Tableau 5.1 : Le backlog du projet.......................................................................................... 62
Tableau 5.2 : Distribution des sprints (Release 1) .................................................................... 63
Tableau 5.3 : Distribution des sprints (Release 2) .................................................................... 63
La liste des abréviations
BFI (Banque Finance International) : c’est notre entreprise d’accueil.
SOAP (Simple Object Access Protocol) : c’est un type de service web.
WSDL (Web Services Description Language) : c’est un document XML qui décrit
le service web.
UDDI : (Universal Description Discovery and Integration) c’est un document XML
qui contient un annuaire de services.
REST : (Representational State Transfer) c’est un type de service web.
URI : (Uniform Resource Identifier) c’est une chaine de caractère identifiant une
ressource sur un réseau.
HTTP : (HyperText Transfer Protocol) c’est un protocole de communicatio n
client-serveur développé pour le World Wide Web.
JSON : (JavaScript Object Notation) c’est un format de données textuelles.
GPS (Global Positioning System) : c’est un système de géolocalisation.
RIB (Relevé d’Identité Bancaire) : c’est un identifiant de coordonnées bancaires.
IBAN (International Bank Account Number) : c’est le numéro international de
compte bancaire.
BIC (Bank Identifier Code) : c’est le RIB mais en anglais.
CRM (Customer Relationship Management) : c’est la gestion de relation clientèle s.
J2EE (Java 2 Enterprise Edition) : c’est la version Java d’entreprise.
MVC (Model-Vue-Controller) : c’est une architecture de programmation web.
QR Code (Quick-Response Code) : c’est un code à barre en deux dimensions (ou
code à matrice).
API (Application Programming Interface) : c’est une interface de programmatio n
applicative.
JSP (Java Server Pages) : ce sont des pages html avec un code Java dedans.
VPS (Virtual Private Server) : c’est une machine virtuelle à distance.
JAX-RS (Java API eXtension for RESTful Web Services) : c’est une extensio n
d’interface de programmation Java pour le service web REST.
JVM (Java Virtual Machine) : c’est une machine virtuelle Java.
JDBC (Java DataBase Connector) : c’est un moyen de communication entre une
application Java et la base de données.
Zxing (Zebra crossing) : c’est un projet open-source de code à barre multi format.
SSH (Secure Shell) : c’est un protocole de communication sécurisé.
Introduction générale
Le marché des technologies a connu une énorme évolution ces dernières années et 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 et encore plus ont vu le
jour pour satisfaire ces nouveaux clients.
Les banques représentent l'un des domaines qui connaissent un nombre énorme de client
et qui souffrent pour les satisfaire. Ils doivent alors proposer leurs services d’une façon
plus rapide et sécurisé mais aussi à distance afin de pouvoir éviter la congestion 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 ce
conflit par proposer une application mobile capable de procurer des services
indispensables rapidement et à tout moment.
Notre projet consiste à développer une application bancaire mobile sous Android qui
propose de nombreuses fonctionnalités à l'utilisateur ainsi que sa partie administrative qui
consiste à gérer les services clientèle.
1
ISI Présentation générale BFI
2. Organisme d'accueil
BFI est une entreprise tunisienne crée en 1994, spécialisé dans l’édition et l’intégra tio n
de solutions logicielles destinées aux banques et institutions financières.
3. Cadre du travail
Ce stage a été effectué dans le cadre d'un projet de fin d'études pour l'obtention du diplôme
« Licence fondamentale en science d’informatique » de l'institut supérieur d'informatique. Le
stage est réalisé au sein de l'entreprise « BFI » qui nous a proposés de concevoir une
application mobile qui simule les fonctionnalités bancaires.
4. Présentation du projet
Une banque offre de nombreux services à ses clients qui doivent se présenter chaque fois
à l’agence pour effectuer les moindres opérations.
Etant donné le nombre de clientèle bancaire, nous devrons trouver une solution pour le
confort du client afin qu’il puisse faire ses besoins à distance et ainsi les agences ne
souffrent pas d’encombrement humain.
C'est pourquoi il est nécessaire aujourd'hui pour une banque d'offrir à ses clients une
application mobile permettant de réaliser des opérations en toute sécurité et à tout
moment, de même elle doit proposer une partie administrative à ses employés.
2
ISI Présentation générale BFI
Comme illustre la figure 1.2 la méthode « SCRUM » divise le développement sur des
taches qui durent un intervalle de temps variable selon la grandeur du travail, appelé
Sprint. Cette méthode répartit aussi les personnes selon des rôles :
3
ISI Présentation générale BFI
5. Conclusion
Dans ce chapitre nous avons introduit le contexte général du projet à réaliser et sa méthode
de développement ainsi que la présentation de l’entreprise qui nous a accueillis.
Par suite nous allons aborder la phase d’étude du projet pour faire les bons choix
techniques
4
ISI Etude théorique et choix techniques BFI
Tout ça pour enfin effectuer un bon choix technique pour réaliser le projet.
2. Etude préliminaire
Cette partie concerne les études des systèmes d’exploitation mobiles ainsi que les
différents types de développement de ces derniers.
2.1.1. Android
Le système d'exploitation mobile le plus populaire s'est emparé aujourd'hui de la plus
grosse part du marché. Cette croissance était très rapide. Du second trimestre 2009 au
second trimestre 2010, la part de marché d'Android est passée de 1,8 % à 17,2 % avec un
taux de croissance de 850 %. Le 15 novembre 2011, Android atteint les 52,5% de part du
marché mondial des smartphones. En septembre 2014, la part de marché mondiale
d'Android est passée à 85 %.
Android a été développé par une petite startup achetée ensuite par Google. [3]
2.1.2. iOS
Beaucoup diront qu'Apple a révolutionné la notion d'appareils mobile avec l'iPhone en
2007. Et leur système d'exploitation iOS était une innovation en lui-même. iOS est dérivé
du système d'exploitation Mac OS X et tous les appareils mobiles d'Apple l'utilise nt,
l'iPhone, l'iPad, l'iPod ou bien l'Apple Watch.
5
ISI Etude théorique et choix techniques BFI
2.2.1. Présentation
Application Native
Il s’agit des applications conçues pour une plateforme spécifique en se référant à un
langage particulier propre au système d’exploitation choisi (Java pour Android,
Objective-C ou SWIFT pour iOS et C# pour Windows Phone). Ces applications sont
distribuées uniquement par l’intermédiaire de son magasin (Play Store, App Store, etc.).
6
ISI Etude théorique et choix techniques BFI
Le souci du développement natif c’est qu’on doit développer la même application pour
chaque plateforme ce qui implique que le temps de développement va être multiplié par
le nombre de plateforme visé. [4] [5]
Application Web
Les applications web sont réellement des sites web développé en HTML et conçus pour
être utilisé sur les tailles des écrans mobiles. Ils sont accessibles via le navigateur web du
smartphone et ne nécessitent pas forcément de télécharger l'application.
Le point fort c’est qu’on n’a qu’à développer un seul format qui marche sur toutes les
plateformes donc un gain de temps de développement énorme et une facilité de mise à
jour.
Application Hybride
Tout comme les applications web, ce type est développé à partir de langages web qui vont
par suite s’intégrer à des « WebView » dans la partie native. Donc c’est des applicatio ns
multiplateformes qui peuvent en plus utiliser les fonctionnalités natives.
Néanmoins, les applications hybrides peuvent parfois ne pas bien s’adapter au système
d’exploitation du smartphone pour des raisons de résolution et d’autres. [4]
7
ISI Etude théorique et choix techniques BFI
Une autre composante qui permet de créer des interfaces est le « Fragment ». Un fragme nt
est similaire à une activité sauf qu’il est plus léger. Il est conseillé de toujours utiliser si
c’est possible un fragment.
Un fragment doit toujours être contenu dans une activité ce qui fait que dans une
application Android il faut y avoir au moins une activité.
Les interfaces graphiques sont constituées d’un ensemble de View codé en XML.
Application iOS
Les applications iOS sont développées en langage « objective-c » ou bien le langage
« SWIFT ».
Comme illustre la figure 2.3, il existe 3 composantes essentielles pour une applicatio n
iOS.
- Model : c’est l’objet qui contient les données d’une application, qui procure et
gère l’accès à ces données.
8
ISI Etude théorique et choix techniques BFI
- Controller : cet objet agit comme un coordinateur entre des différents objets de
type « View objects » ou bien entre des différents objets de type Model.
- View : c’est l’interface qui s’affiche à l’écran et qui réagit aux actions de
l’utilisateur.
9
ISI Etude théorique et choix techniques BFI
Ionic v2
Ionic est un Framework HTML5 récent dédié au développement d’application mobile
hybride fonctionnant sur Windows Phone, iOS ou bien Android.
Mobile Angular UI
Mobile Angular UI est un autre Framework HTML5 dédié au développeme nt
d’application hybride. Mobile Angular UI se base sur le langage Angular js ainsi que sur
les composantes Bootstrap de Twitter.
10
ISI Etude théorique et choix techniques BFI
Cordova
Cordova est une plateforme pour le développement d’application mobile native avec du
HTML5, CSS et JAVASCRIPT. L’interface d’une application Cordova est réelleme nt
une WebView qui occupe tout l’écran. Cela veut dire que seul le conteneur c’est-à-dire
le WebView change d’un système d’exploitation à un autre.
L’échange des messages se fait avec une structure standardisée de format XML.
3. Etude de l’existant
Dans cette section nous allons étudier les différentes applications bancaires du marché
pour bien prendre nos décisions techniques.
11
ISI Etude théorique et choix techniques BFI
STB :
STB Bank offre elle aussi une application mobile avec une interface origina le.
L’application offre des services comme :
12
ISI Etude théorique et choix techniques BFI
Banque de Tunisie :
Banque de Tunisie est une autre banque qui offre une application mobile riche en
fonctionnalités. Et comme, ces fonctionnalités sont divisées entre des services offerts au
public et d’autres offerts aux abonnées, on trouve :
13
ISI Etude théorique et choix techniques BFI
14
ISI Etude théorique et choix techniques BFI
Chase Mobile :
Chase est une banque américaine qui offre la meilleure application mobile bancaire selon
le magazine « Forbes ». L’application offre un très grand nombre de fonctionnalités avec
une interface moderne et conviviale.
15
ISI Etude théorique et choix techniques BFI
L’application « Attijari mobile Tunisie » propose une interface conviviale mais pas très
moderne et elle manque aussi de quelques fonctionnalités comme la géolocalisation des
agences bancaires.
L’application « STB » offre un grand nombre de fonctionnalités mais l’interface n’est pas
très bien organisée.
16
ISI Etude théorique et choix techniques BFI
4. Problématique
Étant donné cette diversité de système d'exploitation et de type d'application mobile, nous
avons dû choisir entre développer une application spécifique à une plateforme ou bien
une application multiplateforme.
5. Solution envisagée
Pour une banque l'application proposée doit être ergonomique, rapide et riche de
fonctionnalités. Suite à notre étude on a constaté que les applications natives offrent les
meilleures performances.
Pour terminer, nous avons constaté que les services web SOAP sont plus lents par rapport
aux services web basé sur REST qui offrent une simplicité de mise en œuvre, du coup
nous avons choisi de travailler avec REST.
Couche métier : c'est la partie traitement, elle est repartie entre le serveur
d'application et l'application mobile.
Couche accès aux données : c'est la partie gérant l'accès aux données du système.
17
ISI Etude théorique et choix techniques BFI
7. Conclusion
Dans ce chapitre nous avons réalisé une étude sur tous les aspects de développeme nt
d’application mobile, notamment nous avons choisi la plateforme de développement, puis
nous avons réalisé une étude sur l’existant pour proposer la meilleure application sur le
marché.
Après cela, nous allons faire une analyse sur les besoins que nous devons offrir aux
acteurs de notre projet
18
ISI Analyse des besoins et spécification BFI
L’administrateur : le rôle de cet acteur est de gérer les comptes et les clients
ainsi que les demandes des cartes de crédit ou des chéquiers et de répondre aux
messages envoyés par les utilisateurs.
Consulter ses informations personnelles ainsi que tous ses comptes bancaires.
Transférer de l'argent.
19
ISI Analyse des besoins et spécification BFI
Contacter la banque
20
ISI Analyse des besoins et spécification BFI
Nous allons présenter ici les diagrammes de cas d’utilisation de chaque partie.
21
ISI Analyse des besoins et spécification BFI
22
ISI Analyse des besoins et spécification BFI
4. Spécification fonctionnelle
Dans cette section nous allons citer les descriptions textuelles qui décrivent les scénarios
des différents cas d’utilisation.
23
ISI Analyse des besoins et spécification BFI
Sommaire d’identification
Titre : S’authentifier
Résumé : Permettre au client de s’authentifier pour bénéficier des services de
l’application.
Acteur : Client
24
ISI Analyse des besoins et spécification BFI
Sommaire d’identification
Titre : Effectuer une demande
Résumé : Permettre au client de demander une carte de crédit ou un carnet de chèque
Acteur : Client
Description des enchainements
Pré condition :
Client authentifié
Service web disponible
Serveur de base de données disponible
Scénario nominal :
1) Le client choisi le type de sa demande
2) Le client confirme sa demande
3) Le système enregistre la demande dans la base de données
4) Le système envoie les coordonnées de la demande par email au client.
Scénario alternative :
Alt-1) Le client possède déjà une demande équivalente
Alt-2) Service web ou serveur de base de données indisponible : le système affiche
le message d’erreur « Une erreur inattendue s'est produite »
Post condition : Le client est informé par email et attend qu’un administra te ur
approuve sa demande.
25
ISI Analyse des besoins et spécification BFI
Sommaire d’identification
Titre : Voir les transactions
Résumé : Permettre au client de voir les transactions de l’un de ses comptes
Acteur : Client
26
ISI Analyse des besoins et spécification BFI
Sommaire d’identification
Titre : Transférer de l’argent
Résumé : Permettre au client d’effectuer une transaction
Acteur : Client
27
ISI Analyse des besoins et spécification BFI
Sommaire d’identification
Titre : Contacter l’administrateur
Résumé : Permettre à l’utilisateur de l’application de contacter l’administrateur
Acteur : Client
28
ISI Analyse des besoins et spécification BFI
Sommaire d’identification
Titre : Simuler un crédit
Résumé : Permettre au client de simuler une demande de crédit en impliquant les taxes
et les impôts
Acteur : Client
Sommaire d’identification
Titre : Voir l’échange des devises
Résumé : Permettre à l’utilisateur de visualiser l’échange entre les différentes devises
du monde.
Acteur : Client
29
ISI Analyse des besoins et spécification BFI
Sommaire d’identification
Titre : Générer une demande de transfert
Résumé : Permettre au client de générer un code QR qui sert à remplir
automatiquement les champs de transfert de celui qui analyse ce code
Acteur : Client
30
ISI Analyse des besoins et spécification BFI
Sommaire d’identification
Titre : Gestion des clients
Résumé : Permettre à l’administrateur d’ajouter, modifier, supprimer ou
suspendre/rétablir un client.
Acteur : Administrateur
Description des enchainements
Pré condition : administrateur authentifié
Scénario nominal :
1) L’administrateur voit la liste des clients
2) L’administrateur sélectionne le client désiré
Scénario alternative :
Alt-1) Serveur de base de données indisponible : l’administrateur reçoit une liste vide
Post condition : L’administrateur gère le client sélectionné
31
ISI Analyse des besoins et spécification BFI
Sommaire d’identification
Titre : Gestion des comptes
Résumé : Permettre à l’administrateur d’ajouter, modifier, supprimer ou
désactiver/activé un compte
Acteur : Administrateur
Description des enchainements
Pré condition : administrateur authentifié
Scénario nominal :
1) L’administrateur voit la liste des comptes
2) L’administrateur sélectionne le compte désiré
Scénario alternative :
Alt-1) Serveur de base de données indisponible : l’administrateur reçoit une liste vide
Post condition : L’administrateur gère le compte sélectionné
32
ISI Analyse des besoins et spécification BFI
Sommaire d’identification
Titre : Gestion des relations clientèles
Résumé : permettre à l’administrateur de répondre aux différents besoins clientèle
Acteur : administrateur
5. Conclusion
Dans ce chapitre nous avons énuméré les besoins fonctionnels et non fonctionnels de
notre projet, puis nous avons élaboré les différents diagrammes de cas d’utilisation ainsi
que leurs descriptions textuelles.
Le prochain chapitre va modéliser ces services par des diagrammes pour mieux
comprendre le développement.
33
ISI Conception BFI
Chapitre 4 : Conception
1. Introduction
Ce chapitre présente la partie conception qui sert à réaliser des différents types de
diagramme qui modélise les différentes parties du projet afin de mieux comprendre le
système.
2. Diagramme de classes
Ce diagramme est classé comme un modèle statique du système, il sert à réaliser une
modélisation des relations entre les classes du système orienté objet.
La classe « Person » : c’est la classe qui contient les informations des différents
types de personnes.
La classe « Banker » : c’est une classe qui hérite de la classe « Person » et qui
comporte des attributs et des opérations supplémentaires que sa classe mère qui
ont rapport avec le banquier.
La classe « Client » : c’est une classe qui hérite de la classe « Person » et qui
dispose des attributs et des opérations supplémentaires concernant le client.
La classe « Contact » : c’est la classe qui indique les informations d’un message
envoyé par un utilisateur.
35
ISI Conception BFI
36
ISI Conception BFI
37
ISI Conception BFI
Cependant le client peut effectuer une recherche avancée sur les transactions du compte
choisi, la figure 4.5 nous montre les étapes qui se présentent lors d’une recherche avancée.
38
ISI Conception BFI
39
ISI Conception BFI
40
ISI Conception BFI
La figure 4.8 représente les étapes qui se produisent lors d’une demande de transfert. Le
client va saisir le montant désiré puis le système va générer le code QR si la somme est
supérieure à 1 dollar, par suite le code est enregistré dans l’appareil et le client a
l’opportunité de partager ce code.
Figure 4.8 : Diagramme de séquence du cas d'utilisation "Générer une demande de transfert"
41
ISI Conception BFI
La figure 4.10 nous montre la liaison d’attachement entre ces différentes classes dans
notre cas.
42
ISI Conception BFI
MainActivity : c’est l’activité principale du projet elle englobe presque tous les
services disponibles de l’application.
43
ISI Conception BFI
Le tableau 4.1 nous montre les différents fragments de notre projet ainsi que leurs rôles
et les activités qui leur sont attachées.
44
ISI Conception BFI
5. L’architecture du middleware
Dans cette partie nous allons modéliser le service web qui présente le middleware de notre
application 3-tièrs.
Comme illustre la figure 4.11 il s’agit des API REST qui communiquent avec les
contrôleurs de la couche présentation par des messages parsés en JSON pour récupérer
des données stockées dans la couche de données à travers la classe DBConnection.
45
ISI Conception BFI
Partie donnée
Partie métier
Partie présentation
46
ISI Conception BFI
47
ISI Conception BFI
Client : un Bean qui hérite du Bean Person et qui représente les informations d’un
client provenant de la table Client de la base de données.
Banker : un Bean qui hérite du Bean Person et qui représente les informatio ns
d’un banquier provenant de la table Banker de la base de données.
Contact : un Bean qui représente les informations d’un sujet de contact provenant
de la table Contact de la base de données.
48
ISI Conception BFI
Account : c’est un dossier qui contient les corps JSP concernant la liste des
comptes et l’ajout ou l’édition d’un compte.
Client : c’est un dossier qui contient les corps JSP qui ont rapport avec la gestion
des clients.
Contact : c’est un dossier qui comporte les corps JSP relatif à la gestion des
relations clientèles.
Request : c’est un dossier qui possède les corps JSP concernant les demandes
clientèles.
Comme illustre la figure 4.12, nous avons classé nos servlets selon leur cadre de travail
sur des différents packages :
Account : c’est un package qui comporte tous les servlets relatifs aux comptes.
Client : c’est un package qui contient tous les servlets qui concernent la gestion
des clients.
Contact : c’est un package qui englobe tous les servlets qui concernent les
relations clientèles.
Request : c’est un package qui contient tous les servlets qui ont rapport avec la
direction des demandes envoyées par les clients.
7. Base de données
Dans cette section nous allons présenter le schéma de la base de données puis nous allons
étudier les champs de chaque table.
49
ISI Conception BFI
50
ISI Conception BFI
La table « Agency »
Le tableau 4.2 décrit chaque champ de la table qui définisse les agences au niveau de la
base de données.
La table « Banker »
Le tableau 4.3 illustre les significations des champs contenus dans la table des banquiers
dans la base de données.
51
ISI Conception BFI
La table « Client »
Les champs de la table client de la base de données sont décrits dans le tableau 4.4.
La table « Login »
Les informations d’authentifications des utilisateurs sont stockées dans la table login de
la base de données, le tableau 4.5 présente la signification de ces champs.
52
ISI Conception BFI
La table « Account »
Les champs de la table qui représente les comptes sont expliqués dans le tableau 4.6
La table « Transaction »
Le tableau 4.7 illustre l’explication des champs de la table des transactions de la base de
données.
53
ISI Conception BFI
La table « Credit_Card »
Dans le tableau 4.8, nous trouvons les significations des champs qui décrivent une carte
de crédit.
La table « CheckBook »
Le tableau 4.9 explique les champs de la table des carnets de chèques.
54
ISI Conception BFI
La table « Support »
Les champs de table des messages clientèles sont représentés dans le tableau 4.10
La table « Request »
Le tableau 4.11 explique les champs d’une demande.
55
ISI Conception BFI
La table « Location »
Les champs de la table de localisation des agences sont représentés dans le tableau 4.12.
8. Conclusion
Dans ce chapitre nous avons représenté les différentes parties de notre projet par des
diagrammes et des schémas.
56
ISI Réalisation BFI
Chapitre 5 : Réalisation
1. Introduction
Dans ce chapitre nous allons présenter les différents environnements physiques et logic ie l
puis nous allons aborder les différentes étapes du développement.
HP :
Samsung :
VPS :
57
ISI Réalisation BFI
Gradle
Gradle est un système de construction (Build system) de JVM qui prend les
fonctionnalités des autres systèmes comme Maven et les combines en un, pour enfin avoir
un système meilleur qui s’améliore à partir des défauts de ses prédécesseurs.
Ce build est intégré par default dans Android Studio et il met une structure bien organisée
de fichier.
Comme nous avons mentionné dans le chapitre 2, Android est composé des activités et
des fragments. Ces 2 composantes sont situées dans le répertoire « java » comme on le
voit sur la figure 5.1.
Dans le répertoire « res » nous trouvons toutes les ressources qui concernent la
présentation, comme :
- layout : ce répertoire regroupe tous les fichiers XML liées aux interfaces des
fragments et activités.
- drawable : c’est un répertoire qui regroupe toutes les images et forme géométriq ue
qu’utilise l’application.
- values : c’est le répertoire qui contient tous les fichiers XML des valeurs utilisées
dans le projet. Comme strings.xml pour les chaines de caractères, colors.xml pour
les couleurs ou encore style.xml pour les thèmes.
58
ISI Réalisation BFI
Plateforme J2EE
C’est une plateforme Java destinée aux applications d’entreprise.
Framework Jersey
« Jersey » est un framework open-source écrit en « JAVA » développer par « Oracle »
qui permet de développer des service web selon l’architecture « REST » suivant les
spécifications de JAX-RS.
MySQL
C’est un système de gestion de bases de données relationnelles.
Langage Java
C’est un langage informatique de programmation orienté objet qui permet de créer des
programmes, des applications mobiles, etc.
Langage XML
C’est un langage informatique de balisage qui sert à organiser les données de manière
structurée et hiérarchisée.
Langage HTML5
C’est un langage informatique utilisé pour la construction des pages web.
Bootstrap
C’est un Framework CSS et JavaScript qui contient un ensemble de codes utiles qui
facilite la tâche du design d’une page web.
59
ISI Réalisation BFI
JavaMail
C’est un API utilisée pour la gestion des emails destinée à la plateforme J2EE, et il fournit
des paquets optionnels pour l’utilisation sur la plateforme Java SE.
Zxing
C’est un projet open-source qui implémente des bibliothèques 1D/2D de code à barre.
AsyncHTTPClient
C’est une bibliothèque qui permet aux applications Java d’exécuter des requêtes HTTP et
recevoir des réponses asynchrones.
Material Drawer
Une bibliothèque qui propose un menu similaire à celui utilisé dans les applications
Android de Google. [8]
Android Iconics
Cette bibliothèque propose un grand nombre d’icônes de plusieurs source différentes
(Material icons, Font Awesome, …). [8]
FastAdapter
Une bibliothèque qui facilite la création des adaptateurs pour les interfaces qui affichent
des listes. [8]
60
ISI Réalisation BFI
Eclipse
C’est un environnement de développement très connu dans le domaine de la
programmation, il sert à développer avec des différents langages mais fondamentale me nt
en Java et pour cela que nous l’avons choisi pour le développement des Web services
ainsi que pour le développement de l’application web.
Apache Tomcat
C’est un serveur d’applications Java qui joue le rôle d’un conteneur web libre de servlets
et des JSP. Il comporte aussi un serveur http.
Nous l’avons choisi parce qu’il est léger, gratuit et assez complet pour ce que nous
voulons.
Xampp
C’est un logiciel qui englobe un ensemble d’outils nécessaire pour le fonctionne me nt
d’une application, comme : MySQL, Apache et Tomcat.
Filezilla
C’est un client FTP qui nous permet d’échanger des fichiers avec la machine VPS.
SSH Client
C’est un outil de connexion sur le protocole SSH qui nous permet d’utiliser le termina l
de la machine VPS à distance.
MySQL Wrokbench
C’est un outil de connexion MySQL à distance, il nous a permis de gérer la base de
données hébergé.
Visual paradigm
C’est un outil de modélisation en UML utilisée pendant la phase de conception.
Microsoft Word
C’est un éditeur de texte utilisé pour la rédaction du rapport.
3. Le backlog du projet
Le backlog de projet est la liste des fonctionnalités attendues d'un produit. Le tableau 5.1
illustre le backlog de notre cas.
61
ISI Réalisation BFI
62
ISI Réalisation BFI
Le premier release s’intitule sur la gestion des données du projet par une application web.
Le tableau 5.2 illustre la distribution des sprints pour cette release.
Sprint 0 Authentification 2 1
Après que nous avons organisé nos données, la deuxième release c’est l’applica tio n
mobile qui va consommer ces données. Le tableau 5.3 nous montre la distribution des
sprints de la deuxième release.
Sprint 0 Authentification 4 2
63
ISI Réalisation BFI
L’interface de la figure 5.2 est mise à la disposition de l’administrateur pour qu’il puisse
s’authentifier pour gérer les données systèmes. Il doit juste saisir son nom d’utilisateur et
son mot de passe.
64
ISI Réalisation BFI
Pour la gestion des demandes l’administrateur peut soit approuver la demande pour que
la carte ou le chéquier s’envoie chez l’adresse du client, soit la supprimer. La figure 5.4
illustre l’interface offerte pour ce scénario.
65
ISI Réalisation BFI
Les messages envoyés par les clients sont sur l’interface qui s’affiche sur la figure 5.5.
Pour voir et répondre à un sujet, l’administrateur doit sélectionner ce sujet et puis
l’interface de la figure 5.6 est mise à sa disposition pour lui permettre de gérer le message.
66
ISI Réalisation BFI
67
ISI Réalisation BFI
Après qu’un utilisateur soit authentifié, l’interface de ses informations s’affiche sur son
écran et il peut par suite accéder à ses comptes comme le montre la figure 5.9.
68
ISI Réalisation BFI
Quand le client clique sur le bouton « show » de l’interface de la figure 5.9, il accède
directement aux fonctionnalités liées au compte sélectionné :
La figure 5.10 représente l’interface qui montre les informations générales d’un compte
comme le solde et les différentes adresses de transfert.
Comme l’illustre la figure 5.11, le client peut voir les détails d’une transaction et il peut
procéder à une recherche avancée.
69
ISI Réalisation BFI
Pour transférer l’argent le client doit tout d’abord choisir s’il s’agit d’une adresse de
destination de type relevé d’identité bancaire RIB (BIC en anglais) ou d’un numéro de
compte international IBAN et après qu’il remplit les champs du transfert ou qu’il analyse
un code QR il doit saisir son code PIN de sécurité.
La figure 5.12 montre l’interface mis à la disposition du client pour le transfert d’argent.
Pour faciliter la tâche de transfert le client peut générer un code QR, il suffit juste de saisir
le montant demandé et le code va être stocké et prêt à être partagé tout comme illustre la
figure 5.13.
L’interface présentée sur la figure 5.14 est proposée pour les demandes. Le client doit
tout d’abord séléctionner le type de la demande ensuite le modèle desiré puis il clique sur
le bouton de demande.
71
ISI Réalisation BFI
Afin de conforter le client, nous avons mis à sa disposition un menu où il peut trouver
tous les services offerts par l’application comme nous montre la figure 5.15. Et il peut
encore choisir le compte qu’il veut utiliser pour certaines fonctionnalités qui nécessitent
l’adhérence à un compte comme sur la figure 5.16.
72
ISI Réalisation BFI
Comme illustre la figure 5.17, l’utilisateur peut visualiser l’échange de devises et simuler
la conversion d’une somme en choisissant les devises désirées.
73
ISI Réalisation BFI
Pour simuler des crédits, le client doit juste choisir la somme et nombre de mois, et le
système va générer la somme à payer chaque mois, comme le montre la figure 5.18.
Contacter la banque
74
ISI Réalisation BFI
La figure 5.20 montre l’interface qui facilite la tâche de trouver une agence ou un
distributeur proche du client.
5. Conclusion
Dans ce chapitre nous avons présenté les environnements du travail pour notre projet puis
nous avons décrit les différentes interfaces offertes par nos applications.
75
ISI Conclusion générale BFI
Conclusion générale
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.
Avant d’entamer ce projet, nous n’avions pas d’idée sur le développement d’applicatio n
mobile et encore moins sur le développement d’une application Android. Au début on a
passé un peu de temps pour apprendre comment concevoir les services web et comment
les intégrer avec l’application Android, mais après, tout s’est bien passé surtout étant
donné qu’on a trouvé le développement d’application Android très accessible.
Nous avons réussi à atteindre tous les objectifs principaux et nous avons ajouté un grand
nombre de fonctionnalités secondaire comme la conversion de devises etc. Nous avons
aussi intégré dans les applications mobiles et web des bibliothèques externes, et cela
demande un temps d’apprentissage pour chaque bibliothèque.
Ce projet de fin d’étude a été une bonne opportunité pour apprendre des nouvelles
technologies. Nous nous sommes initiés bien évidement au développement Android mais
aussi à la plateforme J2EE pour concevoir l’application Web. Nous avons appris aussi à
concevoir et à consommer des services web REST.
76
Webographie
[1] http://www.bfigroupe.com/Fr/presentation-de-bfi_11_5
[3] https://fr.wikipedia.org/wiki/Syst%C3%A8me_d%27exploitation_mobile
[4] https://www.taktilcommunication.com/blog/applications-mobile/definition-
typologie-applications- mobiles.html
[5] https://fr.wikipedia.org/wiki/Application_mobile
[6] https://play.google.com/
[7] https://fr.wikipedia.org/wiki
[8] https://github.com/mikepenz
77
وتطبيق ويب لمحاكاة الجزء، الهدف من هذا المشروع هو تحقيق تطبيق بنكي عبر الهاتف المحمول على نظام أندرويد: تلخيص
.اإلداري
والتحقق من تاريخ، وتنفيذ عمليات مثل تحويل األموال، تطبيق الهاتف المحمول يسمح للمستخدمين التصرف في حساباتهم البنكية
. والتعرف على أماكن الوكاالت البنكية وأجهزة الصراف اآللي والعديد من الميزات األخرى،المعاملة
.يسمح تطبيق ويب المسؤول لتلبية احتياجات المستخدمين ويعطبه السيطرة على حسابات المستخدمين
Résumé : L’objectif de ce projet est de réaliser une application bancaire mobile sous la plateforme
Android ainsi qu’une application web pour simuler la partie administrative.
L’application mobile permet aux utilisateurs de consulter leurs comptes bancaires en temps réel et
d’effectuer des opérations comme le transfert d’argent, consulter l’historique des transactions,
géolocaliser les agences et les distributeurs de billet et plein d’autres fonctionnalités.
L’application web permet à l’administrateur de répondre au besoin des utilisateurs et lui donne le
contrôle sur les comptes des utilisateurs.
Mots clès : Android, J2EE, Web, REST, Application bancaire, Service Web
Abstract : The objective of this project is to realize a mobile banking application under Android
platform as well as a web application to simulate the administrative part.
The mobile application allows users to view their bank accounts in real time and perform transactions
such as money transfer, view transaction history, locate agencies and ATMs, and many other features.
The web application allows the administrator to respond to user’s requests and gives them control over
their accounts.
نهج أبو الريحان البيروني2 2080 : الهاتف أريانة71 706 164 : الفاكس 71 706 698 : البريد اإللكتروني[email protected]
Abou Raihane Bayrouni 2080 l'Ariana Tél. 71 706 164 Fax : 71 706 698 Email:[email protected]