0% ont trouvé ce document utile (0 vote)
11 vues94 pages

CV de Randrianarison N'Isaïe David

Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
11 vues94 pages

CV de Randrianarison N'Isaïe David

Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

CURRICULUM VITAE

RANDRIANARISON N’Isaïe Nirina David


Né le 19 Juin 2003 à Ambositra
Adresse Physique : Lot 01 F 80 Alakamisy Ambositra (306)
Adresse Téléphonique : +261 34 20 196 03
Adresse Electronique : isaierand@[Link]

FORMATIONS ET DIPLOMES

2022 – 2023 : Ecole Nationale d’Informatique (ENI)


Etudiant en Troisième année de la Formation en Licence Professionnelle.
Parcours : Génie Logiciel et Base de données (GB)
2021 – 2022 : Ecole Nationale d’Informatique (ENI)
Etudiant en Deuxième année de la Formation en Licence Professionnelle.
Parcours : Génie Logiciel et Base de Données (GB)
2020 – 2021 : Ecole Nationale d’Informatique (ENI)
Etudiant en Première année de la Formation en Licence Professionnelle.
Parcours : Génie Logiciel et Base de Données (GB)
2019 – 2020 : Alliance Française
Obtention du Diplôme d’Etude en Langage Française B1 et B2
2018 – 2019 : Lycée RAKOTOARISOA Ambositra
Obtention du Baccalauréat série C
2017 – 2018 : Lycée RAKOTOARISOA Ambositra
Obtention du Baccalauréat série A2
EXPERIENCES PROFESSIONNELLES

2022 – 2023 : Stage pratique au sein de la société SOFTLAB Antananarivo


Thème traité : « Conception et mise en place d’un système de portefeuille en
ligne », avec les technologies ReactJS et NodeJS
Durée : 3 mois
Travaux Pratiques au sein de l’Ecole Nationale d’Informatique :
 Réalisation de deux projets avec JAVA
 Réalisation d’un projet avec Flutter/ Dart
 Réalisation d’un projet avec NodeJS
2021 – 2022 : Stage pratique au sein de l’ONN Antananarivo

I
Thème traité : « Conception et Réalisation du site web de l’Office National de
Nutrition », avec les technologies Laravel et ReactJS
Durée : 3 mois
Travaux Pratiques au sein de l’Ecole Nationale d’Informatique :
 Réalisation d’un projet avec PHP
 Réalisation d’un projet avec C#
2020 – 2021 : Stage pratique au sein de l’Ecole Nationale d’Informatique (ENI)
Thème traité : « Conception et réalisation d’une application pour la gestion

Bibliothécaire », sous Qt.


Durée : 2 mois
COMPETENCES INFORMATIQUES
 Systèmes d’exploitation : Windows (7, 10, 11)
 Langages de programmation : C++, C#, Dart
 Technologie web : HTML5, CSS3, JavaScript, NodeJS, PHP
 Framework : Laravel, Express, Tailwind CSS
 Bibliothèques : ReactJS, VueJS
 Systèmes de gestion de base de données : MySQL, ORACLE, SQLite
 Méthode de conception : Merise 2, 2TUP
 Langage de modélisation : UML
 Outils de développement : Visual Studio Code, Eclipse, Code Blocks
 Outils bureautiques : Microsoft Word, Excel, Power Point

COMPETENCES LINGUISTIQUES

APTITUDE
COMPREHENSION EXPRESSION
LANGUES ORALE ECRITE ORALE ECRITE
FRANÇAIS TB TB TB TB
ANGLAIS AB B B B

DIVERS ET ACTIVITES EXTRA-CURRICULAIRES

 Sports : Natation, Basket


 Musique : Guitare
 Autres : Bénévolat, Voyage

II
SOMMAIRE

Contenu
CURRICULUM VITAE.........................................................................................................................I
SOMMAIRE...........................................................................................................................................III
REMERCIEMENTS................................................................................................................................V
LISTE DES FIGURES...........................................................................................................................VI
LISTE DES TABLEAUX...................................................................................................................VIII
LISTE DES ABREVIATIONS..............................................................................................................IX
INTRODUCTION GENERALE..............................................................................................................1
PARTIE I : PRESENTATIONS.............................................................................................................2
Chapitre 1. Présentation de l’Ecole Nationale d’Informatique......................................................3
[Link] d’ordre générale...........................................................................................3
[Link] et historiques......................................................................................................3
[Link] institutionnel...........................................................................................5
[Link] de spécialisation.................................................................................................6
[Link] des formations pédagogiques.......................................................................6
[Link] de l’ENI avec les organismes externes................................................................8
1.7.Débouchés professionnels et diplômés..............................................................................8
[Link] humaines......................................................................................................10
Chapitre 2. Présentation de SOFTLAB..........................................................................................11
[Link] d’Identification......................................................................................................11
[Link] : Mission / Activités.........................................................................................11
[Link] (organigramme général)............................................................................11
Chapitre 3. Description du projet..................................................................................................12
3.1 Formulation....................................................................................................................12
3.2 Objectif et besoins des utilisateursbes.............................................................................12
3.3 Moyens nécessaires à la réalisation du projet.................................................................13
3.4 Résultats attendus...........................................................................................................14
3.5 Chronogramme d’activité...............................................................................................15
PARTIE II : ANALYSE ET CONCEPTION.......................................................................................16
Chapitre 4. Analyse préalable.........................................................................................................17
4.1 Analyse de l’existant.......................................................................................................17
4.2 Critique de l’existant......................................................................................................18

III
4.3 Conception avant-projet.................................................................................................18
Chapitre 5. Analyse conceptuelle....................................................................................................33
5.1 Présentation de la méthode 2TUP...................................................................................33
5.2 Dictionnaire des données.................................................................................................33
5.3 Règle de gestion...............................................................................................................35
5.4 Représentation et spécification des besoins.....................................................................36
5.5 Spécification des besoins techniques...............................................................................51
5.6 Modélisation du domaine................................................................................................52
Chapitre 6. Conception détaillée.....................................................................................................53
6.1 Architecture du système..................................................................................................53
6.2 Diagramme de séquence de conception pour chaque cas d’utilisation............................54
6.3 Diagramme de classe de conception pour chaque cas d’utilisation.................................63
6.4 Diagramme de classe de conception globale....................................................................66
6.5 Diagramme de paquetages..............................................................................................66
6.6 Diagramme de déploiement............................................................................................67
PARTIE III : REALISATION...............................................................................................................68
Chapitre 7 : Mise en place de l’environnement de développement.............................................69
7.1 Installation et configuration des outils............................................................................69
7.2 Architecture de l’application..........................................................................................71
Chapitre 8 : Développement de l’application.................................................................................73
8.1 Création de la base de données.......................................................................................73
8.2 Codage de l’application...................................................................................................74
8.3 Présentation de l’application..........................................................................................76
CONCLUSION......................................................................................................................................79
BIBLIOGRAPHIE...................................................................................................................................X
WEBOGRAPHIE...................................................................................................................................XI
GLOSSAIRE.........................................................................................................................................XII
TABLE DES MATIERES...................................................................................................................XIII

IV
REMERCIEMENTS
Je voudrais remercier en premier lieu, Dieu Tout Puissant de m’avoir donné force et
courage durant la formation pratique dans laquelle j’ai pu acquérir des expériences
professionnelles.

Je tiens aussi à exprimer mes sincères remerciements à tout ce qui ont contribué à
l’élaboration de cette mémoire de fin d’étude et au bon déroulement de mon stage :

 Monsieur HAJALALAINA Aimé Richard, Docteur HDR, Président de l’Université


de Fianarantsoa, qui a bien organisé l’année universitaire ;
 Monsieur MAHATODY Thomas, Docteur HDR, Directeur de l’Ecole Nationale
d’Informatique, qui m’a permis d’accueillir toutes mes connaissances jusqu’à
maintenant ;
 Monsieur NOZARA Marotia Dodson, Gérant de la société SOFTLAB, mon
encadreur professionnel, avec sa sympathie, son accueil chaleureux au sein de la
société ;
 Monsieur RALAIVAO Jean Christian, Assistant d’Enseignement Supérieur et de
recherche, Chef de Parcours Génie Logiciel et Base de Données ;
 Madame RATIANANTITRA Volatiana Marielle, Maître de Conférences et Président
du jury ;
 Monsieur RATOVONDRAHONA Alain Josué, Docteur en Informatique, mon
examinateur ;
 Monsieur DIMBISOA William Germain, Maître de Conférences, mon encadreur
pédagogique pour la prélecture, qui m’a beaucoup aidé dans l’accomplissement de
tout ce travail et qui m’a suivi jusqu’à la fin du stage ;

 Tout le personnel de la société SOFTLAB Antananarivo qui m’a accueilli et soutenu


avec joie durant les moments de stage passés au sein de la société ;

 Les membres du corps professoral et administratif de l’Ecole Nationale


d’Informatique, pour toutes les connaissances acquises et savoirs, durant la formation
théorique ;

 Mes proches qui m’ont toujours soutenu moralement, ainsi que financièrement durant
mon stage jusqu’à l’aboutissement de cette mémoire de fin d’étude.

V
LISTE DES FIGURES

Figure 1. Organigramme actuel de l’Ecole...............................................................................................5


Figure 2. Architecture des études correspondant au système LMD.........................................................7
Figure 3. Organigramme du SOFTLAB.................................................................................................11
Figure 4 Chronogramme d’activité.........................................................................................................15
Figure 5 Processus de développement en Y...........................................................................................22
Figure 6 Diagrammes UML [1]..............................................................................................................24
Figure 7. Diagramme des cas d’utilisation.............................................................................................36
Figure 8. Diagramme de séquence « S’authentifier ».............................................................................43
Figure 9. Diagramme de séquence « Créer un compte »........................................................................44
Figure 10. Diagramme de séquence « Suspendre un compte »..............................................................45
Figure 11. Diagramme de séquence « Réactiver un compte »...............................................................46
Figure 12. Diagramme de séquence « Recharger un cash point »..........................................................47
Figure 13. Diagramme de séquence « Créditer un client ou un marchand»...........................................48
Figure 14. Diagramme de séquence « Faire un dépôt via un agent cash point »....................................49
Figure 15. Diagramme de séquence « Faire un retrait via agent cash point »........................................50
Figure 16. Diagramme de séquence « Transférer un fond vers un compte ».........................................51
Figure 17. Modèle de domaine...............................................................................................................52
Figure 18. Schéma de l’architecture du système [9]...............................................................................53
Figure 19. Diagramme de séquence de conception « S’authentifier »...................................................54
Figure 20. Diagramme de séquence de conception « Créer un compte »...............................................55
Figure 21. Diagramme de séquence de conception « Suspendre un compte ».......................................56
Figure 22. Diagramme de séquence de conception « Réactiver un compte »........................................57
Figure 23. Diagramme de séquence de conception « Recharger un agent cash point ».........................58
Figure 24. Diagramme de séquence de conception « Créditer un client ou un marchand »..................59
Figure 25. Diagramme de séquence de conception « Débiter un client ou un marchand »....................59
Figure 26. Diagramme de séquence de conception « Faire un dépôt via un agent cash point »............60
Figure 27. Diagramme de séquence de conception « Faire un retrait via un agent cash point »............61
Figure 28. Diagramme de séquence de conception « Transférer un fond vers un compte »..................62
Figure 29. Diagramme de classe de conception S’authentifier..............................................................64
Figure 30. Diagramme de classe de conception Suspendre un compte, Réactiver un compte, Recharger
un agent cash point.................................................................................................................................64

