Digitalisation des Clients Al Amana
Digitalisation des Clients Al Amana
D’ETUDE
Pour l’obtention du diplôme
ii
Remerciement
Le présent rapport représente le fruit des efforts conjugués de plusieurs personnes. Il nous est
donc agréable d'exprimer notre reconnaissance auprès de toutes les personnes dont l'intervention au
cours de ce projet a favorisé son aboutissement.
En tout premier lieu, nous remercions le bon Dieu, tout puissant, de nous avoir donné la force pour
survivre, ainsi que l'audace pour dépasser toutes les difficultés surtout en ce qui s’est passé pendant
cette période de la pandémie du COVID-19.
Mes remerciements s'adressent aussi à Monsieur Mustafa ELKORICHI, notre encadrant au sein
de l’association Al Aman et Monsieur Driss ALLAKI notre encadrant au sein de l'INPT pour le temps
qui ont consacré afin de répondre à nos questions et nous guider à la conduite de cette période de
stage. Ainsi nous remercions Monsieur BARAKAT Hicham et Monsieur KHALLAAYOUNE Jamal
étant membres de Jury pour leur présence, leur lecture attentive de notre mémoire de stage ainsi que
pour leurs remarques.
Nous remercions également toute l'équipe pédagogique de l'Institut National des Postes et
Télécommunications (INPT) et les intervenants professionnels responsables de notre formation
durant notre cursus au sein de l’Ecole.
Nous adressons aussi nos sincères remerciements à Zaynab BOUROUAIN, notre collègue de
l’Ecole Nationale Supérieure des Mines de Rabat (ENSMR) et membre du projet sur lequel nous
avons travaillé, et à toute personne au sein de l’association Al Amana qui nous ont aidé durant notre
stage.
Un grand merci à nos mères, nos pères, nos frères et sœurs, nos amis et à toute la famille pour
leurs conseils ainsi que leur soutien inconditionnel, à la fois moral et économique, qui nous ont permis
d'être la personne que nous sommes aujourd’hui.
À tous ces intervenants, nous présentons nos remerciements, notre respect et notre gratitude.
iii
Résumé
L’essor digital est aujourd’hui largement porté par le mobile. Donc faire une application mobile
dédiée à une entreprise est une évolution qui est devenue nécessaire afin d’augmenter la notoriété de
sa marque, ses produits ou ses services et d’offrir aussi une nouvelle expérience à ses utilisateurs.
Ce document contient les résultats d'un travail acharné qui a duré six mois dans le cadre d'un projet
de fin d'études réalisé au sein de l’association Al Amana Microfinance pour l'obtention du diplôme
d'ingénieur d’état de l'Institut National des Postes et Télécommunications (INPT).
Nous avons réalisé le projet par rapport à tous ses aspects en parcourant toutes ses phases en
s’appuyant sur la méthode agile Kanban et en utilisant l’UML pour la conception, Adobe Photoshop
pour la réalisation des maquettes et en utilisant les technologies de développements tels que : Ionic,
Cordova, TypeScript, Angular, CSS, NodeJS avec des environnements de développement adaptés.
iv
Abstract
Nowadays, most businesses have an existing set of digital properties and mobile platforms.
Mobile applications work effectively to boost brand awareness, and achieve better customer
engagement for their services.
The objective of this project is to conceive, design, and build a mobile application that aims to
digitalize customer experience.
During the project planning and implementation phases, we have relied on the Kanban system for
its management, UML modeling language for system modeling, Adobe Photoshop graphics editor
for its design and technologies like Ionic, Cordova, TypeScript, Angular, CSS and NodeJS for its
programming.
Because of this mobile application project, we have been able to improve and put into practice all
the knowledge acquired during our engineering training at the Institute and in the future, we expect
to add more functionalities to it and improve its user interface.
.
v
Liste Des Abréviations
vi
Liste Des Figures
Figure 1 : Logo Al Amana Microfinance ...................................................................................................... 3
Figure 2 : L’Organigramme de l’association................................................................................................. 6
Figure 3 : Principe de Kanban ..................................................................................................................... 9
Figure 4 : Workflow sur Trello ...................................................................................................................10
Figure 5 : Diagramme de GANTT ...............................................................................................................11
Figure 6 : Logos des acteurs de la microfinance au Maroc ...........................................................................14
Figure 7 : Quelques interfaces de l’application mobile Enda Tamweel.........................................................18
Figure 8 : Quelques interfaces de l’application mobile National Microfinance Bank ....................................19
Figure 9 : Quelques interfaces de l’application mobile CovenantMFB .........................................................20
Figure 10 : Quelques interfaces de l’application mobile Mwaghavul Microfinance Bank .............................20
Figure 11 : Quelques interfaces de l’application mobile Fundación delamujer .............................................21
Figure 12 : Services et fonctionnalités du projet ..........................................................................................23
Figure 13 : Diagramme de cas d'utilisation global .......................................................................................25
Figure 14 : Diagramme de séquence de cas "Authentification" ....................................................................32
Figure 15 : Diagramme de séquence de cas "Inscription" .............................................................................33
Figure 16 : Diagramme de séquence de cas "Demander un prêt" ..................................................................34
Figure 17 : Diagramme de séquence de cas "Rendez-vous" .........................................................................35
Figure 18 : Diagramme de séquence de cas "Trouver une agence" ...............................................................36
Figure 19 : Diagramme de séquence de cas "Faire une réclamation / Poser une question" ............................37
Figure 20 : Diagramme de classe.................................................................................................................38
Figure 21 : Type d'application mobile .........................................................................................................43
Figure 22 : architecture applicative du système métier d’Al Amana .............................................................51
Figure 23 : Architecture Logiciel de Selfcare ..............................................................................................52
Figure 24 : Architecture technique de Selfcare ............................................................................................53
Figure 25 : Design de la maquette 1 du Selfcare ..........................................................................................59
Figure 26 : Design de la maquette 2 du Selfcare (Suite) ...............................................................................60
Figure 27 : Logo de l'application Selfcare ...................................................................................................61
Figure 28 : Sliders et Authentification .........................................................................................................62
Figure 29 : Page d'Inscription ......................................................................................................................62
Figure 30 : Page d'Accueil ..........................................................................................................................62
Figure 31 : Page d'A propos ........................................................................................................................63
Figure 32 : Page de Mon Compte ................................................................................................................63
Figure 33 : Page de Profil............................................................................................................................64
Figure 34 : Page des Notifications ...............................................................................................................64
Figure 35 : Page de Localisation des Agences .............................................................................................65
Figure 36 : Page de Réclamation .................................................................................................................65
Figure 37 : Pages des Rendez-vous .............................................................................................................66
Figure 38 : Page d'Evénements et Actualités ...............................................................................................66
Figure 39 : Pages des Histoires et Témoignages ..........................................................................................67
Figure 40 : Page de Foire Aux Questions ....................................................................................................67
Figure 41 : Rubrique des autres services......................................................................................................68
Figure 42 : Pages de Mes Prêts....................................................................................................................69
Figure 43 : Pages de demande d'un nouveau prêt .........................................................................................69
Figure 44 : Pages de l'opération Substituer ..................................................................................................70
Figure 45 : Pages de l'opération Reporter ....................................................................................................70
Figure 46 : Pages de la Demande Anticipé du Payement .............................................................................71
Figure 47 : Panneau de chronométrage pour la réponse à un appel vers l'API...............................................72
vii
Liste Des Tableaux
Tableau 1 : Historique d'Al Amana Microfinance ......................................................................................... 5
Tableau 2 : Fiche de description du cas d’utilisation "Authentifier" .............................................................26
Tableau 3 : Fiche de description du cas d’utilisation "S'inscrire" .................................................................27
Tableau 4 : Fiche de description du cas d’utilisation "Demander un prêt" ....................................................28
Tableau 5 : Fiche de description du cas d’utilisation "Simuler un prêt" .......................................................28
Tableau 6 : Fiche de description du cas d’utilisation "Fixer un Rendez-vous" ..............................................29
Tableau 7 : Fiche de description du cas d’utilisation "Trouver une agence" .................................................29
Tableau 8 : Fiche de description du cas d’utilisation "Consulter autres services"..........................................30
Tableau 9 : Fiche de description du cas d’utilisation "Consulter la FAQ".....................................................30
Tableau 10 : Environnement Matériel .........................................................................................................41
Tableau 11 : Comparaison entre les types d’application mobile ...................................................................44
Tableau 12 : Comparaison entre Ionic et Flutter ..........................................................................................46
Tableau 13 : Les tickets utilisés dans le workflow sur Trello .......................................................................58
viii
Table Des Matières
Dédicace ....................................................................................................................................................ii
Remerciement.......................................................................................................................................... iii
Résumé ..................................................................................................................................................... iv
Abstract ......................................................................................................................................................v
Liste Des Abréviations .......................................................................................................................... vi
Liste Des Figures ................................................................................................................................... vii
Table Des Matières................................................................................................................................. ix
Introduction Générale ............................................................................................................................ 1
1. CONTEXTE GENERAL DU PROJET......................................................................................... 2
1.1. Introduction ................................................................................................................................ 3
1.2. Présentation de l'organisme d'accueil ....................................................................................... 3
1.2.1. Présentation générale de l’association Al Amana Microfinance ................................................. 3
1.2.2. Mission, Vision et Valeurs ...................................................................................................... 3
a. Mission ....................................................................................................................................... 3
b. Vision ......................................................................................................................................... 4
c. Valeurs ........................................................................................................................................ 4
1.2.3. Historique.............................................................................................................................. 4
1.2.4. Produits et Services d’Al Amana Microfinance ........................................................................ 5
1.2.5. Organigramme ....................................................................................................................... 6
1.3. Présentation générale du projet ................................................................................................. 7
1.3.1. Contexte du projet .................................................................................................................. 7
1.3.2. Problématique du projet .......................................................................................................... 7
1.3.3. Objectif du projet ................................................................................................................... 7
1.4. Méthodologie adoptée ............................................................................................................... 8
1.4.1. Les méthodes agiles ............................................................................................................... 8
1.4.2. Justification du choix de la méthode ........................................................................................ 8
1.4.3. Présentation de Kanban .......................................................................................................... 8
1.5. Planification du projet ............................................................................................................... 9
1.5.1. Outil de gestion ...................................................................................................................... 9
1.5.2. Planification du projet ...........................................................................................................10
1.6. Conclusion.................................................................................................................................12
2. ETUDE, ANALYSE, SPÉCIFICATION DES BESOINS ET CONCEPTION ...................13
2.1. Introduction ...............................................................................................................................14
2.2. Les principaux acteurs de la microfinance au Maroc .............................................................14
2.2.1. Acteurs de la microfinance au Maroc ......................................................................................14
2.2.2. Contribution des services en ligne de ces acteurs .....................................................................17
2.3. Les solutions existantes dans le marché mondial ...................................................................18
3.4. Analyse des besoins ..................................................................................................................22
2.4.1. Les acteurs et leurs rôles ........................................................................................................22
2.4.2. Objectif fonctionnel du projet.................................................................................................22
2.5. Spécification des besoins..........................................................................................................24
2.5.1. Identification des besoins fonctionnels ....................................................................................24
2.5.2. Diagramme des cas d’utilisation du système ............................................................................24
a. Digramme des cas d’utilisation ......................................................................................................24
b. Description de quelques cas d’utilisation .........................................................................................26
2.5.3. Spécification des besoins non fonctionnels ..............................................................................31
2.6. Conception de la solution .........................................................................................................31
2.6.1. Diagrammes des séquences ....................................................................................................31
2.6.2. Diagrammes de classes ..........................................................................................................37
2.7. Conclusion.................................................................................................................................39
3. TECHNOLOGIE ET ENVIRONNEMENT TECHNIQUE .....................................................40
3.1. Introduction ...............................................................................................................................41
3.2. Environnement de travail .........................................................................................................41
3.2.1. Environnement matériel .........................................................................................................41
3.2.2. Environnement logiciel ..........................................................................................................42
a. Environnement logiciel pour le design ...............................................................................................42
Le marché des technologies a connu une énorme évolution et innovation pendant cette dernière
décennie et plusieurs secteurs se sont adaptés à ce changement pour satisfaire ses clients.
La microfinance représente l’un des domaines qui connaissent un nombre énorme de clients et qui
souffre pour les satisfaire. Il est judicieux de proposer leurs services d’une façon plus rapide et
sécurisé mais aussi à distance afin de suivre le rythme du développement et faciliter le service client.
Les applications mobiles sont devenues une tendance grâces à leurs utilisations quotidiennes pour
remplacer les équipements physiques, réduire les déplacements, gagner plus de temps, ou tout
simplement pour faciliter la vie. C'est dans ce cadre où s'inscrit notre projet qui consiste à développer
une application mobile nommée Selfcare sous les deux systèmes d'exploitation Android et l’iOS qui
propose de nombreuses fonctionnalités à l’utilisateur ainsi que sa partie administrative qui consiste à
gérer les services clientèle.
Le point de départ de notre projet était une autoformation sur la méthodologie Agile, notamment
ses frameworks de travail, ensuite nous avons mené une étude de benchmarking des différentes
solutions existantes. Par la suite, nous fait la spécification des besoins, la conception, le design des
maquettes et finissant par le développement de l’application suivi par des petits tests pour s’assurer
de son bon fonctionnement.
Le présent rapport est structuré selon quatre chapitres couvrant l'ensemble des axes du travail
effectué. Le premier chapitre contient une description du contexte général du projet notamment la
présentation de l'organisme d'accueil Al Amana Microfinance, son organigramme, sa mission, sa
vision, ses valeurs, son historique, ainsi que son offre et services en illustrant la problématique, les
objectifs et la méthodologie adoptée.
Le deuxième chapitre liste les différents acteurs de la micro finance au niveau national et traite
l’étude théorique de quelques solutions déjà existantes dans le marché au niveau des autres pays pour
voir ce qu’ils apportent et déterminer ce qui manque pour proposer la meilleure solution. C’est sur
cette base que nous avons effectué une analyse de besoins fonctionnels, non fonctionnels et une étude
conceptuelle.
Par la suite le troisième chapitre met l’accent sur la technologie et l’ensemble des éléments
techniques qui seront employés au développement.
Enfin, le quatrième chapitre présente les résultats de l’implémentation, à savoir : le design des
maquettes, une illustration de gestion du projet, et des illustrations développées de l’application
Selfcare.
1
Chapitre 1
Sommaire
1.1. Introduction .............................................................................................................................. 3
1.2. Présentation de l'organisme d'accueil .................................................................................. 3
1.2.1. Présentation générale de l’association Al Amana Microfinance .................................... 3
1.2.2. Mission, Vision et Valeurs ................................................................................................ 3
a. Mission ...................................................................................................................................... 3
b. Vision ........................................................................................................................................ 4
c. Valeurs ....................................................................................................................................... 4
1.2.3. Historique ........................................................................................................................... 4
1.2.4. Produits et Services d’Al Amana Microfinance ............................................................... 5
1.2.5. Organigramme .................................................................................................................... 6
1.3. Présentation générale du projet............................................................................................. 7
1.3.1. Contexte du projet .............................................................................................................. 7
1.3.2. Problématique du projet ..................................................................................................... 7
1.3.3. Objectif du projet ............................................................................................................... 7
1.4. Méthodologie adoptée ............................................................................................................ 8
1.4.1. Les méthodes agiles ........................................................................................................... 8
1.4.2. Justification du choix de la méthode ................................................................................. 8
1.4.3. Présentation de Kanban ..................................................................................................... 8
1.5. Planification du projet ............................................................................................................ 9
1.5.1. Outil de gestion .................................................................................................................. 9
1.5.2. Planification du projet .......................................................................................................10
1.6. Conclusion ...............................................................................................................................12
2
1.1. Introduction
Un projet, étant un ensemble d'activités coordonnées afin de réaliser une finalité, il est primordial
de le délimiter dans l'espace et dans le temps dans lequel s’est déroulé, mais aussi de déterminer la
méthodologie de sa conduite au préalable. C'est dans ce sens que s'inscrit ce chapitre dans lequel on
présentera dans un premier temps l'organisme d'accueil Al Amana Microfinance, son organigramme
global, sa mission, sa vision, ses valeurs, son historique, ainsi que son offre et services. Ensuite, on
citera les objectifs principales, la problématique de ce projet et on analysera le contexte. Et
finalement on abordera une méthodologie de travail et on déterminera une planification à ce projet.
Al Amana Microfinance est une association à but non lucratif, régie par le dahir du 15/11/1958
et les lois 18/97 et 58/03 relatives à l’exercice de l’activité du micro-crédit. Elle a été fondée le 13
février 1997 et agréée en tant qu’Association de microcrédit par le Ministère des Finances le 31
mars 2000.
La première dans le classement du secteur de la microfinance au Maroc, al Amana Microfinance
dispose, à fin décembre 2017, d’un réseau de plus de 643 agences dont 258 dans les zones urbaines
et périurbaines, 299 dans les zones rurales et 86 véhicules mobiles desservant les zones les plus
enclavées. A la fin du 2017, Al Amana Microfinance a desservi 4.432.329 prêts d’un montant global
d’environ 34 milliards de dirhams au profit de 1.626.596 bénéficiaires. [W1]
a. Mission
La Mission d’Al Amana Microfinance est de contribuer au développement économique et social
du Maroc à travers l’inclusion financière des populations exclues du système financier classique.
3
b. Vision
La vision d’Al Amana Microfinance est d’être l’institution de référence en microfinance, préférée
par ses clients, desservant le plus grand nombre de bénéficiaires, offrant des services diversifiés et
innovants, performante financièrement et ayant un fort impact social. [W1]
c. Valeurs
Les valeurs de al Amana Microfinance portent sur :
Des valeurs fondamentales : l’Intégrité, l’honnêteté, la transparence et la responsabilité.
Des valeurs de progrès : le goût de l’effort et de la persévérance, le goût du succès, la
rigueur, l’engagement et l’altruisme.
Des valeurs professionnelles : La performance et le sens de l’innovation.
Des valeurs collectives : L’appartenance et l’équité. [W1]
1.2.3. Historique
Depuis sa création, plusieurs dates phares marquent l’évolution de l’institution. [W1]
2005 Al Amana Microfinance passe le cap de 1000 salariés et 360 points de vente.
4
2012 Lancement de 2 nouveaux produits : le transfert d’argent et la micro-assurance.
Al Amana Microfinance suit également ses clients à travers des services d’appui à la
commercialisation et à la visibilité des produits. De l’exposition jusqu’à la vente des produits, les
clients bénéficient à titre gracieux de différents services : un espace d’exposition sur le site web, des
stands pourvus dans différents salons, foires, et un support matériel et logistique afin de participer
aux rencontres régionales qui sont organisées par le Centre Mohammed VI de soutien à la
microfinance solidaire.
5
1.2.5. Organigramme
Al Amana Microfinance est une entreprise à grande taille humaine, elle se compose des Instances
de gouvernance, Direction Générale/pôles, Départements et Services dont chaque entité se compose
de plusieurs postes et équipes cohérents et bien organisés.
Nous étions dans le Département du Système d’Information (DSI) sous la direction de M. Abdellah
AKHIAT qui est le responsable de ce département, comme nous somme encadrés par Monsieur
Mustafa ELKORICHI qui est le responsable des nouvelles technologies. En effet, le rôle du
responsable du département était de nous expliquer les besoins du projet sur lesquelles nous avons
travaillé pendant notre stage de fin d'étude, sans oublier notre encadrant au sein de la société qui était
en contact avec nous pour nous faire orienter, faire le suivi et la validation du travail.
6
1.3. Présentation générale du projet
1.3.1. Contexte du projet
Dans le cadre de notre formation en ingénierie à l’Institut National des Postes et
Télécommunications (INPT), nous avons eu l’occasion d’effectuer notre stage de fin d’études au sein
de l’association Al Amana Microfinance, en vue de l’obtention du Diplôme d’Ingénieur d’Etat en
Télécommunications et Technologies de l’Information. En effet, ce stage vise à compléter notre
formation acquise, au sein de cet établissement, et de nous introduire à la vie professionnelle par la
mise en pratique de nos connaissances et la mise en œuvre de notre esprit d’équipe.
Les institutions financières formelles tels que les banques exigent des agents économiques à
remplir certaines conditions (documents d'identification, les garanties, un dépôt minimum, etc.) avant
de leur octroyer des crédits. Faute de pouvoir remplir ces conditions, les personnes à revenus faibles,
(les petits paysans et commerçants, les artisans, les vendeurs rue, etc.) sont exclues de ce système
financier classique. La microfinance, quant à elle, met en place des produits financiers simples et
adaptés aux besoins des populations pauvres afin de lutter contre les nombreuses dimensions de la
pauvreté. C’est dans ce sens que les apports sociaux incontestables de la microfinance et afin de la
promouvoir davantage, le Maroc à travers les sociétés de microfinance a pu résoudre les problèmes
complexes et multidimensionnels de la pauvreté. L’association Al Amana Microfinance fait partie des
acteurs de la microfinance dans le royaume marocain.
7
1.4. Méthodologie adoptée
Tout processus de développement nécessite un modèle bien défini qui conduit le projet à atteindre
les résultats attendus. Un tel modèle représente une méthode qui doit décrire la modélisation du
système logiciel (éventuellement matériel) efficace et complète.
8
Figure 3 : Principe de Kanban [W2]
Ce management visuel de tâche permet de visualiser en un coup d'œil l'avancement d'une tâche.
Chacun peut ainsi voir l'avancement du projet. Le fait que le flux de travail soit contrôlé visuellement
facilite la collaboration de l’équipe et permet ainsi d'anticiper les éventuels problèmes de charge,
notamment quand il y a une accumulation de tâches dans une même colonne. Ce système permet de
mesurer et d'optimiser le temps consacré à la réalisation et à la finalisation de chaque tâche. La
méthode Kanban est souvent utilisée dans les secteurs de l'industrie sur des projets agiles et se base
sur différentes pratiques, indicateurs et événements. L'objectif fondamental de la méthode Kanban
est d'éviter le gaspillage en assurant l'amélioration continue du processus. Alors que la plupart des
entreprises préfèrent à choisir un système à flux poussés, qui ne prend pas en compte les demandes
des consommateurs, la méthode Kanban impose un système à flux tirés, déclenché par la
consommation et les besoins du client.
9
De plus, il se décline en une version Web accessible en ligne, et une application mobile (sous iOS
ou Android). Tous les collaborateurs voient le même tableau (correspondant à un projet) et reçoivent
en temps réels des notifications chaque fois qu’une tâche est ajoutée ou complétée.
L’étude du projet.
Comprendre le besoin de la société,
L’étude de l’existant,
la spécification des besoins,
La conception.
Uses cases,
Digramme de classe,
Diagrammes des séquences,
Les architectures
Le design des maquettes.
Formation sur les technologies à utiliser.
Le développement.
La rédaction du rapport.
Le diagramme de GANTT suivant permet d'illustrer le planning global de notre stage de fin
d’étude au sein d’Al Amana Microfinance :
10
11
Figure 5 : Diagramme de GANTT
1.6. Conclusion
Dans ce chapitre nous avons présenté d'abord l'organisme d'accueil Al Amana Microfinance où
nous avons effectué notre stage de fin d’étude, puis situé le projet dans son contexte général, ainsi
nous avons terminé par la planification de notre stage en spécifiant la méthode de gestion que nous
avons adopté pour notre projet et la planification que nous avons suivi afin d’encadrer ce travail dans
un espace de temps. Dans le prochain chapitre nous établirons l’étude théorique sur les acteurs
principaux de la microfinance au Maroc, ainsi quelques solutions déjà présentent au niveau des autres
pays pour voir ce qu’ils apportent et déterminer ce qui manque afin de proposer les fonctionnalités à
réaliser dans l’application qu'on va réaliser. Ainsi l’analyse, la spécification des besoins
fonctionnelles et non fonctionnelles et enfin de la conception de l’application.
12
Chapitre 2
Sommaire
2.1. Introduction .............................................................................................................................14
2.2. Les principaux acteurs de la microfinance au Maroc ......................................................14
2.2.1. Acteurs de la microfinance au Maroc ..............................................................................14
2.2.2. Contribution des services en ligne de ces acteurs ...........................................................17
2.3. Les solutions existées dans le marché mondial ................................................................18
2.4. Analyse des besoins ...............................................................................................................22
2.4.1. Les acteurs et leurs rôles ...................................................................................................22
2.4.2. Objectif fonctionnel du projet ..........................................................................................22
2.5. Spécification des besoins ......................................................................................................24
2.5.1. Identification des besoins fonctionnels ............................................................................24
2.5.2. Diagramme des cas d’utilisation du système ..................................................................24
a. Digramme des cas d’utilisation ..................................................................................................24
b. Description de quelques cas d’utilisation ...................................................................................26
2.5.3. Spécification des besoins non fonctionnels .....................................................................31
2.6. Conception de la solution .....................................................................................................31
2.6.1. Diagrammes des séquences ..............................................................................................31
2.6.2. Diagrammes de classes .....................................................................................................37
2.8. Conclusion ...............................................................................................................................39
13
2.1. Introduction
Le contenu de ce chapitre s’articule sur trois grandes sections qui se basent sur l’étude et la
recherche. La première section présente l’étude sur le marché de la microfinance au Maroc en citant
les acteurs de ce domaine puis le marché mondial de la microfinance plus précisément les entreprises
qui ont une telle solution disponible que nous travaillons sur, afin de voir ce qu’ils apportent et
déterminer ce qui manque pour adopter les fonctionnalités à réaliser dans notre solution. La deuxième
section s’appuie sur l’analyse des besoins, puis nous définirons les besoins fonctionnels et non
fonctionnels de l’application. Et par la suite, la troisième section se porte sur la conception de
l’application via des différents diagrammes qui donnent une vision globale de la structure,
comportement et fonctionnalité de la solution.
14
Al Amana Microfinance
C’est l’acteur que nous avons présenté dans le premier chapitre lors de la présentation de
l’organisme d’accueil. En bref, c’est une Association à but non lucratif, régie par le dahir du
15/11/1958 et les lois 18/97 et 58/03 relatives à l’exercice de l’activité du micro-crédit. Elle a été
créée le 13 février 1997 et agréée en tant qu’Association de microcrédit par le Ministère des Finances
le 31 mars 2000. Sa mission est de promouvoir les micro-entreprises par l’octroi de crédit, et par tous
services connexes. [W4]
AMOS
L’Association de Microfinance Oued Srou, est une association à but non lucratif créée le 25 février
2000. Son objectif est d’améliorer les revenues des populations économiquement faibles par le
financement d’activités génératrices de revenue et d’apporter une réponse locale aux problèmes de
l’accès au financement pour les populations les plus démunies, de renforcer et consolider sa structure
et diversifier l’offre de produits financiers notamment pour le milieu rural. [W6]
ARDI
La Fondation ARDI a été créée en 2001 sous forme d’association d’intérêt économique et social,
sans but lucratif. Elle a pour mission de lutter contre l’exclusion financière et de promouvoir la micro
entreprise particulièrement en milieu rural, à travers l’exercice et la promotion du micro crédit. Dotée
d’un nouveau logo, d’une nouvelle organisation et de nouvelles ambitions, la Fondation ARDI se
veut le prolongement de l’activité du Crédit Agricole du Maroc vers les populations rurales non
servies par les financements bancaires traditionnels. ARDI offre aux populations défavorisées les
services de proximité nécessaires à leur insertion socioéconomique. Elle investit l’espace et se
rapproche des personnes qui ont en besoin même dans les zones les plus reculées. [W7]
15
collaboration avec l’ONG italienne APS grâce au « Programme de formation et appui aux petites et
micro entreprises dans la Wilaya de Tétouan », financée par le Ministère des Affaires Etrangères
Italienne et par l’Agence pour la Promotion et le Développement Economique et Social des Préfecture
du Nord du Royaume (APDN).
Ses services s’adressent aux petits travailleurs indépendants à faible revenu issus de la population
urbaine et rurale pauvre de la Wilaya de Tétouan située dans la région du nord du Maroc. ATIL MC
propose à la fois des prêts solidaire et des prêts individuel. Sa clientèle est constituée des micro-
entrepreneurs femmes et hommes dans différents domaines : commerce, artisanat, service, pêcheurs,
agriculture… [W8]
16
de microcrédit. Elle a été créée en 1996 et a été autorisée à exercer les activités de microcrédit par
arrêté ministériel du 10 mars 2000. [W12]
INMAA
L’Institution Marocaine d’Appui à la Micro-Entreprise, est une association créée en 1999 et agréée
par le Ministère de Tutelle en 2000. Elle a pour mission de contribuer à la lutte contre la pauvreté à
travers des programmes de microcrédit au profit des pauvres actifs, notamment les femmes, ayant
besoin de petits prêts pour renforcer leurs activités économiques ou entamer de nouvelles activités.
Son intervention s’étale sur tout le territoire marocain notamment dans zones rurales. Développer,
outre le micro-crédit solidaire, de nouveaux produits financiers adaptés aux besoins de certains
secteurs économiques précis et nouer des relations de partenariat avec différentes organisations
locales, nationales et internationales afin d’assurer la complémentarité des actions dans régions
ciblées sont les deux principales composantes de sa vision. La Devise d’INMAA est de « lutter contre
la pauvreté, là où elle est le plus difficile à atteindre ». [W14]
ISMAILIA
L’Association Ismailia pour le micro crédit est une association à but non lucratif créée en 1998.
Sa mission cruciale est d’aider la femme démunie dans le milieu urbain et rural (ville de Meknès et
sa région). [W15]
17
2.3. Les solutions existantes dans le marché mondial
Le type de solutions sur lequel nous voulons travailler prend une place vitale dans le marché de la
microfinance dans le monde, et nombreux sont les institutions du microcrédit qui possèdent une
version mobile pour lancer leurs services en ligne et de se rapprocher plus aux clients. Dans cette
partie on va citer quelques applications mobiles pour analyser les services disponibles ou bien
s’inspirer les interfaces graphiques publiées sur Google Play ou bien App Store pour proposer des
fonctionnalités à ajouter dans notre réalisation du Selfcare.
Enda tamweel
Enda tamweel est une société de microfinance tunisienne agréée par le ministère des Finances le
31 décembre 2015. Créée par l’organisation non gouvernementale Enda interarabe, pionnière dans le
secteur de la microfinance en Tunisie. Enda tamweel a pour objectif de favoriser l’inclusion
économique et sociale des populations vulnérables (notamment les femmes, les jeunes et les
populations rurales) et de contribuer au développement économique du pays. Elle œuvre en particulier
pour la promotion de l’entreprenariat et contribue ainsi à l’effort national pour la promotion de l’auto-
emploi des jeunes et des femmes dans les quartiers et les zones rurales défavorisés. [W17]
Cet acteur adopte la solution mobile pour héberger ses services dedans. Selon les captures que
nous trouvons sur Google Play on peut tirer les fonctionnalités utilisées dans l’application. Cette
dernière est une application bilingue, elle emploie les deux langues arabe et français dans son contenu.
Cette application apporte comme fonctionnalités : la localisation des agences, inscription dans le
cas d’un nouveau client, faire une demande de prêt en remplissant un formulaire donné, un espace
client, un accès pour accéder aux produits de la société, une extension de contacter la société au cas
du besoin ou consultation. Voici quelques interfaces de cette application mobile qui a obtenu plus
que 10.000 de téléchargement au niveau du Google Play.
18
National Microfinance Bank
National Microfinance Bank est une institution jordanienne de microfinance enregistrée en tant
que société par actions privée et agréée par la banque centrale pour fournir des services financiers
conformément aux meilleures pratiques internationales dans le secteur de la microfinance. National
Microfinance Bank a fourni ses services à plus de 80.000 clients via un réseau composé de 33 agences
à travers le royaume jordanien. [W18]
Cette institution travaille aussi avec la solution mobile où elle lance ses services dedans. Selon les
captures des interfaces existantes sur Google Play nous avons pu tirer les fonctionnalités utilisées
dans l’application. Cette dernière est une application bilingue, elle emploie les deux langues arabe et
anglais dans l’affichage de son contenu. L’application du National Microfinance Bank apporte de
riches fonctionnalités à savoir : la localisation des agences, l’authentification pour les clients et
inscription dans le cas d’un nouveau client, consulter les nouveautés, voir les prêts en cours, demander
un nouveau prêt, afficher l’avancement et l’historique des payements du prêt, payement via e-wallet,
définir une alarme pour se notifier lors du prochain lot, afficher les informations de profil, etc.
CovenantMFB
Covenant Microfinance Bank a commencé ses activités le 15 mars 2004 sous le nom de Covenant
University Community Bank Limited (CUCB LTD). Converti en banque de microfinance
conformément à la directive de la Banque centrale du Nigéria à toutes les banques communautaires
et a commencé ses activités le 11 janvier 2008. [W19]
L'application mobile CovenantMFB est une application Nigérienne conçu pour la microfinance.
L'application mobile CovenantMFB est sécurisée et présente une disposition intéressante, rapide et
pratique à utiliser.
Pour cette application solon la discription met en Google play, elle apporte les fonctionnalités
suivantes : consuler le solde du compte en temps réel; transférez de l'argent sur n'importe quel compte,
paiement et factures, recevoir des notifications, authentification pour les clients et inscription dans le
cas d’un nouveau client, etc.
19
Figure 9 : Quelques interfaces de l’application mobile CovenantMFB
Cette application donne un accès instantané et en temps réel à du compte dans Mwaghavul
Microfinance Bank. L'application permet d'effectuer des transactions et de gérer le compte bancaire
à partir de l’appareil mobile. Il est très sécurisé, très simple à utiliser et gratuit pour l’abonnement.
Voici quelques services que la société offre, dont Google Play contient dans sa description sur son
application : afficher les soldes du compte, gérer le compte et pré-visualiser l'historique des
transactions, transferts vers des comptes dans la banque de microfinance Mwaghavul, transferts vers
des comptes dans d'autres banques au Nigéria, gérez les chèques, paiements des factures, demande
de nouveau (s) prêt (s), gérez les prêts, etc.
La Fundación delamujer
La Fundación delamujer est la principale institution de microfinance non réglementée de
Colombie, elle s'est engagée à améliorer la qualité de vie et le progrès des entreprises de ses clients,
20
à soutenir les entrepreneurs de micro-entreprises en fournissant des solutions de microfinance qui leur
permettent d'acquérir des matières premières, de stocker ou d'étendre leurs activités et d'acheter des
machines ou des équipements.
L'établissement dispose d'un espace Service Clientèle et Protection afin de servir le mécanisme
d'écoute de l'utilisateur pour proposer des solutions adaptées à toutes ses exigences. De même, il
dispose d'outils qui renforcent leurs compétences et les motivent à prendre conscience de la gestion
de leur argent, en offrant une éducation financière au client, ce qui en fait un outil efficace pour
prévenir le surendettement.
Il intègre en permanence l'innovation et la numérisation dans la qualité des services qu'il propose,
à travers les derniers dispositifs technologiques qui lui permettent d'aller là où d'autres entités ne l'ont
pas atteint, en raison de la rapidité et de la simplicité des procédures et de l'opportunité de débourser
les prêts, très appréciés par ses clients. [W20]
Sa solution mobile dispose sur les fonctionnalités suivantes : authentification afin d’accéder au
compte personnel, avoir des informations sur les frais impayés, payement en ligne, vérification des
paiements effectués via les canaux numériques. Voici des captures qui illustrent les interfaces de cette
application mobile qui a obtenu aussi plus que 10k de téléchargement au niveau du Google Play.
Il existe un bon nombre d’application mobiles dans le monde qui répondent aux divers services de
la microfinance des différentes institutions. Selon les solutions déjà existantes au niveau mondial que
nous avons cité, nous travaillons sur le même concept que cette solution pour l’intégrer pour sa
première fois au niveau national en combinaison avec les services de l’association Al Amana
Microfinance que fournit à ses clients. Nous avons pu fixer les fonctionnalités que nous proposons
21
de les intégrer dans notre projet Selfcare dont les plus primordiales sont les différentes opérations à
effectuer sur les prêts. Nous allons détailler ces fonctionnalités adoptées dans notre solution dans les
parties qui suivent de ce chapitre.
Une remarque à jouter, la conception des interfaces de ces applications sont bien présentées au
niveau du design et avec une manière conviviale afin que chaque client puisse l’utiliser facilement,
et c’est le même que nous devons aborder durant la réalisation de notre application Selfcare.
L’agent est la personne qui est en contact direct avec les clients. Il va recevoir
les demandes effectuées par le client via le système.
Rappelons-nous que les services sont sous forme de produits financiers et non-financiers que
chaque client peut s’abonner. Les fonctionnalités centrales de l’application sont les opérations à
effectuer sur le service du prêt, qui s’agit d’un produit financier. L’application offre au client un
espace personnel sécurisé pour gérer ses prêts et aussi de bénéficier d’autres services.
Tout est illustré dans un schéma qui montre multiple fonctionnalités et services que le client peut
accéder dans l’application.
22
L’utilisateur installe
l’application Selfcare
L’utilisateur est un
nouveau client Inscription
Authentification
Demander un prêt
Substituer un prêt
Consulter l’historique et
l’avancement du prêt
Hissab Bikhir
Faire une réclamation
Transfert d’argent
Recevoir des
notifications Formation et
Accompagnement
S’informer aux
nouveautés de la société Appui à la
commercialisation
23
2.5. Spécification des besoins
2.5.1. Identification des besoins fonctionnels
Cette section a pour but de développer l'analyse des besoins fonctionnels attendus de la solution.
En effet, l'identification des besoins fonctionnels est une phase importante puisqu'elle doit permettre
aux utilisateurs finaux, de bien comprendre les fonctionnalités que le système fourni. A cet effet,
l’application va permettre aux clients, après l’authentification par un identifiant et un mot de passe,
de bénéficier des divers services de la microfinance, à savoir :
Bref, les besoins fonctionnels que nous avons cité se représentent sous forme des fonctionnalités
attendues de l’application des services de la microfinance qui répondent aux objectifs fonctionnels
mentionnés auparavant.
24
développement. Un cas d'utilisation modélise une fonctionnalité du système, il correspond à un
service visible à l'utilisateur, Il s'agit d'une série d'interactions entre l'acteur et le système qui va se
réaliser.
Dans la figure présentée ci-dessous, nous avons mis le diagramme du cas d’utilisation qui
correspond à notre application dont nous avons précisé les fonctionnalités que le client peut interagir
avec elles.
25
Après que nous avons effectué le diagramme des cas d’utilisation, il est clair que nous venons de
dévoiler la première couche pour la compréhension partielle du fonctionnement de l’application.
Ensuite nous allons détailler quelques fonctionnalités pour savoir comment elles fonctionnent en
utilisant des tableaux dans le but de bien comprendre de quoi elles s’agissent exactement et savoir sur
quelles conditions que chacune a besoin pour travailler.
Sommaire d’identification
Titre : S’authentifier
Permettre au client d’accéder à l’application via un identifiant et un mot de
Résumé :
passe pour bénéficier des services offerts.
Acteur : Client
Description des enchainements
Pré condition : Post condition :
Service web disponible Le client est authentifié et accède à sa page
Serveur de base de données disponible d’accueil.
Identifiant et mot de passe donnés par la
société lors de la création du compte
Scénario nominal :
1) Le client saisit son identifiant et son mot de passe
2) Le client clique sur le bouton connexion
3) Le système vérifie les données de connexion
4) Le client accède à sa page d’accueil
Scénario alternative :
Alt-1) champs vide : le système affiche le message d’erreur « veuillez remplir vos données »
Alt-2) identifiant invalide : le système affiche le message d’erreur « vérifier que l’identifiant soit
valide »
Alt-3) Mot de passe invalide : le système affiche le message d’erreur
Alt-4) Mot de passe oublié : l’acteur peut réinitialiser le mot de passe de l'utilisateur ou bien de le
demander chez la société.
Alt-5) Service web ou serveur de base de données indisponible : le système affiche le message
d’erreur « Une erreur inattendue s'est produite »
26
Description du cas d’utilisation « S’inscrire »
Sommaire d’identification
Titre : S’inscrire
l’utilisateur fait une inscription pour devenir un client, et attend la
Résumé :
confirmation par un agent.
Acteur : Nouveau Client
Description des enchainements
Pré condition : Post condition :
Service web disponible L’utilisateur fait son inscription avec succès et il
Serveur de base de données disponible sera un client après la confirmation.
Scénario nominal :
1) l’utilisateur clique sur le bouton inscription
2) L’utilisateur remplit tous les champs demandés par ses informations
3) Le système vérifie la compatibilité de chaque donnée saisie
4) L’utilisateur confirme son inscription
5) Le système envoie un message à l’utilisateur pour qu’il attende la confirmation de son
inscription.
Scénario alternative :
Alt-1) Le client ne veut pas s’inscrire ou bien il annule son inscription.
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 ».
Sommaire d’identification
Titre : Demander un prêt
le client peut demander un prêt comme étant un nouveau prêt ou bien pour
Résumé :
substituer ses anciens prêts.
Acteur : Client
Description des enchainements
Pré condition : Post condition :
• Client authentifié Le client effectue sa demande avec succès et
• Service web disponible informé de que sa demande est encours de
• Serveur de base de données disponible traitement.
• Pour substituer un prêt le client est supposé
avoir octroyé un ou plusieurs prêts.
Scénario nominal :
27
1) Le client choisit de demander un nouveau prêt ou substituer ses prêts
2) Le client peut simuler le prêt qu’il demande
3) Le client fait sa demande en remplissant les champs demandés
4) Le client confirme sa demande
5) Le système enregistre la demande dans la base de données
6) Le système envoie au client que sa demande et en cours de traitement.
Scénario alternative :
Alt-1) Le client possède un demande non traitée et effectue une autre nouvelle demande
Alt-2) Le client annule se demande du crédit.
Alt-3) Service web ou serveur de base de données indisponible : le système affiche le message
d’erreur « Une erreur inattendue s'est produite »
Sommaire d’identification
Titre : Simuler un prêt
Durant le processus de la demande du prêt, le client a la possibilité
Résumé : de le simuler pour avoir une idée sur la mensualité et la durée de
remboursement.
Acteur : Client
Description des enchainements
Pré condition : Post condition :
• Client authentifié Le client effectue une simulation de son
• Client est en cours d’effectuer une demande de prêt. prêt avant de le demander.
• Service web disponible
• Serveur de base de données disponible
Scénario nominal :
1) Le client entame la demande du prêt.
2) Dans l’étape de la simulation, le client entre le montant qui désire à emprunter.
3) Le système envoie une réponse estimative sur la mensualité et la durée du remboursement.
4) Le client peut ajuster sur un des paramètres mensualité/durée.
5) Le système renvoie une réponse en fonction du paramètre ajusté.
6) Le client décide de continuer ou annuler sa demande du prêt
Scénario alternative :
Alt-1) Le client entre des valeurs (montant, durée) hors de la marge donnée.
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 ».
28
Description du cas d’utilisation «Fixer un Rendez-vous»
Sommaire d’identification
Titre : Fixer un Rendez-vous
Le client reçoit d’un rendez-vous d’après l’agent dont il a la possibilité de
Résumé :
le confirmer ou bien de le reporter.
Acteur : Client
Description des enchainements
Pré condition : Post condition :
• Client a effectué une demande de prêt. Rendez-vous est fixé ou bien reporté à une date
ultérieure.
Scénario nominal :
1) Le client reçoit un rendez-vous proposé par l’agent.
2) Le client a le choix de fixer ou reporter le rendez-vous.
3) Le système enregistre le choix effectué pour l’envoyer à l’agent.
Scénario alternative :
Alt-1) Service web ou serveur de base de données indisponible : le système affiche le message
d’erreur « Une erreur inattendue s'est produite »
Sommaire d’identification
Titre : Trouver une agence
Résumé : Le client peut chercher l’adresse d’une agence quelconque.
Acteur : Client
Description des enchainements
Pré condition : Post condition :
• Client est authentifié. Une adresse de l’agence et numéro d’agent seront
affichés selon la ville et agence sélectionnés.
Scénario nominal :
1) Dans l’interface ‘’Agence‘’, le client choisit une ville.
2) Selon la ville sélectionnée une liste des agences s’affiche, et le client choisit une.
3) Le système génère l’adresse de l’agence et les infos (nom et numéro de tél) de l’agent associé à
cette agence.
Scénario alternative :
Alt-1) Service web ou serveur de base de données indisponible : le système affiche le message
d’erreur « Une erreur inattendue s'est produite »
29
Description du cas d’utilisation «Consulter autres services»
Sommaire d’identification
Titre : Consulter autres services
Résumé : Le client peut consulter et bénéficier à autres services de la société.
Acteur : Client
Description des enchainements
Pré condition : Post condition :
• Client est authentifié. Le client consulte et s’abonne à autres services
• Client a déjà un ou plusieurs prêts depuis l’application.
Scénario nominal :
1) Le client accède à l’espace des autres services.
2) Le client consultes des services.
3) Le client peut activer le service pour le bénéficier.
Scénario alternative :
Alt-1) Service web ou serveur de base de données indisponible : le système affiche le message
d’erreur « Une erreur inattendue s'est produite ».
Sommaire d’identification
Titre : Consulter FAQ
Le client consulte l’espace de la foire aux questions, comme il peut poser
Résumé :
une question au cas où il ne trouve pas la réponse dans l’espace.
Acteur : Client
Description des enchainements
Pré condition : Post condition :
• Client est authentifié. Le client trouve sa réponse dans l’espace FAQ ou
• Client a déjà un ou plusieurs prêts bien il envoie une question qu’elle n’a pas trouvé
sa réponse.
Scénario nominal :
1) Le client accède à l’espace FAQ.
2) Le client cherche la réponse de son questionnement.
3) Sinon le client peut poser sa question et l’envoyer.
4) le système enregistre sa question, dès que les administrateurs contactent le client pour répondre
à sa question.
Scénario alternative :
Alt-1) Service web ou serveur de base de données indisponible : le système affiche le message
d’erreur « Une erreur inattendue s'est produite ».
30
2.5.3. Spécification des besoins non fonctionnels
Ergonomie et convivialité : L’application doit fournir une interface simple et élégante pour le client
afin de faciliter l’exploitation des services de l’application.
Maintenance et évolution : Le code doit être bien lisible, compréhensible et modulaire pour garantir
la souplesse, l’évolution et la maintenance de la solution et ainsi répondre aux changements du
marché.
Sécurité : L’application doit tenir compte de confidentialité des données des clients.
Les contraintes de matériel : L'application sera téléchargée et installée sur un téléphone mobile avec
système d’exploitation Android ou bien iOS.
Dans cette partie, nous allons décrire les scénarios les plus importants ainsi que leurs
représentations par les diagrammes de séquences.
31
Figure 14 : Diagramme de séquence de cas "Authentification"
32
Figure 15 : Diagramme de séquence de cas "Inscription"
Le scénario du cas de « substituer un prêt » et le même, sauf au premier lieu le client doit préciser
le ou les prêt à substituer.
33
Figure 16 : Diagramme de séquence de cas "Demander un prêt"
34
Figure 17 : Diagramme de séquence de cas "Rendez-vous"
Le client peut appuyer sur l’icône du téléphone situé à côté du numéro de l’agent pour l’appeler
directement depuis l’application.
35
Figure 18 : Diagramme de séquence de cas "Trouver une agence"
Quand le client veut faire une réclamation, un formulaire est représenté pour qu’il soit rempli par
des infos et l’objet de la réclamation. Cette dernière s’envoie dès qu’elle sera remplie. L’application
transmet la réclamation à l’API qui la transmet aussi à son tour à la base de données pour le stockage.
Le client reçoit un message de l’envoie de sa réclamation.
36
Figure 19 : Diagramme de séquence de cas "Faire une réclamation / Poser une question"
Nous avons réalisé le digramme de classes suivant pour expliquer la structure intérieure de
l'application mobile Selfcare. Le digramme représente les classes et les interfaces utilisées, ainsi que
les associations qui les relient. La classe principale est la classe située au centre <<Client>> qui
interagit avec tous les autres classes et contient les informations personnelles du client.
Puisqu’on travaille avec la méthode agile, cette structure peut être mise à jour lors du
développement de l’application, en ajoutant autres classes ou modifiant les attributs et méthodes des
classes qui sont affichées dans le diagramme ci-dessous.
37
Figure 20 : Diagramme de classe
38
2.7. Conclusion
Tout au long de ce chapitre nous avons exposé les acteurs qui représentent la microfinance au
Maroc et quelques institutions à l’échelle internationale qui ont réalisé une solution mobile pour leurs
services afin de les fournir d’une façon simple à leurs clients et reste toujours proche eux. Ainsi une
étude fonctionnelle de notre projet à travers un descriptif détaillé des besoins fonctionnels et non
fonctionnels exprimés lors de cette phase du projet. Nous avons procédé aussi à la conception de
l’application en se basant sur les diagrammes de séquences et les diagrammes de classes et clôturant
par l’architecture technique de notre application Selfcare. Les parties traitées dans ce chapitre sont
les plus cruciales pour tout développement informatique. Le prochain chapitre sera focalisé sur l’étude
technique approfondie du projet à la présentation des technologies utilisées.
39
Chapitre 3
TECHNOLOGIE ET ENVIRONNEMENT
TECHNIQUE
Sommaire
3.1. Introduction .............................................................................................................................41
3.2. Environnement de travail ......................................................................................................41
3.2.1. Environnement matériel....................................................................................................41
3.2.2. Environnement logiciel .....................................................................................................42
a. Environnement logiciel pour le design .......................................................................................42
b. Environnement logiciel pour la conception ................................................................................42
c. Environnement logiciel pour la gestion et la planification ..........................................................42
3.3. Technologies utilisées au développement .........................................................................43
3.3.1. Introduction au développement mobile ...........................................................................43
3.3.2. Benchmarking des outils de la technologie choisi ..........................................................45
a. Ionic Vs Flutter .........................................................................................................................45
b. React Native vs. Ionic Angular ..................................................................................................46
c. Comparaison entre plugin Cordova et Capacitor ........................................................................47
3.3.3. Outils de développement adoptés.....................................................................................48
a. Outils de développement utilisés pour la création des interfaces .................................................48
b. Outils de développement utilisés pour la création de l’API .........................................................50
c. Outils de développement utilisés pour la création et la gestion de la BD .....................................50
3.4. Architectures techniques de l’application..........................................................................51
3.4.1. Architecture applicative du système métier de la société ...............................................51
3.4.2. Architecture logicielle de l’application............................................................................52
3.4.3. Architecture technique de l’application ...........................................................................53
3.5. Conclusion ...............................................................................................................................54
40
3.1. Introduction
Après avoir terminé la phase de spécification des besoins et conception, ce chapitre représente les
outils utilisés et les technologies adoptées pour répondre aux différentes exigences spécifiées dans la
phase précédente de la conception. Nous allons procéder par une description et définition théorique
de chacune des technologies, techniques, langages, frameworks et bibliothèques qui ont été utilisées
pour obtenir la solution de notre projet.
ENVIRONNEMENT MATERIEL
Matériel 1
Matériel 2
41
3.2.2. Environnement logiciel
a. Environnement logiciel pour le design
Photoshop est un logiciel professionnel de graphisme qui offre des possibilités
quasiment infinies. Il est utilisé par nombreux de personnes parmi eux les designers
et les professionnels du web et mobile. Ce logiciel puissant nous permet de réaliser
les maquettes de l’application, le logo et des icônes et bien beaucoup de choses,
vraiment c’est un outil très utile dans la réalisation d’un projet web ou mobile. Dans un premier temps,
nous avons eu l’intention d’utiliser Adobe Xd pour la réalisation des maquettes car c’est beaucoup
mieux dans cet environnement, mais nos ordinateurs ne supportent pas sa dernière version.
Gantt Project est un outil de planification qui nous permet de faire un diagramme
de Gantt. Ce diagramme est couramment utilisé en gestion de projet pour représenter
visuellement le plan de travail qu’il faut suivre durant la réalisation du projet. Chaque
tâche réprésenté dans le diagramme est matérialisée par une barre horizontale, dont la position et la longueur
représentent la date de début, la durée et la date de fin. Cet outil a besoin d’installer d’abord
l’environnement Java pour qu’il fonctionne.
42
3.3. Technologies utilisées au développement
3.3.1. Introduction au développement mobile
Le choix de langage pour le développement des applications mobiles dépend en premier lieu du
système d'exploitation avec lequel on veut travailler. A cet effet, on a trois types d'application mobile
à distinguer : applications natives, applications web mobile et applications hybrides.
Application native :
On parle d'applications natives quand on développe une application pour une plateforme spécifique
(iOS, Android, Windows...) et on développe avec un langage spécifique par défaut utilisé par les
plateformes cibles. Par exemple, les langages Swift et Objective-C sont utilisés pour le
développement des applications du système d'exploitation iOS, Kotlin et Java sont utilisés pour le
système d'exploitation Android.
Lorsqu'on développe une application native, on peut accéder à toutes les fonctionnalités du mobile
comme les montres connectées ou la localisation GPS, la caméra, les contacts, l’agenda et d’autres.
Il offre une meilleure ergonomie adapté à chaque appareil mobile.
Il est vrai que les applications natives se caractérisent par la meilleure résolution, performance et
qualité pour une meilleure interactivité, sauf qu’elles possèdent des inconvénients aussi et l’un des
points négatifs de ce genre d'applications durant la réalisation est qu'il faut développer une version
différente pour Android et pour iOS car une application mobile iPhone ne fonctionne pas sur Android
et vise vers ça. Cela signifie qu’on doit développer spécifiquement pour chaque plate-forme, ce qui
peut entraîner un budget et une taille d'équipe plus importants. Supposant qu’on souhaite publier
l'application pour iOS et Android, le temps de développement est donc multipliée par deux et chaque
plateforme possède son langage et nécessite un apprentissage important pour avancer.
43
Ce type d'application est facile à maintenir car elle ne nécessite pas de mise à jour par l'utilisateur,
ni la mise en place de processus d'approbation. Par contre, il n'y a pas l'accès aux API natives ni à la
plateforme. Il est aussi difficile de créer des applications conviviales sur ce type.
Applications hybrides :
Cette solution est une combinaison, d'où le nom hybride, de solutions natives et Web. Où le cœur
de l'application est écrit à l'aide des technologies Web (HTML, CSS et JavaScript), qui sont ensuite
encapsulées dans une application native. Grâce à l'utilisation de plugins, ces applications peuvent
avoir un accès complet aux fonctionnalités de l'appareil mobile tel que les applications de type natif.
Le cœur d'une application mobile hybride n'est encore qu'une application écrite en HTML, CSS et
JavaScript. Cependant, au lieu que l'application soit affichée dans le navigateur de l'utilisateur, elle
est exécutée à partir d'une application native et de son propre navigateur intégré, qui est
essentiellement invisible pour l'utilisateur. Ce code est ensuite intégré dans un wrapper d'application
natif à l'aide d'une solution comme Apache Cordova ou Capacitor. De plus, ces deux derniers ont un
système de plug-in qui permet d'étendre au-delà des limites du ‘’navigateur‘’ et d'accéder à la suite
complète des capacités de l'appareil mobile d'un utilisateur, d’où l’avantage de la simplicité et le cout
réduit du développement car avec le même code de base on peut réaliser une application pour les
différentes plateformes.
Alors, quel est le bon choix du type pour notre application mobile ?
44
peu plus de compréhension pour mailler la solution ensemble, ainsi que l'utilisation d'une bibliothèque
d'interface utilisateur pour aider à la bonne présentation de note interface utilisateur, ces défis sont
connus et peuvent être facilement résolus avec un bon Framework, comme Ionic.
a. Ionic Vs Flutter
Dans cette partie, on va citer Ionic et Flutter comme étant des outils les plus utilisés et actuels pour
développer les applications mobiles du type hybride.
Ionic :
Le framework Ionic est une boîte à outils d'interface utilisateur UI open source pour créer des
applications mobiles et desktops performantes et de haute qualité à l'aide des technologies Web à
savoir : HTML, CSS et JavaScript avec des intégrations pour les frameworks populaires comme
Angular et ReactJs.
Ionic est conçu pour fonctionner et se comporter parfaitement sur les derniers appareils mobiles
avec les meilleures pratiques. Il est conçu pour fonctionner et s'afficher magnifiquement sur tous les
appareils et plates-formes mobiles actuels. Avec des composants prêts à l'emploi, une typographie et
un thème de base magnifique qui s'adapte à chaque plate-forme.
L’Ionic est une solution multiplateforme. En effet, on peut créer et déployer des applications qui
fonctionnent sur plusieurs plates-formes, telles que l’iOS, Android, le bureau et le Web en tant
qu'application Web progressive, le tout avec une seule base de code.
Flutter :
Flutter est une boîte à outils d'interface utilisateur open source de Google pour créer de belles
applications compilées en mode natif pour mobile, web et bureau à partir d'une base de code unique.
Le langage principal de Flutter est le Dart, un langage peu connu datant de 2011. Bien qu'il existe
depuis un certain temps, peu de développeurs le connaissent aujourd'hui (moins de 2%, selon
l'enquête StackOverflow 2019), et c'est rarement utilisé en dehors de la communauté Flutter. Il utilise
le même compilateur Dart pour générer du JavaScript qui s'affichera dans le navigateur.
Lors de la construction pour mobile, Flutter utilise le compilateur Dart pour convertir le code Dart
en code machine natif qui s'exécutera sur la plate-forme de l'appareil, ainsi qu'un moteur de rendu
personnalisé pour afficher l'interface utilisateur dans une application mobile. Flutter propose sa
propre bibliothèque de widgets d'interface utilisateur.
45
Un tableau ci-dessous montre les caractéristiques de l’Ionic et Flutter afin de comparer ces deux
boîtes d’outil.
Flutter Ionic
Langage du
Dart HTML, CSS, JS
développement
Éléments UI Widgets Composants Web
Performances
Excellentes Très bien
mobiles
Performances
Faibles Excellentes
web
Options de
Mobile, Desktop, Web Mobile, Desktop, Web, PWA
déploiement
Ionic et Flutter sont deux technologies conçues pour la création des belles applications hautes
performances et multiplateformes, mais c'est là que s'arrêtent les similitudes. Le principe directeur de
l’Ionic est d'utiliser la plate-forme Web et d'adopter des normes ouvertes dans la mesure du possible.
La réalisation avec Ionic comprend les outils et les langages du Web, en utilisant un cadre conçu pour
offrir d'excellentes performances sur mobile, desktop et en particulier sur le Web. Flutter, en
revanche, a choisi de faire cavalier seul, créant un écosystème autonome en contradiction avec les
langages, les outils et les normes communs que l'on trouve dans le monde du développement en
général. Flutter offre de très bonnes performances sur mobile, les limitations fondamentales de son
architecture en font un mauvais choix pour les déploiements basés sur le Web.
46
Ionic Angular est un projet d'interface utilisateur open source et d'API native composé de
composants d'interface utilisateur multiplateforme et de fonctionnalités natives pour la création
d'applications iOS, Android à l'aide de l’Angular et de la technologie Web standard. Ionic Angular
est la version officielle Angular du framework Ionic. Et le même principe s’applique sur Ionic React.
Ionic Angular prend officiellement en charge iOS, Android, Electron et le Web à l'aide de la
technologie Progressive Web App PWA, en revanche, React Native est une bibliothèque d'interface
utilisateur avec prise en charge officielle des applications iOS et Android (il existe des projets non
officiels qui ajoutent une prise en charge de bureau et Web).
Avec React Native, les développeurs apprennent un ensemble de concepts, puis créent des écrans
d'interface utilisateur spécifiquement pour iOS et spécifiquement pour Android. Par contre, les
applications Ionic Angular exécutent la même interface utilisateur sur toutes les plates-formes, en
utilisant une conception Web réactive, des CSS et des utilitaires de détection de plate-forme pour
permettre aux développeurs de personnaliser une application pour des plates-formes spécifiques s'ils
le souhaitent. En effet, React Native adopte une approche ‘’apprendre une fois, écrire n'importe où‘’,
tandis que l’Ionic adopte une approche ‘’écrire une fois, exécuté n'importe où‘’.
Ajoutant qu’Ionic Angular utilise ce que l'équipe ionique appelle le style adaptatif pour mapper
les concepts de base de l'interface utilisateur tels que la navigation, les onglets, les barres d'outils et
les boutons aux attentes de la plate-forme, tout en permettant une personnalisation complète du
concepteur. React Native exige que les développeurs créent des écrans spécifiquement pour chaque
plate-forme.
Ionic Angular et React Native sont tous les deux un excellent choix pour la création des
applications mobiles. Pour les équipes ciblant uniquement iOS et Android et avec des développeurs
natifs plus traditionnels ou des développeurs JavaScript avancés et un référentiel existant de contrôles
natifs, React Native peut être un meilleur choix. Cela explique pourquoi React Native est populaire
auprès des startups d'applications grand public qui ont un historique de développement d'applications
natives. Et pour les équipes qui ont des compétences traditionnelles en développement Web et de ses
bibliothèques et qui souhaitent cibler le mobile et le Web, Ionic Angular sera probablement mieux
adapté. Cela explique pourquoi Ionic a réussi avec des startups et des équipes d'entreprise avec plus
d'une histoire de développement Web.
47
Capacitor :
Capacitor est un projet open source qui exécute des applications Web modernes en natif sur iOS,
Android, Electron et Web en utilisant la technologie Progressive Web App, tout en fournissant une
interface puissante et facile à utiliser pour accéder aux SDK natifs et aux API natives sur chaque
plate-forme.
À l'aide de Capacitor, les développeurs peuvent créer une application et cibler un ensemble d'API,
quelle que soit la plate-forme sur laquelle l'application s'exécute, par opposition à la gestion de
plusieurs API pour chaque plate-forme cible. Cela signifie que, par exemple, l'accès à la caméra utilise
le même code sur iOS / Android que sur Electron et sur le Web. Cela facilite la création d'une
application Web qui s'exécute en mode natif sur mobile, sur ordinateur et sur le web en tant
qu'application web progressive. D’une manière simple, Capacitor fournit un ensemble d'API cohérent
et axé sur le Web qui permet à une application de rester aussi proche que possible des normes Web,
tout en accédant à de riches fonctionnalités de périphérique natif sur les plates-formes qui les prennent
en charge.
Il est important de mentionner que Capacitor peut fonctionner avec n'importe quel projet web, il
n'est pas spécifique à Ionic et il est indépendant de sa version, il fonctionne avec Ionic v1 à v5 et tout
ce qui viendra à l'avenir. Il peut être utilisé comme un point d'accès à tout projet JavaScript moderne
existant.
Cordova :
Apache Cordova est un framework de développement mobile open-source. Il permet d'exploiter
les technologies Web courantes telles que HTML5, CSS3 et JS pour développer des applications
mobiles multiplateformes, évitant ainsi l'utilisation des langages natifs propres aux différentes plates-
formes. Les applications s'exécutent dans des cadres ciblés selon chaque plate-forme, elles s'appuient
sur des API conformes aux standards permettant l'accès aux capteurs de chaque appareil, aux données
ainsi qu'à l'état du réseau.
Apache Cordova s’utilise pour étendre une application à plusieurs plateformes sans avoir à ré-
implémenter celle-ci dans chacun des langages et avec chacun des outils propres aux différentes
plates-formes. Ainsi la combinaison de composants de l'application native avec une webview (fenêtre
de navigateur spécial) qui peut accéder aux API de niveau périphérique. En outre, une interface de
plugins est disponible à Cordova et les composants natifs pour communiquer entre eux, cela permet
d'invoquer le code natif de JavaScript.
48
Ionic
A travers la recherche et l’étude technique que nous venons d’effectuer, nous avons choisi le type
de développement hybride afin de bénéficier de la compatibilité sur une variété de plates-formes, et
on va travailler avec la boîte d’outil Ionic en utilisant le framework Angular.
Ionic est un framework à base des tags comme HTML donc c’est simple et compréhensible dans
son utilisation, il propose une gamme de composants bien stylé est qui sont adapté selon le système
d’exploitation utilisé (iOS ou bien Android).
Angular
Pour le choix précédent nous avons choisi la combinaison Ionic/Angular, pour bénéficier par la
suite des composants d’Angular Material.
Angular est un framework JavaScript côté client qui permet de réaliser des
applications de type "Single Page Application". Il est basé sur le concept de
l'architecture MVC (Model View Controller) qui permet de séparer les données, les
vues et les différentes actions que l'on peut effectuer.
Angular Material
Material est un module d'Angular, c'est un module d'intégration qui permet
d'obtenir facilement des composants responsives qui sont prêts à l’utilisation, il
suffit de les personnaliser. C’est comme le principe de Bootsrap pour l’utilisation.
TypeScript
C’est un langage open source, développé comme étant un sur-ensemble de
JavaScript. C’est-à-dire, c’est que tout code exécutable en JavaScript l’est aussi en
TypeScript. Ce langage introduit des fonctionnalités comme la programmation
orientée objet et bien autres, etc. Pour pouvoir bénéficier de ces fonctionnalités
aucune librairie n’est requise. Il suffit d’utiliser l’outil de compilation de TypeScript pour le transpiler
(C’est le fait de compiler le code source d’un langage informatique quelconque en un autre langage)
en JavaScript car les navigateurs ne comprend pas TypeScript c’est pourquoi ce langage subit la
compilation en JavaScript. Ainsi, le code exécuté sera un équivalent JavaScript du code TypeScript
compilé.
49
CSS
CSS désigne Cascading Style Sheets. Il s'agit d'un langage de style dont il
s’intéresse à la mise en forme du contenu intégré avec du HTML. Avec CSS on peut
faire beaucoup de choses, c’est un outil indispensable dans les technologies web qui
nous permet de mette le design de nos page web. Il est devenu couramment utilisé
dans la conception des sites web et bien pris en charge par les navigateurs web.
Cordova
Apache Cordova est un framework de développement
mobile open-source. Il permet d'exploiter les technologies
Web courantes telles que HTML5, CSS3 et JS pour développer
des applications mobiles multiplateformes, évitant ainsi l'utilisation des langages natifs propres aux
différentes plates-formes. Son rôle est de permettre l'accès aux capteurs de chaque appareil, aux
données ainsi qu'à l'état du réseau pour des utilisations spécifiques dans l’application à développer.
Dans notre application nous avons créé une API à l’aide du NodeJs, afin de gérer le côté serveur de
l’application. Son développement est fait grâce à l’utilisation du framework Express.
Express est une infrastructure d'applications Web [Link] flexible qui fournit un ensemble de
fonctionnalités robuste pour les applications modernes Web et mobiles. Grâce à une gamme de
méthodes utilitaires HTTP et de middleware, la création d'une API devient simple et rapide.
Dans un premier temps, nous avons créé notre base de données sur nos environnements matériels
mais l’accès aux données ne se fait que localement dans nos ordinateurs. C’est pourquoi on a pensé
à la solution MongoDB Atlas pour que l’accès soit en ligne. MongoDB fournit un service Cloud où
chaque user peut créer un compte gratuitement avec 512MB de stockage, pour plus d’espace il doit
50
passer en mode payement. Grâce à cette utilisation du Cloud, on a la possibilité d’envoyer et/ou
recevoir des données en ligne.
Le système IBM AS400 est un mini-système IBM fiable, facile à gérer, et doté d'une base de
données intégrée. Cette machine est couramment utilisée dans des environnements de production ou
de gestion comprenant de 20 à quelques milliers d'utilisateurs. L’AS400 fonctionne avec le système
d'exploitation OS400 qui est caractérisé par son indépendance technologique, en effet l’architecture
AS400 assure une réelle indépendance entre la partie matérielle et le système d'exploitation OS400.
EvolanPack est constituée sur la base d'un progiciel bancaire unique totalement intégré, mais
distribuée sous forme de modules pouvant fonctionner de façon indépendante en fonction des besoins.
Al Amana a adopté Evolan pour le suivi des prêts et pour gérer des bases de données. Les données
sont saisies via une interface web qui alimente en temps réel la base de données interne.
L’application Selfcare envoie ses requêtes vers le Serveur HTTP et c’est lui-même qui décide quel
Web service est censé à traiter la requête. Premièrement toutes les données sont enregistrées dans la
51
base de données externe. Ensuite, une fois validées par l'EvolanPack, elles seront directement
transmises vers la base de données interne.
Ionic & Angular : C'est la partie où se trouve le code Front-end de Selfcare. L'application elle-
même est mise en œuvre sous la forme des pages web et des services web, par défaut un fichier local
nommé [Link], qui fait référence à des codes CSS/SCSS, Ionic, HTML et TypeScript ou autres
ressources nécessaires à son fonctionnement organisé avec le Framework Angular. Ce conteneur
contient un fichier très important le fichier [Link] qui fournit au Cordova des informations sur
l'application et spécifie les paramètres affectant son fonctionnement sur l’appareil Mobile. [W22]
Cordova & Plugins : Les plugins font partie intégrante de l'écosystème de Cordova. Ils fournissent
une interface permettant à Cordova et aux composants natifs de communiquer entre eux et de se lier
à des API des appareils Mobile. Cela permet d'invoquer du code natif à partir de TypeScript. Ces
plugins de base permettent à l’application d'accéder aux fonctionnalités des appareils Mobile. [W22]
52
3.4.3. Architecture technique de l’application
NodeJs & ExpressJs : Pour tester les services sur lesquels repose notre application, nous avons
utilisé un ensemble de micro services de type REST construits avec ExpressJs qui est un Framework
d'application web de NodeJs qui fournit un ensemble robuste de fonctionnalités pour les applications
web et mobiles. L’application communique avec la passerelle API Gateway qui communique à son
tour avec l'API souhaitée du micro service.
Heroku Cloud : Heroku est une plate-forme en tant que service (PaaS) qui nous permet de créer,
d'exécuter et d'exploiter nos APIs REST entièrement dans le Cloud, de sorte que lorsque l'application
est exécutée sur un appareil mobile connecté à l’internet, les requêtes provenant d’elle sont envoyées
aux services déployés sur Heroku.
MongoDB Atlas : MongoDB est un programme de base de données multiplateforme orienté vers
les documents tandis que MongoDB Atlas est le service mondial de base de données dans le Cloud
pour les applications web et mobile. Il nous a donné la possibilité de stocker, retirer et récupérer des
données tout en testant notre application en ligne.
53
3.5. Conclusion
Tous au long de ce chapitre, nous avons mené une étude de l’environnement de notre projet à
travers un descriptif des technologies et outils qu’on a utilisé durant la réalisation de ce projet. Le
prochain chapitre sera le dernier volet de ce rapport où nous allons se focaliser sur les résultats et
l’implémentation de nos travaux.
54
Chapitre 4
Sommaire
4.1. Introduction .............................................................................................................................56
4.2. Présentation des tâches du workflow .................................................................................56
4.3. Partie du design de l’application .........................................................................................59
4.3.1. Design des maquettes........................................................................................................59
4.3.2. Création logo de l’application ..........................................................................................60
4.4. Travail réalisé de l’application ............................................................................................61
4.4.1. Ticket R01 : Authentification ...........................................................................................61
4.4.2. Ticket R02 : Inscription ....................................................................................................62
4.4.3. Ticket R03 : Home ............................................................................................................62
4.4.4. Ticket R04 : About ............................................................................................................63
4.4.5. Ticket R05 : Mon compte .................................................................................................63
4.4.6. Ticket R06 : Profil.............................................................................................................64
4.4.7. Ticket R07 : Notifications ................................................................................................64
4.4.8. Ticket R08 : Localisation des agences .............................................................................65
4.4.9. Ticket R09 : Réclamations ...............................................................................................65
4.4.10. Ticket R10 : Rendez-vous ................................................................................................66
4.4.11. Ticket R11 : Actualités et Evénement .............................................................................66
4.4.12. Ticket R12 : Histoires et Témoignages............................................................................67
4.4.13. Ticket R13 : FAQ ..............................................................................................................67
4.4.14. Ticket R14 : Autres Services ................................................................................................68
4.4.15. Ticket R15 : Mes Prêts......................................................................................................69
4.5. La validation des besoins non fonctionnels de Selfcare .................................................71
4.6. Conclusion ...............................................................................................................................72
55
4.1. Introduction
Cette partie, de la mise en œuvre du projet, constitue le dernier volet du rapport. Après avoir
terminé la phase de la spécification et la conception, la phase du choix des technologies et
environnements techniques à utiliser, il nous reste qu’à illustrer les fonctionnalités implémentées pour
notre application Selfcare en montrant quelques interfaces réalisées tout en expliquant comment ces
fonctionnalités répondent aux différents besoins des clients.
L’idée du workflow Kanban est de créer un ou des tableaux dont les colonnes représentent des
listes d’activités séquentielles et dans lesquelles se trouvent des cartes/tickets qui représentent des
tâches spécifiques à réaliser, et qui circulent d’une colonne à une autre afin de savoir facilement à
quelle étape du processus se trouve chacune des tâches.
Le workflow de notre projet Selfcare sera présenté dans le tableau ci-dessous, d’une manière
simple, en listant l’Id, le titre et l’illustration de chacune des tâches réalisées ou en cours de réalisation
selon les champs suivants :
ID Ticket Illustration
Titre : Authentification
Nb de tâches : 05
R01
Complexité : Difficile
Etape : Fini
56
Titre : Inscription
Nb de tâches : 04
R02
Complexité : Facile
Etape : Fini
Titre : Profil
Nb de tâches : 05
R06
Complexité : Moyenne
Etape : Fini
Titre : Notification
Nb de tâches : 04
R07
Complexité : Difficile
Etape : Fini
Titre : Réclamation
Nb de tâches : 04
R09
Complexité : Moyenne
Etape : Fini
57
Titre : Rendez-vous
Nb de tâches : 06
R10
Complexité : Moyenne
Etape : Fini
Tous ces tickets sont gérés et présentés sur la plateforme Trello comme il est indiqué dans le
premier chapitre dans la partie de la planification du projet. Notre workflow sur Trello est structuré
en quatre colonnes (To Do, In Progress, Test, Done) qui représentent les étapes dont les tickets se
déplacent durant leur réalisation.
58
4.3. Partie du design de l’application
4.3.1. Design des maquettes
A l’aide de l’Adobe Photoshop, nous avons concrétisé nos idées en réalisant ces interfaces ci-
dessous qui représentent le design de notre application Selfcare. Cette maquette est un prototype
visuel qui nous donne une vision sur les scénarios d’usage déjà déterminés dans les chapitres
précédents. Il se peut que dans le développement sera un peu différent selon la possibilité de
manipulation du code, mais cette partie est indispensable dans le processus du développement car il
nous permet d’avoir un aperçu plus réaliste de notre futur application.
59
Figure 26 : Design de la maquette 2 du Selfcare (Suite)
60
Figure 27 : Logo de l'application Selfcare
Durant le développement de l’application nous avons changé un peu l’apparence des interfaces sur
ce qui est présenté dans le design des deux maquettes précédentes. Autrement dit, nous avons réalisé
d’une manière un peu différente l’apparence de quelques composants dans les interfaces de
l’application et cela revient à la difficulté de manipulation de certains composants qui sont prêts à
l’utilisation proposés par la communauté de l’Ionic et de l’Angular Material.
La présentation des résultats obtenus du développement sera traitée selon les tâches de réalisation
décrites dans les cartes/tickets du workflow.
61
Figure 28 : Sliders et Authentification
62
4.4.4. Ticket R04 : About
Cette page contient un texte à propos de l’application et de la société. Aussi, il est possible de
retourner à cette interface depuis n’importe quelle fenêtre de l’application en cliquant sur -A Propos-
situé en bas de l’interface.
63
4.4.6. Ticket R06 : Profil
Est une interface pour consulter toutes les informations de chaque user qui sont groupées selon
trois catégories : informations personnelles, contacts et localisation. Option de mis à jour est
disponible dans le cas de besoin. En plus, un avatar qui remplace l’image personnelle du client et qui
se change selon son sexe.
64
4.4.8. Ticket R08 : Localisation des agences
Dans cette page l’utilisateur sélectionne la ville et l’application à son tour prend ce choix et
l’envoie à l’API. Cette dernière retourne comme résultat des cartes qui contiennent l’adresse, le nom
de l’agent et son numéro qui se situe dans la ville sélectionnée. Grâce à un plugin dans cordova,
l’utilisateur peut passer l’appel à l’agent depuis l’application en cliquant sur son numéro.
65
4.4.10. Ticket R10 : Rendez-vous
Cette page liste l’historique des rendez-vous déjà effectués. A chaque fois que l’application affiche
une notification d’un rendez-vous, son objet contient deux choix soit de confirmer ou de reporter.
Dans le premier choix un rendez-vous qui s’ajoute à l’historique, et dans le deuxième choix une autre
page particulière sera affichée qui permet de fixer les paramètres (date et heure) ensuite enregistrer
ce nouveau rendez-vous dans l’historique, et faire une mise-à-jour au niveau de la base de données
sur les anciens paramètres.
66
4.4.12. Ticket R12 : Histoires et Témoignages
Cette page à contient d’une manière réduite les histoires de réussites des micro-entrepreneurs qui
appartiennent à la grande famille des clients de Al Amana Microfinance. Pour découvrir en détail
l’histoire et le contact de chaque témoin il suffit de cliquer sur Voir Son Profil qui dirige vers une
autre page pour afficher ce détail.
67
4.4.14. Ticket R14 : Autres Services
Cette rubrique contient une gamme de services que l’association offre à ses clients, à savoir :
Tayssir Al Amana Appui A La Commercialisation
Hissab Bikhir Participer Au Concours
Transfert d’Argent Showroom Vente En Ligne
Accompagnement Et Formation
68
4.4.15. Ticket R15 : Mes Prêts
Le service des prêts offert par la société est géré par cette rubrique. Une interface qui affiche tous
les micro-crédits qui sont groupés en prêts actifs, demandes en cours et prêts remboursés. L’utilisateur
peut cliquer sur chaque icône de crédit pour afficher son avancement détaillé et son historique de
remboursement.
L’utilisateur possède l’option de faire diverses opérations sur les prêts. Lorsqu’il clique sur le
bouton du trois points verticaux qui se situe en haut à droite dans l’interface de Mes Prêts, un menu
s’affiche et contient des items sous forme des boutons qui permettent d’effectuer les opérations
suivantes :
69
Dans cette opération, l’utilisateur va suivre ce processus en dessus pour faire une demande d’un
nouveau prêt et un item sera ajouté dans l’interface de Mes Prêts sous le groupe Demande En Cours
qui permet à l’user de suivre l’état d’avancement de sa demande.
70
Demander un payement anticipé
Cette opération permet à l’utilisateur le droit à anticiper le payement de ses prêts, il suffit de faire
la demande qui est clarifiée dans la figure qui suit.
Pour la rapidité et la robustesse, NodeJS a fait ses épreuves dans ce côté. En effet, cette technologie
est rapide car elle utilise la version 8 du moteur développé par Google qui compile JavaScript en code
machine natif. Grâce à NodeJS la lecture et l'écriture dans la base de données s'effectuent rapidement.
La figure ci-dessous représente un exemple de vitesse de réponse pour un appel vers l’API
authentification.
71
Figure 47 : Panneau de chronométrage pour la réponse à un appel vers l'API
Concernant la sécurité, nous avons adopté le standard des « JSON Web Token » : le jeton JWT est
généré par le serveur lors de l’authentification d’un utilisateur, et qui est ensuite transmis à
l’application pour le stocker et lui rendre avec chaque requête HTTP au serveur, ce qui lui permettra
d’identifier l’utilisateur. Pour ce faire, les informations contenues dans le jeton sont signées à l’aide
d’une clé privée détenue par le serveur.
Finalement, pour les contraintes de matériel, Cordova et Ionic jouent un rôle important dans
l'extension de notre application dans diverses plateformes du mobile (Android, iOS et autres).
4.6. Conclusion
Dans cet ultime chapitre nous avons présenté les résultats du projet en illustrant cela à travers des
captures d’interfaces de notre application Selfcare. En plus, il y en a autres illustrations qui ne sont
pas présenté dans ce chapitre, à propos de la base de données fait par Mongo Atlas et les tâches suivis
pour créer chaque fonctionnalité décrites sur Trello. Le test des résultats est fait par plusieurs manières
à l’aide des outils suivants : POSTMAN, Chrome Developer Tools et sur nos propre smartphone.
72
Conclusion Générale Et Perspective
Dans le cadre de ce Projet de Fin d’études, notre mission est déterminée au développement des
diverses fonctionnalités d’une solution mobile dénommée Selfcare qui fait partie du domaine de la
microfinance. Cette solution vient dans un contexte de digitalisation du processus de gestion des
micro-crédits et autres service supplémentaires pour les clients de l’association Al Amana
Microfinance. Notre contribution dans ce projet a commencé par une étude de benchmarking des
outils existants sur le marché mondial, ensuite nous avons entamé la spécification des besoins et la
conception, le design des maquettes, et finalement nous avons commencé à implémenter les
fonctionnalités en s’appuyant sur le processus de développement Agile-Kanban.
Ce stage de fin d’étude nous a été très bénéfique, il nous a aidé à projeter des connaissances
acquises durant notre formation d’ingénieur à l’Institut National des Postes et Télécommunications
(INPT) et nous a permet de s’auto-former sur de nouvelles technologies. Une forte valeur ajoutée
réside dans l’apprentissage des nouveaux concepts et outils mobiles qui sont actuellement la tendance
du domaine de développement, ainsi que l’adoption d’une méthodologie agile qui nous a permis une
marge de flexibilité pour innover et créer plus de valeur. Encore plus, cette expérience nous a aidé à
intégrer le monde professionnel, l’interaction et le travail au sein d’une équipe qui ont rendu ce projet
une expérience professionnelle très réussie.
73
Bibliographie
74
Webographie
75
Travail Réalisé Par
Membres du Jury
KHALLAAYOUNE Jamal
Professeur à l’INPT
INPT
Encadrant Externe
EL KORICHI Mostafa
WebMaster
Al Amana microfinance
76
77