CV de Randrianarison N'Isaïe David
CV de Randrianarison N'Isaïe David
FORMATIONS ET DIPLOMES
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
COMPETENCES LINGUISTIQUES
APTITUDE
COMPREHENSION EXPRESSION
LANGUES ORALE ECRITE ORALE ECRITE
FRANÇAIS TB TB TB TB
ANGLAIS AB B B B
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 :
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
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
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
1
PARTIE I : PRESENTATIONS
2
Chapitre 1. Présentation de l’Ecole Nationale d’Informatique
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).
4
1.3. Organigramme institutionnel
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
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.
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
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 …
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.
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.
Assemblée Générale
Gérant
Designers
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.
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.
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.
Moyens logiciels
Le tableau 7 contient les moyens logiciels utilisés pour le projet.
Tableau 7. Moyens logiciels
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).
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.
portables 500Go,4Go
RAM,CPU
3GHz
17
Moyens logiciels
Points faibles
Points forts
Abondance de productivité
Bonne organisation de travail
18
Le tableau 10 compare ces deux solutions.
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.
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
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 » :
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
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
22
Le langage de modélisation UML
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.
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
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.
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.
Backend
26
Le tableau 13 représente la comparaison entre Ruby et NodeJS.
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]
Librairie :
Frontend
JavaScript présente beaucoup de librairie qu’on peut utiliser pour faciliter le processus de
développement logiciel comme ReactJS et VueJS.
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.
Framework :
Backend
NodeJS propose plusieurs Frameworks comme Express, Hapi,…
Le tableau 15 montre la comparaison entre Express et Hapi.
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é.
30
Tableau 16. Comparaison de MySQL et SQLite
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
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.
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.
33
revenu C’est le revenu de l’application N 20
affiché côté administrateur
34
Légendes :
A : Alphabétique
AN : Alpha Numérique
N : Numérique
D : Date
B : Boolean
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.
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).
37
Le tableau 20 représente la fiche de description de cas d’utilisation « Créer un compte ».
38
Tableau 22. Description textuelle « Réactiver un compte »
39
Tableau 24. Description textuelle « Crédité un client ou un marchand »
Le tableau 25 représente la fiche de description de cas d’utilisation « Faire un dépôt via cash
point ».
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é
41
Tableau 27. Tableau de priorisation des cas d’utilisation
S’authentifier Utilisateurs 1
42
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
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.
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.
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.
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 »
Diagramme de séquence de conception pour le cas d’utilisation « 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 »
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 »
61
Figure 28. Diagramme de séquence de conception « Transférer un fond vers un compte
»
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.
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.
Les figures 29, 30, 31, 32 illustrent les diagrammes de classe de conception du système.
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».
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
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.
66
La figure 35 illustre le diagramme de déploiement de l’application.
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
69
Figure 36. Installation Visual Studio Code
70
Visual Paradigm : outil de modélisation
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.
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
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]
73
8.2 Codage de l’application
Dans cette présente section, nous présentons des extraits du code sources de
l’application.
74
La figure 44 représente l’affichage des utilisateurs.
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.
76
Les utilisateurs peuvent voir leurs dernières transactions, leurs soldes et autres.
77
La figure 51 affiche l’interface de gestion des utilisateurs par l’admin.
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.
Malgré les difficultés que nous avons pu rencontrer vu la complexité de ce projet, il est
maintenant achevé.
79
BIBLIOGRAPHIE
[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.
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
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