VI
Figure 31. Diagramme de classe de conception Créditer un client, Débiter un client...........................65
Figure 32. Diagramme de classe de conception Faire un dépôt via cash point, Faire un retrait via un
cash point, Transférer un fond vers un compte.......................................................................................65
Figure 33. Diagramme de classe globale................................................................................................66
Figure 34. Diagramme de paquetage......................................................................................................66
Figure 35. Diagramme de déploiement..................................................................................................67
Figure 36. Installation Visual Studio Code............................................................................................69
Figure 37. Installation finale de Visual Studio Code..............................................................................70
Figure 38 interface graphique de Visual Studio code.............................................................................70
Figure 39 Installation de Visual Paradigm.............................................................................................71
Figure 40 Architecture de l'application..................................................................................................72
Figure 41 Concept de PRISMA [10]......................................................................................................73
Figure 42. Inscription d’utilisateur.........................................................................................................74
Figure 43. Création d’une transaction....................................................................................................74
Figure 44 Affichage des utilisateurs.......................................................................................................75
Figure 46 Activation d'un compte..........................................................................................................75
Figure 47. Page où l’on peut s’inscrire et se connecter..........................................................................76
Figure 48. Page d’acceuil en générale des utilisateurs...........................................................................76
Figure 49. Transfert d’argent..................................................................................................................77
Figure 50. Historique de transaction de l’utilisateurs.............................................................................77
Figure 51. Gestion des utilisateurs.........................................................................................................78
Figure 52 Informations sur un compte marchand...................................................................................78

VII
LISTE DES TABLEAUX

Tableau 1. Organisation du système de formation pédagogique de l’Ecole.............................................6


Tableau 2. Mention et parcours au sein de l’ENI.....................................................................................6
Tableau 3. Liste des formations existantes à l’ENI..................................................................................7
Tableau 4. Débouchés éventuels des jeunes diplômés.............................................................................9
Tableau 5. Moyens humains...................................................................................................................13
Tableau 6. Moyen matériel.....................................................................................................................14
Tableau 7. Moyens logiciels...................................................................................................................14
Tableau 8. Liste des ordinateurs.............................................................................................................17
Tableau 9 Moyens logiciels....................................................................................................................18
Tableau 10. Comparaison des solutions.................................................................................................19
Tableau 11. Comparaison entre MERISE et 2TUP................................................................................20
Tableau 12. Comparaison entre Java et Javascript.................................................................................25
Tableau 13 Comparaison entre Ruby et NodeJS....................................................................................27
Tableau 14 Comparaison entre VueJS et ReactJS [2]............................................................................28
Tableau 15 Comparaison entre Express et Hapi [8]...............................................................................29
Tableau 16. Comparaison de MySQL et SQLite....................................................................................31
Tableau 17. Comparaison entre Sublime Text et Visual Studio Code...................................................32
Tableau 18. Dictionnaire de données......................................................................................................33
Tableau 19. Description textuelle « S’authentifier »..............................................................................37
Tableau 20. Description textuelle « Créer un compte ».........................................................................38
Tableau 21. Description textuelle « Suspendre un compte »..................................................................38
Tableau 22. Description textuelle « Réactiver un compte »...................................................................39
Tableau 23. Description textuelle « Recharger un cash point ».............................................................39
Tableau 24. Description textuelle « Crédité un client ou un marchand »...............................................40
Tableau 25. Description textuelle « Faire un dépôt via cash point »......................................................40
Tableau 26. Description textuelle « Transférer un fond vers un compte ».............................................41
Tableau 27. Tableau de priorisation des cas d’utilisation.......................................................................42

VIII
LISTE DES ABREVIATIONS
2TUP Two Track Unified Process
AUF Agence Universitaire de la Francophonie
ASR Administration des Systèmes et Réseaux
API Application Programming Interface
BD Base de Données
BNGRC Bureau National de Gestion des Risques et des Catastrophes
BDE Bureau Des Etudiants
CNH Commission Nationale d’Habilitation
DOM Document Object Model
ENI Ecole Nationale d’Informatique
GID Gouvernance et Ingénierie de Données
GB Génie logiciel et base de données
HTML HyperText Markup Language
IG Informatique Générale
IA Intelligence ArtificielleGI
LMD Licence – Master – Doctorat
MVC Model-View-Controller
OCC Objets connectés et Cybersécurité
ORM Object-Relational Mapping
SEPT Société d’Exploitation du Port de Toamasina
SOFTLAB Software Laborator
SGBD Système de Gestion de Base de Données
SQL Structured Query Language
TIC Technologie de l’Information et de la communication
UPST Université de Fianarantsoa pour le compte de l’ENI et l’Université Paul
Sabatier de Toulouse
UI User Interface
UML Unified Modeling Langage
XML eXtensible Markup Language

IX
INTRODUCTION GENERALE

Actuellement, la technologie permet au monde entier de connaître une évolution


considérable dans tous les secteurs et cela grâce à l’informatique. L’informatique,
principalement l’internet est devenu incontournable pour les entreprises en termes de
communication, sauvegarde et gestion des informations. Systématiquement, le développement
d’application web occupe actuellement un grand part des tâches informatiques.

Chaque année, l’Ecole Nationale d’Informatique de Fianarantsoa, pour évaluer les


savoirs acquis par les étudiants, il leurs est imposé d’effectuer un stage de formation au bout
de l’année universitaire. Outre le fait que cette mémoire constitue une note importante pour
l’obtention du diplôme de LICENCE, ce projet peut être un plus pour mon avenir
professionnel.

SOFTLAB ou Software Laborator en tant qu’entreprise pour les développeurs est


chargé d’appuyer sur la réalisation de projet au cas de besoin d’autre entreprise. Ici des
problèmes persistent lors des réalisations des sites E-commerce locaux, la majorité des
clients ont des difficultés à effectuer leurs achats en ligne et à gérer leurs finances en ligne.

Ce mémoire se concentre sur la conception et la mise en place d’un système de


portefeuille en ligne qui portera le nom « Wallet’ntsika ». Il est important de s’assurer de la
pertinence de cette solution pour répondre aux besoins des autres entreprises.

Le projet est conçu tout en utilisant une méthode de conception, un langage de


modélisation, un outil de modélisation, un environnement de développement, un langage de
programmation, une librairie, un framework et un système de gestion de la base de données.
Pour la concrétisation de ce projet, nous allons procéder à ces trois (3) grandes parties
respectives, à savoir : la PRESENTATION, le suivi de l’ANALYSE ET CONCEPTION et
enfin la REALISATION.

1
PARTIE I : PRESENTATIONS

2
Chapitre 1. Présentation de l’Ecole Nationale d’Informatique

1.1. Information d’ordre générale


L’Ecole Nationale d’Informatique, en abrégé ENI, est un établissement
d’enseignement supérieur rattaché académiquement et administrativement à l’Université de
Fianarantsoa. Le siège de l’Ecole se trouve à Tanambao-Antaninarenina à Fianarantsoa.
L’adresse pour la prise de contact avec l’Ecole est la suivante : Ecole Nationale
d’Informatique (ENI) Tanambao, Fianarantsoa. Le numéro de sa boîte postale est 1487 avec
le code postal 301. Téléphone : 034 05 733 36 ou 032 15 204 28. Son adresse électronique est
la suivante : eni@[Link]. Il dispose également d'un site web : [Link]

1.2. Missions et historiques


L’ENI se positionne sur l’échiquier socio-éducatif malgache comme étant le plus
puissant secteur de diffusion et de vulgarisation des connaissances et des technologies
informatiques.
Cette Ecole Supérieure peut être considérée aujourd’hui comme la vitrine et la
pépinière des élites informaticiennes du pays.
De façon formelle, l’ENI était créée par le décret N° 83- 185 du 24 Mai 1983, comme
étant le seul établissement Universitaire Professionnalisé au niveau national, destiné à former
des techniciens et des Ingénieurs de haut niveau, aptes à répondre aux besoins et exigences
d’Informatisation des entreprises, des sociétés et des organes implantés à Madagascar.

L’ENI a pour conséquent pour mission de former des spécialistes informaticiens


compétents et opérationnels de différents niveaux notamment :
 en fournissant à des étudiants des connaissances de base en informatique ;

 en leur transmettant le savoir-faire requis, à travers la professionnalisation des


formations dispensées et en essayant une meilleure adéquation des formations par
rapport aux besoins évolutifs des sociétés et des entreprises ;

 en initiant les étudiants aux activités de recherche dans les différents domaines des
Technologies de l’Information et de la Communication (TIC) ;
La filière de formation d’Analystes Programmeurs a été mise en place à l’Ecole en
1983, et a été gelée par la suite en 1996, tandis que la filière de formation d’ingénieurs a été
ouverte à l’Ecole en 1986.

3
Une formation de troisième cycle a été ouverte à l’Ecole a été ouverte à l’Ecole depuis
l’année 2003 – 2004 grâce à la coopération académique et scientifique entre l’Université de
Fianarantsoa pour le compte de l’ENI et l’Université Paul Sabatier de Toulouse (UPST).
Cette filière avait pour objectif de former certains étudiants à la recherche dans les
différents domaines de l’Informatique, et notamment pour préparer la relève des Enseignants-
Chercheurs qui étaient en poste.
Pendant l’année 2007-2008, la formation en vue de l’obtention du diplôme de Licence
Professionnelle en Informatique a été mise en place à l’ENI avec les deux parcours de
formation :
 Génie Logiciel et base de Données.
 Administration des Système et réseaux.
La mise en place à l’Ecole de ces deux options de formation devait répondre au besoin
de basculement vers le système Licence – Master – Doctorat (LMD).
En vue de surmonter les difficultés de limitation de l’effectif des étudiants accueillis à l’Ecole,
notamment à cause du manque d’infrastructures, un système de « Formation Hybride » a été
mise en place à partir de l’année 2010. Il s’agit en effet d’un système de formation semi
présentielle et à distance avec l’utilisation de la visioconférence pour la formation à distance.
Le système de formation hybride a été ainsi créé à Fianarantsoa ainsi qu’Université de
Toliara. Cette formation est à l’origine du parcours Informatique Générale.
En 2023, une nouvelle mention Intelligence Artificielle (IA) a été ouvert au sein de
l’Ecole pour répondre les besoins des entreprises. La formation est destinée aux étudiants
titulaires du diplôme de licence (Bac +3) en Mathématiques ou en Statistiques ou en
Informatique, etc. La mention IA comporte deux parcours :
 Gouvernance et Ingénierie de Données (GID),
 Objets connectés et Cybersécurité (OCC).

Le principe de l’enseignement pour le parcours GID osffre aux l’étudiants des


compétences scientifiques et techniques spécialisées en Science de données. Pour le parcours
OCC, les étudiants octroient la double spécialité premièrement en internet des objets et
deuxièmement en cybersécurité. La formation de master est axée sur l’ensemble
d’applications de l’Intelligence Artificielle.

4
1.3. Organigramme institutionnel

L’organigramme de l’Ecole est inspiré des dispositions du décret N° 83-185 du 24 Mai


1983. L’ENI est administrée par un Conseil d’Ecole, et dirigée par un directeur nommé par un
décret adopté en Conseil des Ministres. Le Collège des enseignants regroupant tous les
enseignants-chercheurs permanents de l’Ecole est chargé de résoudre les problèmes liés à
l’organisation pédagogique des enseignements. Le Conseil Scientifique propose les
orientations pédagogiques et scientifiques de l’établissement, en tenant compte notamment de
l’évolution du marché de travail et de l’adéquation des formations dispensées par rapport aux
besoins des entreprises.

La figure 1 représente l’organigramme actuel de l’ENI.

Figure 1. Organigramme actuel de l’Ecole

5
1.4. Domaine de spécialisation
Les activités de formation et de recherche organisées à l’ENI portent sur les domaines
suivants :
 Génie logiciel et Base de Données ;
 Administration des Systèmes et Réseaux ;
 Informatique Générale ;
 Modélisation informatique et mathématique des Systèmes complexes ;
 Intelligence artificielle.
Le tableau 1 décrit l’organisation du système de formation pédagogique de l’Ecole.
Tableau 1. Organisation du système de formation pédagogique de l’Ecole

Formation Théorique Formation Pratique


- Enseignement théorique - Etude de cas
- Travaux dirigés - Travaux de réalisation
- Travaux pratiques - Projets/ Projets tutorés
- Conférences - Voyages d’Etudes
- Stages en entreprise

1.5. Architecture des formations pédagogiques

Le recrutement des étudiants à l’ENI se fait uniquement par voie de concours


d’envergure nationale en première année. Les offres de formation organisées à l’Ecole ont été
validées par la Commission Nationale d’Habilitation (CNH). Au sein de l’ENI, il existe deux
mentions et cinq parcours. Le tableau 2 récapitule les mentions et les parcours au sein de
l’Ecole :

Tableau 2. Mention et parcours au sein de l’ENI

Mention Parcours
Informatique Génie logiciel et Base de Données (GB)
Administration des Systèmes et Réseaux (ASR)
Informatique Générale (IG)
Intelligence Artificielle Gouvernance et Ingénierie de Données (GID)
Objets Connectés et Cyber sécurités (OCC)

6
La figure 2 représente l’architecture des études correspondant au système LMD.

Figure 2. Architecture des études correspondant au système LMD

La licence peut avoir une vocation générale ou professionnelle. Le master peut avoir
une vocation professionnelle ou de recherche. L’accès en première année de MASTER se fait
automatiquement pour les étudiants de l’Ecole qui ont obtenu le diplôme de Licence
Professionnelle. Le tableau 3 illustre la liste des formations existantes à l’ENI.
Tableau 3. Liste des formations existantes à l’ENI
FORMATION
LICENCE PROFESSIONNELLE MASTER
Condition admission Par voie de concours Par voie de concours pour la mention IA
Condition d’accès Bac de série C, D ou Technique Être titulaire de licence professionnelle
Durée de Formation 3 ans 2 ans
Diplôme délivré Diplôme de Licence Diplôme de Master Professionnel
Professionnelle Diplôme de Master Recherche

Le Master Recherche permet à son titulaire de poursuivre directement des études en


doctorat et de s’inscrire directement dans une Ecole Doctorale.
Les étudiants diplômés de l’Ecole sont plutôt bien accueillis dans les instituts
universitaires étrangères (Canada, Suisse, France, …)

1.6. Relation de l’ENI avec les organismes externes

7
Les stages effectués chaque année par les étudiants mettent l’Ecole en rapport
permanent avec plus de 400 entreprises et organismes publics, semi-publics et privés,
nationaux et internationaux. L’Ecole dispose ainsi d’un réseau d’entreprises, de sociétés et
d’organismes publics et privés qui sont des partenaires par l’accueil en stage de ses étudiants,
et éventuellement pour le recrutement après l’obtention des diplômes par ces derniers. Les
compétences que l’Ecole cherche à développer chez ses étudiants sont l’adaptabilité, le sens
de la responsabilité, du travail en équipe, le goût de l’expérimentation et l’innovation.
En effet, la vocation de l’ENI est de former des licenciés et des ingénieurs de niveau
MASTER avec des qualités scientifiques, techniques et humaines reconnues, capables
d’évoluer professionnellement dans des secteurs d’activité variés intégrant l’informatique. Les
stages en milieu professionnel permettent de favoriser une meilleure adéquation entre les
formations à l’Ecole et les besoins évolutifs du marché de l’emploi.

Parmi les sociétés, les entreprises et les organismes partenaires de l’Ecole, on peut
citer : ACCENTURE Mauritius, AKATA Goavana, Air Madagascar, Ambre Associates,
Airtel, Agence Universitaire de la Francophonie (AUF), AXIAN, B2B, Banque Centrale, ,
BIANCO, BlueLine, CNaPS, Bureau National de Gestion des Risques et des Catastrophes
(BNGRC), CEDII-Fianarantsoa, Data Consulting, Central Test, Centre National Antiacridien,
CNRE, COLAS, Direction Générale des Douanes, DLC, E-Tech Consulting, , FID, FIHARY
Soft, FTM, GNOSYS, GENIUS AT WORK, Hello Tana, IBONIA, INGENOSIA, INSTAT,
IOGA, JIRAMA, JOUVE, MADADEV, MAEP, MANAO, MEF, MEN, MESupRES, MFB, ,
MININTER, Min des Postes/Télécommunications et du Développement Numérique, NEOV
MAD, Ny Havana, Madagascar National Parks, OMNITEC, ORANGE, OTME, PRACCESS,
QMM Fort-Dauphin, SG Madagasikara SMMC, SMMEC, SNEDADRS Antsirabe, Sénat,
Société d’Exploitation du Port de Toamasina (SEPT), SOFTWELL, Strategy Consulting,
TELMA, VIVETEC, Société LAZAN’I BETSILEO, WWF, UGD, ARATO, MANAO,
MNDPT, NG [Link], Relia …

1.7. Débouchés professionnels et diplômés

Les formations proposées par l’Ecole permettent aux diplômés d’être immédiatement
opérationnels sur le marché du travail avec la connaissance d’un métier complet lié à
l’informatique aux TIC.

8
L’Ecole apporte à ses étudiants un savoir-faire et un savoir-être qui les accompagnent
tout au long de leur vie professionnelle. Elle a une vocation professionnalisante. Les diplômés
en LICENCE et en MASTER issus de l’ENI peuvent faire carrière dans différents secteurs.
L’Ecole bénéficie aujourd’hui de 40 années d’expériences pédagogiques et de
reconnaissance auprès des sociétés, des entreprises et des organismes. C’est une Ecole
Supérieure de référence en matière informatique.
D’une manière générale, les diplômés de l’ENI n’éprouvent pas de difficultés
particulières à être recrutés au terme de leurs études. Cependant, l’ENI recommande à ses
diplômés de promouvoir l’entrepreneuriat en TIC et de créer des cybercafés, des SSII ou des
bureaux d’études. Le tableau 4 représente les débouchés éventuels des jeunes diplômés.

Tableau 4. Débouchés éventuels des jeunes diplômés

LICENCE MASTER
 Analyste - Programmeur  Administrateur de réseau et système
 Administrateur de site web/de portail web  Architecture de système d’information
 Assistant Informatique et internet  Développeur d’applications
 Chef de projet web ou multimédia  Ingénieur réseau
 Développeur Informatique ou multimédia  Webmaster / Web Designer
 Intégrateur web ou web designer  Concepteur et réalisateur d’application
 Hot liner/Hébergeur Internet  Directeur du système d’informations
 Agent de référencement  Chef de projet informatique
 Technicien/Supérieur de help desk sur  Responsable de sécurité informatique
Informatique  Consultant fonctionnel ou freelance
 Responsable de sécurité web
 Administrateur de réseau

9
1.8. Ressources humaines
Les ressources humaines sont citées ci-dessous selon leurs responsabilités :
 Directeur de l’Ecole : Monsieur MAHATODY Thomas, Docteur HDR
 Responsable de la Mention « Informatique » : Monsieur RABETAFIKA Louis
Haja, Maître de Conférences
 Responsable de la Mention « Intelligence Artificielle » : Monsieur DIMBISOA
William Germain, Maître de Conférences
 Responsable du Parcours « Génie Logiciel et Base de Données » : Monsieur
RALAIVAO Jean Christian, Assistant d’Enseignement Supérieur et de Recherche
 Responsable du Parcours « Administration Systèmes et Réseaux » : Monsieur
SIAKA, Assistant d’Enseignement Supérieur et de Recherche
 Responsable du Parcours « Informatique Générale » : Monsieur GILANTE
Gesazafy, Assistant d’Enseignement Supérieur et de Recherche
 Responsable du Parcours « Gouvernance et Ingénierie de Données » : Madame
RATIANANTITRA Volatiana Marielle, Maître de Conférences
 Responsable du Parcours « Objets Connectés et Cybersécurité » : Monsieur
RAZAFIMAHATRATRA Hajarisena, Maître de Conférences
L’ENI compte quinze (15) enseignants permanents dont un (01) Professeur Titulaire, un (01)
Professeur, un (01) Docteur HDR, huit (08) Maîtres de Conférences, quatre (04) Assistants
d’Enseignement Supérieur et de Recherche, dix (10) enseignants vacataires, quarante un (41)
personnel administratif.

10
Chapitre 2. Présentation de SOFTLAB
Dans ce chapitre, la présentation de la Société va être mentionnée suivi de son
organigramme. Les objectifs de la Société sera développés.

2.1 Fiche d’Identification


La localisation de la Représentation auprès de la République est à Alasora ByPass Lot II A 105C
Bis Antananarivo (101), Madagascar.

Tel: +261 34 02 452 59 ; Site web [Link] ; Email : contact@[Link]

2.2 Objectifs : Mission / Activités


 Appuyer sur la réalisation d’un projet d’une autre entreprise ;
 Promouvoir l’application des SOFTLAB ;
 Acquérir et gérer toute documentation normative ;
 Diffuser les normes et toutes informations normatives ;
 Promouvoir les démarches visant l’assurance de la qualité des produits, biens et services ;
 Donner des formations sur le Développement.

2.3 Organisation (organigramme général)


La figure 2 montre l’organigramme de SOFTLAB.

Assemblée Générale

Gérant

Direction administrative Direction commerciale et


Direction technique
et finance marketing

Chef de projet Design Chef de Back-end Chef de Front-end(design)

Graphistes Devéloppeur Comptabilité

Designers

Figure 3. Organigramme du SOFTLAB

11
Chapitre 3. Description du projet
3.1 Formulation
Effectivement, les personnels au sein de la société SOFTLAB Antananarivo ne cessent
de chercher des moyens de plus en plus performants afin d’améliorer leurs services
informatiques, d’accroître le développement technique mais aussi pour promouvoir les
démarches visant l’assurance de la qualité des produits.
Outre cela, l’enrichissement des expériences utilisateurs est très bénéfique au sein des services
proposés.
Ce projet consiste donc à planifier et concrétiser un système de portefeuille en ligne
accessible à tout moment.
L’élaboration de cette application web devra résoudre certains nombres d’éléments
lacunaires, comme : la facilité d’accès financière des utilisateurs, la simplification des
transactions en ligne locales et la réduction de la dépendance à l’égard de l’argent liquide.

3.2 Objectif et besoins des utilisateursbes


Les besoins des utilisateurs sont les demandes ou les souhaits exprimés par les
utilisateurs ou une organisation pour une solution informatique spécifique. L'objectif est la
finalité visée par cette solution.
Objectif
L’objectif de ce projet est de permettre aux utilisateurs locaux de gérer leurs
portefeuilles en ligne et de faciliter les achats en ligne.

Besoins des utilisateurs


Le système doit alléger le travail des utilisateurs et soutenir l’assurance des données
stockées.
Par ailleurs, il y a quatre (4) sortes d’utilisateur dans cette application web : l’admin, les
agents cash points, les clients et les comptes marchands.

Voyons les besoins de ces utilisateurs :


 S’authentifier et s’inscrire : tous les utilisateurs pourront s’authentifier et s’inscrire.
 Disposer une interface intuitive et facile à utiliser : les utilisateurs doivent pouvoir
naviguer facilement dans le système et y avoir un accès facile et sécurisé.
 Consulter leurs soldes : les utilisateurs pourront consulter leurs soldes mais aussi voir
l’historique des transactions.

12
Pour l’admin :
 Accéder rapidement aux informations sur les comptes des clients : l’admin doit pouvoir
accéder facilement et rapidement aux informations sur les comptes des clients.
 Surveiller le système : pour que le système soit efficace, l’admin doit vérifier la
conformité des comptes mais aussi détecter et résoudre les problèmes éventuels.
 Recharger les agents cash points : il pourra envoyer des fonds dans chaque agent cash
point.
 Suivre les transactions : l’admin doit pouvoir vérifier les transactions des clients.

Pour les agents cash points :


 Gérer les dépôts et les retraits des clients et des comptes marchands.

Pour les clients et les comptes marchands :


 Gérer leurs finances : Effectuer des dépôts, des retraits et des transferts (pas de transfert
pour les comptes marchands).

3.3 Moyens nécessaires à la réalisation du projet


Moyens humains
L’ensemble de personnel qui a contribué à la mise en œuvre de ce projet est classé
dans le tableau 5.

Tableau 5. Moyens humains

PROFESSION NOMBRE ROLE DANS LE PROJET


Chef du projet 1 Initiateur du projet et
encadreur professionnel
Stagiaire 1 Concepteur et Réalisateur de
l’application

Moyen Matériel
13
Le stagiaire a choisi d’utiliser son propre ordinateur pour la réalisation du projet qui
figure dans le tableau 6.

Tableau 6. Moyen matériel

MACHINE CAPACITE PROCESSEUR CAPACITE SYSTEME


RAM DISQUE D’EXPLOITATION
Ordinateur 16 Go AMD Ryzen, 3.2 1 To Windows 11
portable GHz, 16 cœurs

Moyens logiciels
Le tableau 7 contient les moyens logiciels utilisés pour le projet.
Tableau 7. Moyens logiciels

DESIGNATION VERSION UTILITE DANS LE


PROJET
Visual Studio code 1.81.1 Développement de
l’application
Visual Paradigm 17 Modélisation
Microsoft office word 2016 Rédaction du rapport
Navigateur Web Interprétation des codes

3.4 Résultats attendus


L’achèvement de l’application web et du système gérant les portefeuilles en ligne des
utilisateurs serait idéale.

L’application devra répondre aux besoins des utilisateurs cités plus haut. Elle doit être
intègre, performante et souple (c’est-à-dire facile à maintenir pour les futures évolutions des
besoins).

Sur ce, les résultats se présument sur :


 La fiabilité, la disponibilité, la simplicité et l’efficacité de « Wallet’ntsika ».
 L’évolution de l’écosystème financier local
3.5 Chronogramme d’activité
Pour mener à bien ce projet, un planning a été conçu.
14
La figure 4 représente le chronogramme du projet.

Figure 4 Chronogramme d’activité

15
PARTIE II : ANALYSE ET
CONCEPTION

16
Chapitre 4. Analyse préalable
C’est une étape importante dans le développement de logiciels ou de système
informatiques. Il s’agit de comprendre les besoins des utilisateurs finaux, les exigences
fonctionnelles et les contraintes techniques avant de commencer à concevoir et à développer
le système.

4.1 Analyse de l’existant

4.1.1 Organisation actuelle


Une analyse neutre et objective de l’actuel service et des applications conçues par la
SOFTLAB a été effectuée.
En ce moment, le service n’a jamais mis en place un système de portefeuille en ligne.
Pourtant chaque année la société réalise plusieurs plateformes et sites E-commerce.
Toutes actions ayant des liens avec la manipulation financière en ligne des utilisateurs locaux
sont inexistantes.

4.1.2 Existants Matériels et logiciels


Moyens matériels
Chez SOFTLAB, on dispose des desktops et des laptops de configuration variés pour
effectuer le travail.
Le tableau 8 renferme la liste des ordinateurs
Tableau 8. Liste des ordinateurs

NOMBRE MACHINE PROPRIETES SYSTEME PERSONNEL


D’EXPLOITATION IMPLIQUE

3 Ordinateurs Disque dur WINDOWS 10, 11 EMPLOYES

portables 500Go,4Go
RAM,CPU
3GHz

2 Ordinateurs Disque dur WINDOWS 11 CHEFS DE


1To,8Go PROJET
portables
RAM,CPU
3GHz

17
Moyens logiciels

Le tableau 9 renferme les moyens logiciels


Tableau 9Moyens logiciels

DESIGNATION FONCTION VERSION

Visual Studio Code Editeur de code(IDE) 1.6.2

Google Chrome Navigateur 119.0.6045

4.2 Critique de l’existant


Les études sur l’organisation actuelle ont amené à constater quelques détails qui
nécessitent des améliorations et des corrections :

Points faibles

D’après la critique de l’existant, nous avons comme points faibles suivant :

 Suivi des transactions en ligne difficile


 Limitation des options de paiement
 Absence d’un portefeuille en ligne local
 Manque d’innovation

Points forts

De même, nous avons cité les points forts suivant :

 Abondance de productivité
 Bonne organisation de travail

4.3 Conception avant-projet

4.3.1 Proposition de solutions


L’analyse effectuée dans le service a abouti à l’élaboration de ces deux (2) solutions.

Solution 1 : Mettre à jour les plateformes E-commerce en intégrant les portefeuilles


électroniques actuels.

Solution 2 : Concevoir et mettre en place un système de portefeuille en ligne.

18
Le tableau 10 compare ces deux solutions.

Tableau 10. Comparaison des solutions

SOLUTIONS AVANTAGES INCONVENIENTS


Solution 1  Plusieurs  Utilisation coûteuse
portefeuilles déjà  Certaines
lancés et connus fonctionnalités
s’opposent aux
attentes
 Difficile à maintenir

Solution 2  Facile à maintenir et à  Nécessite un temps


intégrer de développement
 Innovante considérable avant sa
 Accessible pour la disponibilité.
majorité des
utilisateurs locaux

Pour mieux répondre aux besoins des utilisateurs et face aux problèmes qui concernent
le service, la solution 2 qui est de concevoir et de mettre en place un système de portefeuille
en ligne a été retenue.

4.3.2 Méthode de conception et outils utilisés


Une méthode de conception est un processus organisé et systématique utilisé pour
planifier, développer et réaliser un projet, un produit ou un système en suivant des étapes
structurées et des principes spécifiques.

 Méthode de conception
Le tableau 11 représente la comparaison entre la méthode MERISE et le processus
unifié « 2TUP ».

19
Tableau 11. Comparaison entre MERISE et 2TUP

METHODES AVANTAGES INCOVENIENTS


MERISE -La méthode Merise propose -Méthode essentiellement
un ensemble de formalismes Française.
et de règles destinées à -Merise peut parfois sembler
modéliser de manière plus rigide dans sa
indépendante les données et méthodologie, ce qui peut
les traitements du système poser des défis en termes
d’information. d'adaptabilité et de flexibilité
-Merise se positionne face à des projets
comme particulièrement évolutifs ou
une méthode de conception complexes.
de SI organisationnel.
-Merise est :
formalisée : utilisation
d'outils logiques : graphes
(ou modèles), règles, ...
détaillée: toutes les étapes
sont étudiées de la
conception à la technique.
2TUP -Un processus piloté par le -La conception prend
langage de modélisation beaucoup de temps
objet - Puisqu’il est piloté par
UML qui est un support de l’UML :
communication La mise en pratique
performante : d'UML nécessite un
 Il cadre l'analyse apprentissage et passe par
 Il facilite la une période d'adaptation.
compréhension de
représentations
abstraites
complexes.
-Il est orienté vers la

20
diminution des risques car :
Il est itératif et incrémental,
centré sur l’architecture et
piloté par des cas
d’utilisation.
-Il prend en compte les aléas
et contraintes liées aux
changements perpétuels et
rapides des SI des
entreprises.[5]

En regardant les objectifs fixés pour la réalisation du projet, nous remarquons que
nous sommes face à une application modulaire et qui devra rester ouverte pour les
améliorations futures. De ce fait, on a choisi d’utiliser le processus unifié «2TUP ».
La notion de processus unifié « 2TUP » :

Un processus unifié est un processus de développement logiciel construit sur UML. Il


est une trame des meilleures pratiques de développement qui doit être utilisé comme un guide
pour réaliser un projet. Il est défini comme étant un patron de processus pouvant être adapté à
une large classe de systèmes logiciels, à différents domaines d’application, à différents types
d’entreprises, à différents niveaux de compétences et à différentes tailles de l’entreprise.

Il est itératif et incrémental, centré sur l’architecture, conduit par les cas d’utilisation et
piloté par les risques. La gestion d’un tel processus est organisée d’après les 4 phases
suivantes :

 Pré étude (Inception) : envisage les fonctionnalités du futur système logiciel (et pose
également la question de sa faisabilité)
 Elaboration : développe l’architecture technique et réalise les fonctions les plus
prioritaires
 Construction : livre progressivement toutes les fonctions du système
 Transition : permet de corriger et d’évoluer le système

Ses activités de développement sont définies par 6 disciplines fondamentales qui


décrivent la modélisation métier, la capture des besoins, l’analyse et la conception,
l’implémentation, le test et le déploiement.

21
Le processus unifié « 2TUP » :

Le processus 2TUP signifie « 2 Track Unified Process » est un processus UP, qui
apporte une réponse aux contraintes de changement continuel imposées aux systèmes
d’information de l’entreprise. En ce sens, il renforce le contrôle sur les capacités d’évolution
et de correction de tels systèmes. « 2 Track » signifient littéralement que le processus suit
deux chemins. Il s’agit des chemins « fonctionnels » et « d’architecture technique », qui
correspondent aux deux axes de changement imposés au système informatique. C’est ce
processus qu’on a suivi pour mettre en place l’application.
L’axiome fondateur du 2TUP consiste à constater que toute évolution imposée au
système d’information peut se décomposer et se traiter parallèlement, suivant un axe
fonctionnel et un axe technique. [5]
À l’issue des évolutions du modèle fonctionnel et de l’architecture technique, la
réalisation du système consiste à fusionner les résultats des deux branches. Cette fusion
conduit à l’obtention d’un processus de développement en forme de Y.
Le figure 5 représente le processus de développement en Y

Figure 5 . Processus de développement en Y[5]


Ce processus unifié est piloté par le langage de modélisation UML.

22
Le langage de modélisation UML

UML (Unified Modeling Langage) ou langage de modélisation unifié, est un langage


de modélisation basée sur des diagrammes pour représenter les aspects d'un système statique
ou dynamique. Il est apparu dans le monde du génie logiciel, dans le cadre de la « conception
orientée objet ». Il repose sur la notion orientée objet qui est un véritable atout pour cette
langue.
Il est couramment utilisé dans les projets logiciels, il peut être appliqué à tous les types
de systèmes et ne se limitent pas à la technologie de l'information.
UML est un langage visuel dédié à la spécification, la construction et la documentation des
artefacts d’un système logique. Il est couramment utilisé en développement logiciel et en
conception orientée objet. Il est utilisé pour spécifier, visualiser, modifier et construire les
documents nécessaires au bon développement d'un logiciel orienté objet. Et il offre un
standard de modélisation, pour représenter l'architecture logicielle.
La notation UML 2.5 présente plusieurs vues :
- Vue des cas d’utilisations
- Vue logique (statique et dynamique)
- Vue de réalisation
- Vue des processus
- Vue de déploiement

23
Le langage de modélisation UML 2.5 comporte des diagrammes regroupés dans deux
aspects différents comme indiqué dans la figure 6.

Figure 6 Diagrammes UML [1]

Dans le cadre de la modélisation d’une application informatique, les auteurs d’UML


préconisent d’utiliser trois types de démarche :
- itérative et incrémentale,
- guidée par les besoins des utilisateurs du système,
- centrée sur l’architecture logicielle.

Langage de programmation, Librairie et Framework

Un langage de programmation est un ensemble de règles et de symboles permettant d'écrire


des instructions compréhensibles par un ordinateur pour créer des logiciels ou des
applications.

Une librairie est un ensemble de fonctions ou de modules préécrits, facilitant des tâches
spécifiques lors du développement logiciel, utilisés en complément d'un langage de
programmation pour étendre ses fonctionnalités.

Framework : Structure logicielle prête à l'emploi, offrant des outils, des bibliothèques et des
modèles pour faciliter le développement d'applications spécifiques.[8]

24
Langage de programmation :

 Frontend

Le tableau 12 représente la comparaison entre Java et JavaScript.

Tableau 12. Comparaison entre Java et Javascript

LANGAGES AVANTAGES INCONVENIENTS


Java -La possibilité de créer des -La nécessité d'utiliser un
interfaces utilisateur riches plugin tel que Java applet
et interactives en utilisant pour exécuter du code Java
des Framework tels que côté client, ce qui peut poser
JAVAFX ou GWT. des problèmes de
-La possibilité d'utiliser des compatibilité et de sécurité.
technologies de -La taille des fichiers
développement côté client d'installation plus grande des
telles que JavaScript ou applications Java par rapport
AJAX en conjonction avec aux applications web
Java pour créer des développées avec des
applications web technologies telles que
interactives. JavaScript ou HTML5.
-La complexité accrue liée à
l'utilisation de Java pour le
développement côté client
par rapport à d'autres
technologies web.
JavaScript -La possibilité de créer des -La complexité accrue liée à
interfaces utilisateur riches l'utilisation de JavaScript
et interactives sans avoir pour le développement
besoin de rafraîchir la page d'applications web plus
web. importantes et plus
-La compatibilité avec tous complexes.
les navigateurs modernes, ce -La performance moins
qui évite les problèmes de bonne par rapport à d'autres
compatibilité liés à d'autres technologies côté client,

25
technologies. comme Java, car JavaScript
-La prise en charge par de est un langage
nombreux Framework et d'interprétation et non
bibliothèques populaires, compilé.
comme jQuery, AngularJS et
REACT, qui facilitent le
développement
d'applications web.

JavaScript présente plusieurs avantages pour le développement de l'interface utilisateur (UI)


par rapport à Java. Les principaux avantages sont les suivants :

 Interaction directe avec le DOM (Document Object Model) : JavaScript permet aux
développeurs de manipuler directement le DOM, qui est la structure d'un document
HTML ou XML telle qu'elle est vue par un navigateur web ou un moteur JavaScript. Cela
facilite la création de pages web et d'applications web dynamiques qui répondent aux
entrées de l'utilisateur et à d'autres événements en temps réel.
 Compatibilité multi-navigateurs : JavaScript est pris en charge par tous les principaux
navigateurs web, ce qui permet de créer des pages web et des applications web qui
fonctionnent de manière homogène sur différents navigateurs et plateformes.
 Niveau élevé d'interactivité : JavaScript permet aux développeurs de créer des interfaces
utilisateur hautement interactives avec des fonctionnalités telles que les effets de survol,
les animations et la mise à jour en temps réel.

Voilà pourquoi on choisit JavaScript pour le développement d’interface d’utilisateur.

 Backend
26
Le tableau 13 représente la comparaison entre Ruby et NodeJS.

Tableau 13 Comparaison entre Ruby et NodeJS

LANGAGES AVANTAGES INCONVENIENTS


Ruby -Ruby bénéficie d'une riche -il peut rencontrer des défis
bibliothèque de gems d'évolutivité pour les
(paquets) et d'une applications massivement
communauté active qui extensibles
contribue régulièrement à -Ruby a tendance à
son écosystème consommer plus de mémoire
-Sa syntaxe lisible et par rapport à certains autres
expressive, ainsi que sa langages, ce qui peut devenir
flexibilité, permettent aux un problème dans les
nouveaux développeurs de applications nécessitant une
s'adapter plus facilement à la efficacité élevée de la
logique de programmation mémoire

NodeJS -Il utilise un modèle non -Bien que l'asynchronicité


bloquant et asynchrone, ce soit un avantage, cela peut
qui permet de gérer de rendre le code plus
nombreuses connexions complexe à écrire et à
simultanées sans bloquer le comprendre, surtout pour les
thread, assurant ainsi une développeurs moins
grande scalabilité et des expérimentés, en raison de la
performances élevées.[6] nécessité de gérer les rappels
-Écosystème riche : [Link] ,les promesses ou les
bénéficie d'une vaste fonctions asynchrones
bibliothèque de modules et (async/await).
de packages sur NPM (Node -La qualité et la maintenance
Package Manager), offrant de certains modules tiers
ainsi une grande variété peuvent être variables, ce
d'outils et de solutions pour qui peut entraîner des
le développement.[3] problèmes de compatibilité
dans les applications.

27
NodeJS offre des avantages en développement d’application web en raison de ses
caractéristiques. NodeJS permet également une programmation de haute performance et
évolutivité.[4]

Voilà pourquoi on choisit NodeJS pour le développement de l’application au côté serveur.

Librairie :
 Frontend
JavaScript présente beaucoup de librairie qu’on peut utiliser pour faciliter le processus de
développement logiciel comme ReactJS et VueJS.

Le tableau 14 représente la comparaison entre REACTJS et VueJS.

Tableau 14 Comparaison entre VueJS et ReactJS [2]

LIBRAIRIES AVANTAGES INCONVENIENTS


VueJS -[Link] offre des - L’écosystème de VueJS est
performances solides tout en moins étendu qui peut se
étant flexible traduire par une disponibilité
-[Link] peut être intégré de réduite de certaines solutions
manière incrémentielle dans prêtes à l'emploi
des projets existants, même -La documentation de [Link]
les plus vastes.[7] peut parfois sembler moins
exhaustive ou moins
détaillée, ce qui peut rendre
la recherche de solutions
spécifiques à des problèmes
plus complexe pour les
développeurs
ReactJS -Il permet de créer des -Il peut être difficile de
composants réutilisables déboguer certains problèmes
pour les applications web liés à la gestion de l'état.
-Il a une forte communauté -Il nécessite une
et de nombreux outils tiers configuration et une
disponibles configuration
-Il améliore les supplémentaires pour
performances en utilisant un intégrer des bibliothèques

28
système de mise à jour de tierces.
DOM virtuel

Comme ReactJS est une bibliothèque de composants plutôt qu'un framework complet,
il est donc plus facile à intégrer dans des projets existants et permet une plus grande flexibilité
pour les développeurs.

On a donc choisi ReactJS pour le développement de l’application au côté client.

Framework :
 Backend
NodeJS propose plusieurs Frameworks comme Express, Hapi,…
Le tableau 15 montre la comparaison entre Express et Hapi.

Tableau 15 Comparaison entre Express et Hapi [8]

FRAMEWORKS AVANTAGES INCONVENIENTS


Hapi -Hapi bénéficie d'une -Sa structure plus rigide peut
documentation approfondie être considérée comme un
et d'une communauté active, avantage pour certains, mais
ce qui facilite l'apprentissage pour d'autres, cela peut
et le développement avec ce limiter la flexibilité dans la
framework. création de certaines
-Hapi favorise une architectures ou l'adoption
configuration centralisée, ce de certaines pratiques de
qui facilite la gestion des développement
applications avec une -Dans certaines
structure claire et organisée, circonstances, Hapi peut
idéale pour les projets de avoir des performances
taille moyenne à grande. légèrement inférieures par
rapport à des frameworks
plus légers comme Express
ou Koa en raison de sa
couche supplémentaire de
fonctionnalités intégrées.
Express -Son système de middleware -Étant un framework

29
est extrêmement flexible, minimaliste, [Link] ne
permettant aux développeurs fournit pas autant de
d'ajouter des fonctionnalités conventions de structure que
-[Link] bénéficie d'une d'autres frameworks plus
large adoption et d'une opinionated (qui imposent
communauté active. Cela se des choix)
traduit par une abondance de -Certaines fonctionnalités
ressources, de modules courantes dans d'autres
complémentaires frameworks sont laissées à la
(middlewares) et de responsabilité du
solutions prêtes à l'emploi développeur dans [Link].
disponibles via npm, Par exemple, la gestion de la
facilitant ainsi le validation des données ou de
développement.[3] l'ORM (Object-Relational
Mapping) doit souvent être
gérée en utilisant des
modules tiers.

Express est plus adaptable aux changements technologiques, car il est plus léger et flexible...
tandis que Hapi a des performances inférieures donc est limité.

Dans ce cas-là, on a choisi le Framework Express pour le développement de l’application au côté


serveur.

Système de gestion de base de données

Le choix du système de gestion de base de données est indispensable avant


l’élaboration d’une application web dynamique.

Le tableau 16 illustre la comparaison entre MySQL et SQLite

30
Tableau 16. Comparaison de MySQL et SQLite

SGBD AVANTAGES INCONVENIENTS


MySQL - MySQL est réputé pour sa - Des ajustements sont
capacité à gérer de grandes souvent nécessaires pour
bases de données optimiser les performances.
- Grâce à sa popularité, - MySQL peut nécessiter des
MySQL bénéficie d'une ressources considérables
communauté active et - Bien que la version
étendue communautaire soit gratuite,
certaines fonctionnalités
avancées, notamment les
outils de surveillance et de
gestion, sont disponibles
dans les versions payantes
SQLite - SQLite est conçu pour être - SQLite a quelques
simple à intégrer dans des limitations sur les types de
applications données et les
- Il n'y a pas de processus de fonctionnalités SQL
configuration compliqué, car avancées par rapport à
SQLite fonctionne d'autres SGBDR plus
directement à partir du puissants
fichier de base de données
- Toute la base de données
SQLite est stockée dans un
seul fichier, ce qui simplifie
la gestion et le transport des
données

On a choisi comme SGBD SQLite pour les raisons suivantes :


Il fait partie des logiciels de gestion de base de données les plus utilisés, autant par le grand
public (applications web principalement) que par des professionnels (application mobile), en
concurrence avec Oracle, MySQL et Microsoft SQL Server.
Il a aussi beaucoup d’avantages :
 Le serveur est très rapide.
31
 Il est léger et autonome.
 SQLite offre une simplicité et une facilité de déploiement par rapport aux systèmes de
bases de données plus complexes.
 SQLite stocke toute la base de données dans un seul fichier. Cela le rend portable et
facile à sauvegarder ou à déplacer.
 SQLite tourne sur divers systèmes tels qu’Unix, Windows

 Outil de développement
Le Tableau 17 montre une comparaison entre Sublime Text et Visual Studio Code
Tableau 17. Comparaison entre Sublime Text et Visual Studio Code

NOMS AVANTAGES INCONVENIENTS


Sublime Text - Multiplateforme - Interface perfectible
- Rapide - Maintenu par un
unique développeur
Visual Studio - Offre un large éventail d’extension - Consomme
Code
- Offre une intégration plus étroite plus de
avec des outils et services tiers ressource
système
- Scan des
grands projets
un peu lent au
démarrage

Nous avons opté pour Visual Studio Code pour le codage de l’application.

32
Chapitre 5. Analyse conceptuelle
5.1 Présentation de la méthode 2TUP
La méthode 2TUP (Two-Tiered Unified Process) est un modèle de développement
logiciel basé sur des itérations courtes pour concevoir et livrer des produits. Elle combine
planification et exécution itérative, séparant les phases de conception et de réalisation pour
une gestion efficace du projet
Nous avons utilisé cette methode de conception qui est itératif et incrémental, basé sur
l’architecture, et piloté par le cas d’utilisation.

Il est piloté par le langage de modélisation UML. Pour élaborer les diagrammes
d’UML, on a besoins de dictionnaire des données et des règles de gestion.

5.2 Dictionnaire des données


Un dictionnaire de données, en conception d'une application, est un document
structuré décrivant les entités, attributs, relations et contraintes d'une base de données. Il
répertorie les données clés de l'application, détaillant leur structure, leur type, et les liens entre
elles.

Ce document précieux sert de référence centrale pour les développeurs et les architectes
logiciels, garantissant une cohérence dans la gestion des données tout au long du cycle de vie
de l'application. Il aide à définir les règles d'intégrité, les normes de stockage et de
manipulation des informations, facilitant ainsi le développement, la maintenance et
l'évolutivité du système.

Le tableau 18 résume le dictionnaire de données de notre modèle.


Tableau 18. Dictionnaire de données

ATTRIBUTS DESCRIPTION TYPES TAILLES FORMAT

user_id Identifiant des utilisateurs N 20

nom Nom de l’utilisateur AN 60

email Email de l’utilisateur AN 35 @

isAdmin Si l’utilisateur est un B 1


administrateur ou non

33
revenu C’est le revenu de l’application N 20
affiché côté administrateur

contact Numero de téléphone de N 12 +261 …


l’utilisateur

solde_actuel Solde de l’utilisateur N 20

password Mot de passe de l’utilisateur AN 30

isActive Si le compte de l’utilisateur est B 1


activé ou désactivé

cash_point Si l’utilisateur est un cash point B 1


ou non

id_trasaction Identifiant des transactions N 20


faites par les utilisateurs

receiver_id Identifiant de l’utilisateur qui a N 20


reçu un montant

sender_id Identifiant de l’utilisateur qui a N 20


envoyé un montant

amount Montant envoyé par un N 20


utilisateur

date_transaction Date de la transaction D 10 dd/mm/yy

type_transaction Type de transaction effectuée A 30

frais_transaction Frais de transaction lors des N 20


transferts et des retraits

isClient Si l’utilisateur est un simple B 1


client

marchand Si l’utilisateur est un marchand B 1

wn_api_key Clé de l’API Wallet’ntsika AN 60

34
Légendes :

A : Alphabétique

AN : Alpha Numérique

N : Numérique

D : Date

B : Boolean

5.3 Règle de gestion


Une règle de gestion est un principe suivi par l’application. Il peut s’agir d’une
disposition légale, d’une exigence formulée par un gestionnaire ou d’un article de règlement
interne à l’application. D’après l’analyse faite concernant la situation actuelle, les règles de
gestion suivantes sont indispensables :

RG1 : Un compte est attribué à un et un seul utilisateur.


RG2 : Chaque utilisateur peut se transférer des fonds sauf les comptes marchands.
RG3 : Chaque utilisateur peut voir l’historique de leurs transactions.
RG4 : L’admin peut suivre toutes les transactions des utilisateurs.
RG5 : Seul l’admin peut recharger un agent cash point.
RG6 : Un agent cash point peut recharger les comptes des clients.
RG7 : Un agent cash point peut débiter les comptes des clients.
RG8 : Un client peut faire des retraits et des dépôts via un agent cash point.
RG9 : L’admin peut activer et désactiver chaque compte.
RG10 : Un compte marchant ne peut faire que des retraits et des dépôts via un agent
cash point
RG11 : Un frais de transaction de 2% est débiter du solde d’un utilisateur qui transfère
ou retire de l’argent sauf pour l’admin et les agents cash points.

RG12 : Une clé d’API est assignée à un compte marchand.

35
5.4 Représentation et spécification des besoins
Etant donné la nécessité d’avoir un système informatique de qualité, on s’intéresse aux
besoins des utilisateurs traités dans ce projet à travers les spécifications des besoins
fonctionnelles et non fonctionnelles pour aboutir à une application de qualité qui répond aux
besoins des utilisateurs.

5.4.1 Diagramme des cas d’utilisation


Le diagramme de cas d’utilisation représente la structure des fonctionnalités
nécessaires aux utilisateurs du système sous la forme d’action et de réaction.

Il tient des rôles importants sur l’analyse du système comme :


 Définir les limites du système et ses relations avec l’environnement
 Comprendre les besoins de l’utilisateur
 Sert à modéliser les aspects dynamiques du système
 Fait ressortir les acteurs et les fonctions offertes par le système
Diagramme des cas d’utilisation du système

La figure 7 représente le diagramme de cas d’utilisation du système

Figure 7. Diagramme des cas d’utilisation

36
5.4.2 Description textuelle pour chaque cas d’utilisation
Le cas d’utilisation étant un ensemble d’interactions. C’est-à-dire de couples demande de
l’acteur et réponse du système, décrire un cas d’utilisation, c’est décrire :

 Chacune des interactions, de manière ordonnée, ainsi que les règles du métier appliquées
par le système (également appelées CU) ;
 L’événement déclencheur du CU (acteurs) ;
 Les conditions que le système doit remplir pour que le CU puisse s’exécuter (les
préconditions) ;
 L’état du système lorsque le CU vient de s’achever (les postconditions).

Le tableau 19 représente la fiche de description de cas d’utilisation « S’authentifier ».

Tableau 19. Description textuelle « S’authentifier »

Cas d’utilisation S’authentifier


Acteur Utilisateurs
Précondition Le compte existe
1- Demander la page d’authentification
2- Page d’authentification affiche
Scénario nominal
3- Envoyer les informations requises
4- Utilisateur connecté
Identifiant ou mot de passe incorrect, le système réaffiche la
Scénario alternatif
page d’authentification et affiche un message d’erreur
Scenario d’exception Message d’erreur affiché
Postcondition Rediriger vers la page de connexion

37
Le tableau 20 représente la fiche de description de cas d’utilisation « Créer un compte ».

Tableau 20. Description textuelle « Créer un compte »

Cas d’utilisation Créer un compte


Acteur Utilisateurs
L’utilisateur doit disposer d’un adresse mail et de connexion
Précondition
internet
1- L'utilisateur accède à la page d'inscription
2- Il saisit ses informations : nom, adresse e-mail et mot de
passe
Scénario nominal
3- Le système vérifie la validité des données
4- Le compte est créé et l'utilisateur reçoit une confirmation
5- Il est redirigé vers son espace utilisateur
Scénario alternatif Erreur de saisie des informations
Scenario d’exception Interruption du service pendant la création du compte
Postcondition Formulaire d’inscription réaffiché

Le tableau 21 représente la fiche de description de cas d’utilisation « Suspendre un compte ».

Tableau 21. Description textuelle « Suspendre un compte »

Cas d’utilisation Suspendre un compte


Acteur Admin
Un administrateur authentifié est connecté au système avec les
Précondition autorisations nécessaires pour accéder et gérer les comptes des
utilisateurs
1- Suspension pour activité suspecte
Scénario nominal
2- Suspension suite à une demande de l'utilisateur
Scénario alternatif Erreur d'identification du compte
Scenario d’exception Échec de la suspension
Le compte identifié pour la suspension par l'administrateur est
Postcondition temporairement désactivé et l'utilisateur concerné est notifié
de cette suspension

Le tableau 22 représente la fiche de description de cas d’utilisation « Réactiver un compte ».

38
Tableau 22. Description textuelle « Réactiver un compte »

Cas d’utilisation Réactiver in compte


Acteur Admin
Un compte utilisateur existant doit être actuellement
Précondition
suspendu ou désactivé dans le système
1- Réactivation suite à une demande de l'utilisateur
Scénario nominal 2- Réactivation suite à une suspension temporaire
3- Réactivation après résolution d'un problème spécifique
Scénario alternatif Echec de la réactivation
Scenario d’exception Récupération après une suspension prolongée
Postcondition L'utilisateur est notifié de la réactivation de son compte

Le tableau 23 représente la fiche de description de cas d’utilisation « Recharger un cash point ».

Tableau 23. Description textuelle « Recharger un cash point »

Cas d’utilisation Recharger un cash point


Acteur Admin
Le système dispose de fonds disponibles pour effectuer les
Précondition
recharges
1- Recharge standard du cash point
Scénario nominal
2- Recharge d'urgence suite à un solde bas
Scénario alternatif Insuffisance de fonds pour la recharge
Scenario d’exception Recharge d'urgence en cas de problème critique
Le montant de recharge a été ajouté au solde existant du cash
Postcondition
point

Le tableau 24 représente la fiche de description de cas d’utilisation « Créditer un client ou un


marchand ».

39
Tableau 24. Description textuelle « Crédité un client ou un marchand »

Cas d’utilisation Crédité un client


Acteur Agent Cash point
Le système doit également disposer des fonds nécessaires
Précondition
pour effectuer le crédit
1- Crédit standard sur demande du client
Scénario nominal
2- Crédit programmé périodique

Scénario alternatif Erreur de crédit due à une mauvaise identification

Scenario d’exception Défaillance du cash point pendant la transaction de crédit


Une confirmation de la transaction a été envoyée au client
Postcondition
pour confirmer le crédit réussi sur son compte

Le tableau 25 représente la fiche de description de cas d’utilisation « Faire un dépôt via cash
point ».

Tableau 25. Description textuelle « Faire un dépôt via cash point »

Cas d’utilisation Faire un dépôt via un cash point


Acteur Clients et Comptes marchands
Précondition Les clients doivent disposer d'un compte enregistré
1- Dépôt en espèces standard
Scénario nominal
2- Dépôt programmé planifié
Scénario alternatif Dépôt refusé en raison de fonds non valides
Scenario d’exception Panne du cash point lors d'un dépôt important
Le montant spécifié a été crédité avec succès sur le compte du
Postcondition
client associé

Le tableau 26 représente la fiche de description de cas d’utilisation « Transférer un fond vers un


compte ».

Tableau 26. Description textuelle « Transférer un fond vers un compte »

40
Cas d’utilisation Transférer un fond vers un compte
Acteur Clients
Le client est authentifié et connecté au système avec accès à
Précondition
son compte
1- Transfert externe vers un compte d'un autre utilisateur
Scénario nominal 2- Transfert planifié vers un compte externe
3- Transfert interne entre comptes du même utilisateur
Scénario alternatif Erreur de saisie du montant
Scenario d’exception Transfert interrompu en raison d'un solde insuffisant
Le montant spécifié a été débité du compte source du client et
Postcondition
crédité sur le compte de destination spécifié

5.4.3 Priorisation des cas d’utilisation


La priorité des cas d’utilisation est déterminée par rapport aux besoins de l’utilisateur :
les cas les plus prioritaires sont ceux qui garantissent un fonctionnement du logiciel.
Pour prioriser les cas d’utilisations, il faut voir :
- L’importance de la fonctionnalité pour l’utilisateur
- L’impact sur l’architecture technique
- La complexité des fonctions mis en œuvre
- Les exigences et contraintes à satisfaire
Les cas d'utilisation peuvent être classés selon leur ordre d'importance pour chacun des
acteurs. Ce classement donne lieu à la définition d'un ordre de priorité pour les cas
d'utilisation. Dans le cas de ce projet, la priorité des cas d’utilisation est présentée par l’indice
1 ou 2.
 L’indice 1 : pour les cas d’utilisation à implémenter en priorité
Ce sont les cas d’utilisation les plus importants, qui constituent les principales
fonctionnalités
 L’indice 2 : pour les cas d’utilisation importants mais moins prioritaires
Ce sont les cas d’utilisation moins prioritaire qui appuient les principales
fonctionnalités
Le tableau 27 présente le classement des priorités des cas d’utilisation du système

41
Tableau 27. Tableau de priorisation des cas d’utilisation

Cas d’utilisation Acteurs Priorité

S’authentifier Utilisateurs 1

Créer un compte Utilisateurs 1

Consulter ses transactions Utilisateurs 2

Suspendre un compte Administrateur 1

Réactiver un compte Administrateur 1

Recharger un cash point Administrateur 1

Consulter les transactions d’un Administrateur 2


compte
Créditer un client ou un Cash point 1
marchand
Débiter un client ou un Cash point 1
marchand
Faire un dépôt via cash point Clients et comptes marchands 1

Faire un retrait via cash point Clients et comptes marchands 1

Transférer un fond vers un Clients 1


compte

5.4.4 Diagramme de séquence système pour chaque cas d’utilisation


Le diagramme de séquence représente les interactions entre les acteurs et le système,
en montrant de façon séquentielle, les envois de messages qui interviennent entre eux. Il s’agit
d’une explication détaillée d’un cas d’utilisation. Les principales informations contenues dans
un diagramme de séquence sont les messages échangés entre les lignes de vie, présentés dans
un ordre chronologique.

Pour chaque cas d’utilisation, il y a un diagramme correspondant.

La figure 8 représente le diagramme de séquence système pour le cas d’utilisation «


S’authentifier ».

42
Figure 8. Diagramme de séquence « S’authentifier »

La figure 9 représente le diagramme de séquence système pour le cas d’utilisation « Créer un


compte ».

43
Figure 9. Diagramme de séquence « Créer un compte »

La figure 10 représente le diagramme de séquence système pour le cas d’utilisation « Suspendre


un compte ».

44
Figure 10. Diagramme de séquence « Suspendre un compte »

La figure 11 représente le diagramme de séquence système pour le cas d’utilisation « Réactiver


un compte ».

45
Figure 11. Diagramme de séquence « Réactiver un compte »

La figure 12 représente le diagramme de séquence système pour le cas d’utilisation « Recharger


un cash point ».

46
Figure 12. Diagramme de séquence « Recharger un cash point »

La figure 13 représente le diagramme de séquence système pour le cas d’utilisation « Créditer un


client ou un marchand».

47
Figure 13. Diagramme de séquence « Créditer un client ou un marchand»

La figure 14 représente le diagramme de séquence système pour le cas d’utilisation « Faire un


dépôt via un agent cash point ».

48
Figure 14. Diagramme de séquence « Faire un dépôt via un agent cash point »

La figure 15 représente le diagramme de séquence système pour le cas d’utilisation « Faire un


retrait via un agent cash point ».

49
Figure 15. Diagramme de séquence « Faire un retrait via agent cash point »

La figure 16 représente le diagramme de séquence système pour le cas d’utilisation « Transférer


un fond vers un compte ».

50
Figure 16. Diagramme de séquence « Transférer un fond vers un compte »

5.5 Spécification des besoins techniques


Pour réaliser ce projet, on a besoin :
 Un outil de modélisation : Visual paradigm pour la modélisation UML,
 Un environnement de développement : Visual Studio Code,
 Un langage de programmation : JavaScipt(REACT côté frontend et NodeJS
côté backend),
 Le framework Express
 Un système de gestion de base de données : SQLite.

5.6 Modélisation du domaine


Un modèle du domaine est une visualisation des concepts d’un domaine du monde
réel. L’élaboration du modèle des classes du domaine permet d’opérer une transition vers une

51
véritable modélisation objet. L’analyse du domaine est une étape totalement séparée de
l’analyse des besoins. Elle peut être menée avant, en parallèle ou après cette dernière. La
phase d’analyse du domaine permet d’élaborer la première version du diagramme de classe
appelée modèle du domaine. Ce modèle doit définir les classes qui modélisent les entités ou
concepts présents dans le domaine de l’application. Il s’agit donc de produire un modèle des
objets du monde réel dans un domaine donné. Ces entités ou concepts sont identifiés
directement à partir de la connaissance du domaine ou par des entretiens avec des experts du
domaine. Pour établir le diagramme, on suit des étapes :
-Identifier les entités ou concepts du domaine ;
-Identifier et ajouter les associations et les attributs ;
-Organiser et simplifier le modèle en éliminant les classes redondantes et en utilisant
l’héritage ;
La figure 17 représente le modèle de domaine.

Figure 17. Modèle de domaine

Chapitre 6. Conception détaillée


6.1 Architecture du système
C’est une étape du développement où les spécifications fonctionnelles et les exigences
du système sont traduites en une architecture logicielle concrète. Cela comprend la définition

52
de la structure des données, la sélection des algorithmes, la définition des interfaces utilisateur
et la planification de la mise en œuvre technique.

Architecture MVC
L'architecture en 3 tiers est un modèle de conception pour les systèmes d'application qui
permet de séparer les différentes fonctions d'une application en trois parties distinctes : la
présentation, la logique d'affaires et la persistance des données.

Ainsi l’application se retrouve segmentée en trois composants essentiels :


- le modèle (M) : gère les données de l'application, comme les comptes utilisateur, les
transactions et les soldes
- la vue (V) : responsable de l'interface utilisateur (UI) avec laquelle les utilisateurs
interagissent.
- le contrôleur (C) : traite les requêtes des utilisateurs et agir comme un intermédiaire entre la
vue et le modèle.

La figure 18 représente l’architecture du système de l’application.

Figure 18. Schéma de l’architecture du système [9]

L'architecture en 3 tiers permet de séparer les différentes fonctions d'une application, ce


qui facilite la maintenance, le développement et l'évolution de l'application.

53
6.2 Diagramme de séquence de conception pour chaque cas d’utilisation
Les diagrammes de séquences de conception mettent en évidence les objets qui
participent à la réalisation de chaque cas d’utilisation, voir les figures 19, 20, 21, 22, 23, 24,
25, 26, 27, 28.

Diagramme de séquence de conception pour le cas d’utilisation « S’authentifier »

Figure 19. Diagramme de séquence de conception « S’authentifier »

Diagramme de séquence de conception pour le cas d’utilisation « Créer compte »

54
Figure 20. Diagramme de séquence de conception « Créer un compte »

Diagramme de séquence de conception pour le cas d’utilisation « Suspendre un compte »

55
Figure 21. Diagramme de séquence de conception « Suspendre un compte »

Diagramme de séquence de conception pour le cas d’utilisation « Réactiver un compte »

56
Figure 22. Diagramme de séquence de conception « Réactiver un compte »

Diagramme de séquence de conception pour le cas d’utilisation « Recharger un agent


cash point»

57
Figure 23. Diagramme de séquence de conception « Recharger un agent cash
point »

Diagramme de séquence de conception pour le cas d’utilisation « Créditer un client ou


un marchand »

58
Figure 24. Diagramme de séquence de conception « Créditer un client ou un
marchand »
Diagramme de séquence de conception pour le cas d’utilisation « Débiter un client ou un
marchand »

Figure 25. Diagramme de séquence de conception « Débiter un client ou un


marchand »

Diagramme de séquence de conception pour le cas d’utilisation « Faire un dépôt via


agent cash point »

59
Figure 26. Diagramme de séquence de conception « Faire un dépôt via un agent cash
point »

Diagramme de séquence de conception pour le cas d’utilisation «Faire un retrait via unn
agent cash point»

60
Figure 27. Diagramme de séquence de conception « Faire un retrait via un agent cash
point »

Diagramme de séquence de conception pour le cas d’utilisation « Transférer un fond


vers un compte »

61
Figure 28. Diagramme de séquence de conception « Transférer un fond vers un compte
»

6.3 Diagramme de classe de conception pour chaque cas d’utilisation


Définition

62
Le diagramme de classe exprime la structure statique en termes de classes et de
relations entre ces classes. L’intérêt du diagramme de classes est de modéliser les entités du
système d’information(S.I).

Le diagramme de classe permet de représenter l’ensemble des informations finalisées qui sont
gérées par le domaine. Ces informations sont structurées, c’est-à-dire qu’elles sont regroupées
dans des classes. Le diagramme met en évidence d’éventuelles relations entre ces classes qui
le composent.

Il est fondé sur : le concept d’objet, le concept de classe comprenant les attributs et les
opérations, les différents types d’associations entre les classes.

Voici quelques éléments clés que vous pouvez trouver dans un diagramme de classe :

 Classe : Représente une entité dans le système avec des attributs et des
opérations.

 Attribut : Les propriétés ou caractéristiques de la classe. Ils décrivent l'état de


l'objet.

 Opération : Les actions que les objets de la classe peuvent effectuer.

 Relation : Les liens entre les classes, montrant comment elles sont associées les
unes aux autres. Les types courants de relations incluent l'association,
l'agrégation, la composition, l'héritage, etc.

 Multiplicité : Indique combien d'objets d'une classe sont liés à un ou plusieurs


objets d'une autre classe.

 Visibilité : Indique la portée des attributs et opérations (par exemple, public,


privé, protégé).

Les figures 29, 30, 31, 32 illustrent les diagrammes de classe de conception du système.

La figure 29 représente le diagramme de classe de conception pour le cas d’utilisation «


S’authentifier, Créer un compte ».

63
Figure 29. Diagramme de classe de conception S’authentifier
La figure 29 représente le diagramme de classe de conception pour le cas
d’utilisation « Suspendre un compte, Réactiver un compte, Recharger un agent cash point».

Figure 30. Diagramme de classe de conception Suspendre un compte, Réactiver


un compte, Recharger un agent cash point

La figure 31 représente le diagramme de classe de conception pour le cas


d’utilisation « Créditer un client, Débiter un client».

64
Figure 31. Diagramme de classe de conception Créditer un client, Débiter un client
La figure 32 représente le diagramme de classe de conception pour le cas d’utilisation «Faire
un dépôt via cash point, Faire un retrait via un cash point, Transférer un fond vers un
compte».

Figure 32. Diagramme de classe de conception Faire un dépôt via cash point,
Faire un retrait via un cash point, Transférer un fond vers un compte

6.4 Diagramme de classe de conception globale


La figure 33 montre le diagramme de classe de conception globale

65
Figure 33. Diagramme de classe globale
6.5 Diagramme de paquetages
Un paquetage regroupe en lui des éléments unitaires d’UML, ainsi les diagrammes de
paquetages représentent le regroupement de ces éléments (des classes par exemple), mais
aussi les dépendances qu’ils peuvent avoir.

La figure 34 illustre le diagramme de paquetage de l’application

Figure 34. Diagramme de paquetage


6.6 Diagramme de déploiement
Le diagramme de déploiement prend en compte les différents composants matériels
(tels les ordinateurs, réseaux, périphériques, systèmes de stockage, …) et représente la
manière dont ils s’interagissent et dont ils sont repartis.

66
La figure 35 illustre le diagramme de déploiement de l’application.

Figure 35. Diagramme de déploiement

67
PARTIE III : REALISATION

68
Chapitre 7 : Mise en place de l’environnement de développement
7.1 Installation et configuration des outils
Visual Studio Code : outil de développement

Visual Studio Code est un environnement de développement léger et puissant conçu


par Microsoft. Avec une interface utilisateur minimaliste, il offre une multitude de
fonctionnalités grâce à son écosystème d'extensions. Doté d'une grande flexibilité, il prend en
charge de nombreux langages de programmation et propose des outils intégrés pour le
débogage, la gestion de versions et bien plus. Sa personnalisation aisée et ses nombreuses
extensions en font un choix populaire pour les développeurs de tous niveaux, offrant une
expérience fluide et efficace.

Cet IDE polyvalent allie simplicité et performances, offrant une expérience de


développement agréable et intuitive. Grâce à ses fonctionnalités telles que l'auto-complétions,
la navigation intelligente dans le code et les nombreuses extensions, il permet une
personnalisation adaptée aux besoins spécifiques de chaque développeur. Sa configuration
légère et sa grande réactivité en font un outil idéal pour le développement de logiciels,
soutenu par une communauté active qui enrichit constamment son éventail de fonctionnalités
et d'extensions.

La figure 36 montre l’installation de Visual Studio Code.

69
Figure 36. Installation Visual Studio Code

La figure 37 montre l’installation finale de Visual Studio code

Figure 37. Installation finale de Visual Studio Code


La figure 38 montre l’interface graphique de Visual Studio code

Figure 38 interface graphique de Visual Studio code

70
Visual Paradigm : outil de modélisation

Visual Paradigm est un logiciel de création de diagrammes dans le cadre d'une


programmation. Tout en un, il possède plusieurs options permettant une large possibilité de
modélisation en UML. [11]
Visual Paradigm gère la plupart des diagrammes spécifiés dans la norme UML, elle est basée
sur le langage de modélisation UML (Unified Modelling Language), c’est pourquoi on l’a
choisi comme outil de modélisation pendant l’élaboration de ce projet.

La figure 39 montre l’installation de Visual Paradigm.

Figure 39 Installation de Visual Paradigm

7.2 Architecture de l’application


Comme on a vu dans le chapitre précédent, l’application suit l’architecture MVC. Le

MVC qui est un modèle de conception à trois couches qui repose sur la volonté de séparer les
données, les traitements et la présentation.

L’application se compose alors de plusieurs couches :

La couche donnée : elle responsable du stockage et de la gestion des données. Elle


interagit avec la base de données pour stocker, récupérer, mettre à jour et supprimer les
informations nécessaires au fonctionnement de l'application. Cette couche assure la

71
persistance des données et fournit une interface pour accéder aux données de manière
sécurisée, optimisée et conforme aux exigences de l'application.

La couche logique métier : elle contient la logique métier et les règles qui gouvernent
le comportement de l'application. Elle interprète les données provenant de l'interface
utilisateur, exécute des calculs, valide les entrées et coordonne les opérations entre les
différentes parties de l'application. Cette couche garantit la cohérence des opérations,
l'intégrité des données

La couche présentation : elle gère la présentation visuelle des données, les


interactions, et assure une navigation fluide. Elle intègre les éléments graphiques, les
formulaires, et les contrôles permettant aux utilisateurs de manipuler les fonctionnalités de
l'application de manière efficace.

La figure 40 montre l’architecture de l’application.

Figure 40 Architecture de l'application

72
Chapitre 8 : Développement de l’application
8.1 Création de la base de données
Pour la création de la base de données, nous avons utilisé un « mapping object-
relationnel » (ORM) appelé PRISMA.

PRISMA une couche d'accès aux données pour [Link]. Il simplifie l'interaction entre une
base de données et une application en offrant une interface de programmation pour exécuter
des opérations de base de données de manière plus intuitive. Il permet aux développeurs de
définir le schéma de la base de données directement dans le code ensuite il génère
automatiquement des requêtes SQL optimisées en fonction des opérations définies dans le
code. PRISMA offre des fonctionnalités de migration de base de données, permettant de
gérer facilement les changements de schéma et de versionner les modifications apportées à la
base de données tout en préservant les données existantes. [11]

La figure 41 montre le concept de PRISMA.

Figure 41 Concept de PRISMA [10]

73
8.2 Codage de l’application
Dans cette présente section, nous présentons des extraits du code sources de
l’application.

La figure 42 montre la souscription lors de l’inscription d’un utilisateur.

Figure 42. Inscription d’utilisateur

La figure 43 représente la création d’une transaction qui vient d’être faite.

Figure 43. Création d’une transaction

74
La figure 44 représente l’affichage des utilisateurs.

Figure 44 Affichage des utilisateurs

La figure 45 représente l’activation d’un compte utilisateur.

Figure 46 Activation d'un compte

75
8.3 Présentation de l’application
Afin de bien procéder à la présentation, on a décidé de fournir quelques captures
d’écran afin de bien montrer les aptitudes de l’application, voir les figures 47, 48, 49, 50, 51.

La figure 47 montre la page où l’on peut s’inscrire et se connecter.

Figure 47. Page où l’on peut s’inscrire et se connecter

Les utilisateurs saisissent les informations nécessaires pour pouvoir accéder au


compte.

La figure 48 montre la page d’acceuil en générale des utilisateurs.

Figure 48. Page d’acceuil en générale des utilisateurs

76
Les utilisateurs peuvent voir leurs dernières transactions, leurs soldes et autres.

La figure 49 affiche la page où l’on effectue un transfert d’argent.

Figure 49. Transfert d’argent


L’utilisateur saisit ici les informations nécessaires pour qu’un transfert soit valide.

La figure 50 nous permet de voir l’historique de transaction de l’utilisateurs.

Figure 50. Historique de transaction de l’utilisateurs

Les utilisateurs pourront consulter toutes leurs transactions.

77
La figure 51 affiche l’interface de gestion des utilisateurs par l’admin.

Figure 51. Gestion des utilisateurs


Dans cet interface l’admin peut rechercher des comptes, le suspendre, le réactiver, le
supprimer et voir les transactions de cet utilisateur.

La figure 52 montre les informations sur un compte marchand.

Figure 52 Informations sur un compte marchand


C’est l’interface où un compte marchand peut voir ses informations et les modifier mais pas la
clé de l’api Wallet’ntsika.

78
CONCLUSION
Enfin, on peut dire que la pratique qui s’est déroulé au sein de la société SOFTLAB
Antananarivo Madagascar m’a aidé à améliorer mes connaissances. En plus, les 3 mois de
stage passé au sein de la société m’a permis de me familiariser avec la vie de l’entreprise et de
développer mon épanouissement professionnel.

Nous avons démontré que grâce à cette application web, la gestion des fonds et des
transactions financières est plus accessible pour les utilisateurs surtout locaux.

Pour développer ce projet on a utilisé : la méthode de conception 2TUP, le langage de


modélisation UML, l’outil de modélisation Visual Paradigm, l’environnement de
développement Visual Studio Code, le langage de programmation JavaScript, la librairie
ReactJS, le framework Express et SQLite pour la base de données.

Le développement de cette application m’a aidé à accroître mes compétences


concernant le développement d’une application informatique, particulièrement les
applications web et la sécurisation de la base de données. On espérera que ce produit aura
participé à faire gagner du temps aux utilisateurs, à faciliter les transactions financières et les
achats en ligne.

Pour perspective, on pourra envisager d’améliorer l’application à savoir : créer une


version mobile de notre application, améliorer le système de gestion de base de données.

Malgré les difficultés que nous avons pu rencontrer vu la complexité de ce projet, il est
maintenant achevé.

79
BIBLIOGRAPHIE

[1] Antoine Clave, UML, le 12 Juillet 2017, 592pages

[2] Stoyan Stefanov, React : Up & Running: Building Web Applications, 222 pages
[3] David Herron, [Link] Web Development : Couvre le développement web avec [Link], y
compris [Link], 30 Mai 2018, 494 pages
[4] Marc Wandschneider, Learning [Link] : A Hands-On Guide to Building Web
Applications in JavaScript, 29 Juin 2013, 304 pages

X
WEBOGRAPHIE
[5][Link]
Diagramme UML et la méthode 2TUP consulté le 16 Octobre 2023
[6] [Link] Site officiel de [Link] consulté le 18 Septembre 2023
[7] [Link] Site officiel de React consulté le 13 Septembre 2023
[8] [Link] Plateforme qui offre une vaste gamme de cours sur les
frameworks de développement consulté le 2 Octobre 2023
[9] [Link] Consulté pour
trouver une image de la structure MVC le 30 Octobre 2023
[10] [Link] Plateforme qui offre une vaste progamme de
cours sur l’ORM Prisma consulté le 2 Octobre 2023
[11] [Link] Plateforme où on a trouvé un démo de
comment utiliser visual paradigm consulté le 14 Octobre 2023

XI
GLOSSAIRE
Architecture : le résultat d'un processus de sélection naturelle rapide où les critères de
compétitivité s'appellent modularité, maintenabilité, portabilité, efficacité, évolutivité. Sous la
pression de ces critères et du continuel renouvellement des technologies, l'architecture des
applications a progressivement évolué du système Mainframe à l'application Web en passant
par le client / serveur et les systèmes distribués.
Base de données : un ensemble structuré et organisé de données qui représente un système
d’information sélectionnées de telles sorte qu’elles puissent être consultées par des utilisateurs
ou par des programmes.
Clé étrangère : Code d’une table référençant un enregistrement d’une autre table.

Clé primaire : Code identifiant de manière unique un enregistrement dans une table.

SGBD : Un logiciel qui contrôle l’accès, la récupération, et la mise à jour des données
contenues dans une base de données.
SQL : Un langage standard qui sert à communiquer avec le SGBD pour le traitement de la
base de données
Portefeuille en ligne : Plateforme numérique permettant de stocker et gérer des actifs
monétaires, facilitant les transactions et la gestion financière.
Transaction : Échange d'informations ou de biens entre systèmes ou parties, souvent
financièrement, sécurisé et enregistré pour assurer la validité et la traçabilité
Site e-commerce : Plateforme en ligne permettant la vente et l'achat de biens ou services,
offrant des fonctionnalités d'affichage, de transaction et de gestion des commandes.

Une plateforme : c’est un système ou espace en ligne fournissant des services, outils ou
interactions pour des utilisateurs dans un domaine spécifique.

Axiome : Énoncé fondamental, considéré comme évident et indiscutable dans un système


logique, servant de base à une théorie ou démonstration mathématique.

Trame : Structure sous-jacente ou organisation fondamentale, définissant le cadre ou schéma


général d'un concept, texte ou processus.

XII
Cash point : C’est un terme souvent utilisé pour désigner un endroit physique où les clients
peuvent effectuer des opérations financières en espèces, telles que des retraits d'argent liquide,
des dépôts ou d'autres transactions financières de base

TABLE DES MATIERES

Contenu
CURRICULUM VITAE.........................................................................................................................I
SOMMAIRE...........................................................................................................................................III
REMERCIEMENTS................................................................................................................................V
LISTE DES FIGURES...........................................................................................................................VI
LISTE DES TABLEAUX...................................................................................................................VIII
LISTE DES ABREVIATIONS..............................................................................................................IX
INTRODUCTION GENERALE..............................................................................................................1
PARTIE I : PRESENTATIONS.............................................................................................................2
Chapitre 1. Présentation de l’Ecole Nationale d’Informatique......................................................3
1.1. Information d’ordre générale......................................................................................3
1.2. Missions et historiques................................................................................................3
1.3. Organigramme institutionnel......................................................................................5
1.4. Domaine de spécialisation...........................................................................................6
1.5. Architecture des formations pédagogiques.................................................................6
1.6. Relation de l’ENI avec les organismes externes..........................................................8
1.7. Débouchés professionnels et diplômés.........................................................................8
1.8. Ressources humaines.................................................................................................10
Chapitre 2. Présentation de SOFTLAB..........................................................................................11
2.1 Fiche d’Identification................................................................................................11
2.2 Objectifs : Mission / Activités....................................................................................11
2.3 Organisation (organigramme général)......................................................................11
Chapitre 3. Description du projet..................................................................................................12
3.1 Formulation....................................................................................................................12
3.2 Objectif et besoins des utilisateursbes.............................................................................12
3.3 Moyens nécessaires à la réalisation du projet.................................................................13
3.4 Résultats attendus...........................................................................................................14
3.5 Chronogramme d’activité...............................................................................................15

XIII
PARTIE II : ANALYSE ET CONCEPTION.......................................................................................16
Chapitre 4. Analyse préalable.........................................................................................................17
4.1 Analyse de l’existant.......................................................................................................17
4.1.1 Organisation actuelle................................................................................................17
4.1.2 Existants Matériels et logiciels.................................................................................17
4.2 Critique de l’existant......................................................................................................18
4.3 Conception avant-projet.................................................................................................18
4.3.1 Proposition de solutions...........................................................................................18
4.3.2 Méthode de conception et outils utilisés...................................................................19
Chapitre 5. Analyse conceptuelle....................................................................................................33
5.1 Présentation de la méthode 2TUP...................................................................................33
5.2 Dictionnaire des données.................................................................................................33
5.3 Règle de gestion...............................................................................................................35
5.4 Représentation et spécification des besoins.....................................................................36
5.4.1 Diagramme des cas d’utilisation..............................................................................36
5.4.2 Description textuelle pour chaque cas d’utilisation.................................................37
5.4.3 Priorisation des cas d’utilisation..............................................................................41
5.4.4 Diagramme de séquence système pour chaque cas d’utilisation..............................42
5.5 Spécification des besoins techniques...............................................................................51
5.6 Modélisation du domaine................................................................................................52
Chapitre 6. Conception détaillée.....................................................................................................53
6.1 Architecture du système..................................................................................................53
6.2 Diagramme de séquence de conception pour chaque cas d’utilisation............................54
6.3 Diagramme de classe de conception pour chaque cas d’utilisation.................................63
6.4 Diagramme de classe de conception globale....................................................................66
6.5 Diagramme de paquetages..............................................................................................66
6.6 Diagramme de déploiement............................................................................................67
PARTIE III : REALISATION...............................................................................................................68
Chapitre 7 : Mise en place de l’environnement de développement.............................................69
7.1 Installation et configuration des outils............................................................................69
7.2 Architecture de l’application..........................................................................................71
Chapitre 8 : Développement de l’application.................................................................................73
8.1 Création de la base de données.......................................................................................73
8.2 Codage de l’application...................................................................................................74

XIV
8.3 Présentation de l’application..........................................................................................76
CONCLUSION......................................................................................................................................79
BIBLIOGRAPHIE...................................................................................................................................X
WEBOGRAPHIE...................................................................................................................................XI
GLOSSAIRE.........................................................................................................................................XII
TABLE DES MATIERES...................................................................................................................XIII

XV

Vous aimerez peut-être aussi