Application de Gestion de Paiement de Cantine
Application de Gestion de Paiement de Cantine
Mention : Informatique
Parcours : Génie logiciel et Base de Données
Intitulé :
Membres du Jury :
Madame RATIANANTITRA Volatiana Marielle, Maître de conférences
Monsieur RANDRIANANTENAINA Sitraka Nehemia Léon, Directeur technique
2023 – 2024
Curriculum Vitae
2811 RAMANGALAHY Rohintsoa Aroniaina
Informations personnelles
Lot IIP 45-Tambohobe, 301 Fianarantsoa
Ramangalahyaroniaina0@[Link]
+261 34 46 221 29
Né le 02 octobre 2003
Expériences professionnelles
MaDigiCom | Fianarantsoa | Septembre 2024 à novembre 2024
Stage d’imprégnation en développement Web
Formations
ENI | Fianarantsoa | Janvier 2023, en cours
Licence professionnelle en Génie logiciel et Base de Données
ITTI | Fianarantsoa | Août 2021 à Mars 2022
Anglais avancé
LSJC | Fianarantsoa | 2019 à juillet 2022
Baccalauréat général, série Scientifique, option D
Connaissances en informatique
Algorithmes et structures de données
Système embarqué : Montage avec Arduino
Base de données : MySQL, PostgreSQl
Compétences en programmation
HTML VueJs C++
CSS ReactJs C#
Javascript NodeJs Python
PHP C Java
Compétences linguistiques
Malagasy Maternelle Français Courant Anglais Courant
Autres compétences
Pack office sous Windows
Bases de comptabilité
Loisirs
Basket-ball
Jeux vidéo
Music
Projets
Gestion de réservation | C#, PostgreSQL | Juillet 2024
Gestion de stock de pharmacie | Java, PostgreSQL | Mai 2024
Gestion de vente de voiture | PHP, HTML, CSS, MySQL | Mars 2024
I
Gestion de vente | Framework Qt, C++, MySQL | Septembre 2023
I
2861 RAKOTOSAMIMANANA Andriamarosoa Fitiavana
Informations personnelles
Lot IB 709/3611-Tanambao, 301 Fianarantsoa
andri.fitiavana126@[Link]
+261 34 54 455 11 / +261 33 49 061 21
Née le 12 juin 2005
Expériences professionnelles
MaDigiCom | Fianarantsoa | Septembre 2024 à novembre 2024
Stage d’imprégnation en développement Web
Formations
ENI | Fianarantsoa | Janvier 2023, en cours
Licence professionnelle en Génie logiciel et Base de Données
LCMMR | Analavory Itasy | 2019 à juillet 2022
Baccalauréat général, série Scientifique, option C
Connaissances en informatique
Algorithmes et structures de données
Système d’exploitation : Windows, Linux (Ubuntu)
Système embarqué : Montage avec Arduino
Base de données : MySQL, PostgreSQl
Compétences en programmation
HTML VueJs C++
CSS ReactJs C#
Javascript NodeJs Java
PHP C
Compétences linguistiques
Malagasy Maternelle Français Courant Anglais Courant
Autres compétences
Pack office sous Windows
Bases de comptabilité
Loisirs
Dessin
Photographie
Jeux vidéo
Projets
Gestion de commande | C#, HTML, CSS, Javascript, MySQL | Juillet 2024
Gestion d’une session de CEPE | Java, PostgreSQL | Mai 2024
Gestion de visite | VueJs, CSS, PHP, MySQL | Avril 2024
Gestion de vente de voiture | PHP, HTML, CSS, MySQL | Mars 2024
Gestion de stock de Médicaments | Framework Qt, C++, MySQL | Septembre 2023
II
Sommaire
Curriculum Vitae ............................................................................................................................... I
Sommaire ......................................................................................................................................... III
Remerciements .................................................................................................................................. V
Liste de figures .................................................................................................................................VI
Liste des tableaux ...........................................................................................................................VII
Liste des abréviations ...................................................................................................................VIII
Introduction ........................................................................................................................................1
Partie I : Présentation ..................................................................................................................2
Chapitre 1 : Présentation de l’Ecole Nationale d’Informatique ............................................ 3
1. 1. Informations générales ...................................................................................................3
1. 2. Missions et historiques ...................................................................................................3
1. 3. Organigramme institutionnel de l’ENI .......................................................................... 4
1. 4. Domaines et Spécialisation ............................................................................................ 6
1. 5. Architecture des formations pédagogiques ....................................................................6
1. 6. Relation de l’ENI avec les entreprises et organismes ....................................................8
1. 7. Partenariat au niveau international ...............................................................................10
1. 8. Débouchés professionnels des diplômés ......................................................................11
1. 9. Ressources humaines ................................................................................................... 12
Chapitre 2 : Présentation de MaDigiCom ............................................................................. 13
2. 1. Informations générales .................................................................................................13
2. 2. Missions et historiques .................................................................................................13
2. 3. Organisation générale .................................................................................................. 13
2. 4. Ressources humaines ................................................................................................... 14
2. 5. Moyens matériels ......................................................................................................... 15
2. 6. Services proposés .........................................................................................................15
2. 7. Client ............................................................................................................................16
2. 8. Processus de développement ....................................................................................... 16
Chapitre 3 : Description du projet ......................................................................................... 18
3. 1. Formulation ..................................................................................................................18
3. 2. Objectifs et besoins de l’utilisateur ..............................................................................18
3. 3. Moyens nécessaires à la réalisation du projet .............................................................. 19
3. 4. Résultats attendus ........................................................................................................ 20
3. 5. Chronogramme de travail ............................................................................................ 20
Partie II : Analyse et conception ................................................................................................ 22
Chapitre 4 : Analyse préalable ................................................................................................23
4. 1. Analyse de l’existant ....................................................................................................23
III
4. 2. Critique de l’existant ....................................................................................................24
4. 3. Conception avant-projet ...............................................................................................25
Chapitre 5 : Analyse conceptuelle .......................................................................................... 31
5. 1. Présentation de la méthode Merise .............................................................................. 31
5. 2. Dictionnaire des données ............................................................................................. 33
5. 3. Règles de gestion ......................................................................................................... 34
5. 4. Diagramme de flux ...................................................................................................... 35
5. 5. Modélisation des données ............................................................................................ 36
Partie III : Réalisation ...............................................................................................................41
Chapitre 6 : Mise en place de l’environnement de développement ..................................... 42
6. 1. Installation et configuration des outils .........................................................................42
6. 2. Architecture de l’application ........................................................................................46
Chapitre 7 : Développement de l’application ........................................................................ 50
7. 1. Création de la base de données .................................................................................... 50
7. 2. Codage de l’application ............................................................................................... 50
7. 3. Présentation de l’application ........................................................................................52
Conclusion ........................................................................................................................................ 59
Bibliographie ....................................................................................................................................XI
Webographie .................................................................................................................................. XII
Glossaire ........................................................................................................................................XIII
Annexes ........................................................................................................................................... XV
Table de matière ........................................................................................................................... XVI
Résumé ...........................................................................................................................................XIX
Abstract ...........................................................................................................................................XX
IV
Remerciements
En préambule à ce rapport, nous tenons à exprimer nos sincères remerciements à toutes les
personnes qui ont contribué, de près ou de loin, à la réussite de cette expérience enrichissante,
comprenant :
− Monsieur HAJALALAINA Aimé Richard, Docteur HDR, Enseignant chercheur, actuel
Président de l’université de Fianarantsoa, pour assurer la direction de l’université avec
bienveillance et clarté.
− Monsieur MAHATODY Thomas, Docteur HDR, Directeur de l’ENI, pour son engagement
constant pour le développement de l’école.
− Monsieur RAZAFIMAHATRATRA Mandasarobidy, Gérant de MaDigiCom, pour
l’opportunité d’effectuer notre stage au sein de son entreprise.
− Monsieur RABETAFIKA Louis Haja, Maître de Conférences, Professeur à l’ENI et
Responsable de mention, qui a assuré notre apprentissage et partagé son enseignement.
− Monsieur RALAIVAO Jean Christian, Maître de Conférences, Professeur à l’ENI et
Responsable de Parcours, qui a assuré notre apprentissage, nous a conseillé et nous a
soutenu tout au long de l’année.
− Madame RATIANANTITRA Volatiana Marielle, Maître de conférences et Professeur à
l’ENI pour avoir partagé ses connaissances avec nous durant l’année et pour son
encadrement. On la remercie pour la qualité de son travail, sa patience et sa disponibilité
pour l’évaluation de ce projet.
− Monsieur RANDRIANANTENAINA Sitraka Nehemia Léon, Directeur technique,
également pour son encadrement et précieux conseils tout au long du stage.
− Tout le corps enseignant pour leur dévouement et engagement à nous transmettre leurs
connaissances malgré leurs autres charges académiques et professionnelles.
− Les employés de MaDigiCom, pour leur chaleureux accueil, précieux conseils et soutien
durant le stage.
− Nos parents, pour leur soutien indéfectible et leur encouragements constants.
− Et enfin, nos amis avec qui on s’est entraidé et soutenu qui ont été une source de motivation
et de confort.
V
Liste de figures
Figure 1 : Organigramme de l'ENI ...................................................................................................... 5
Figure 2 : Architecture de LMD .......................................................................................................... 7
Figure 3 : Organigramme de MaDigiCom .........................................................................................14
Figure 4 : Processus de développement ............................................................................................. 17
Figure 5 : Diagramme de flux ............................................................................................................36
Figure 6 : Modèle Conceptuel des Données ...................................................................................... 37
Figure 7 : Modèle Conceptuel des Traitements ................................................................................. 39
Figure 8 : Installation de VS Code .....................................................................................................43
Figure 9 : Installation et configuration de PostgreSQL ..................................................................... 44
Figure 10 : Sections de code frontend ............................................................................................... 46
Figure 11 : Sections de code backend ................................................................................................47
Figure 12 : Tables de la base de données ...........................................................................................48
Figure 13 : Sections de code JSON ................................................................................................... 48
Figure 14 : Page d'accueil de LunchPay ............................................................................................ 53
Figure 15 : Page de connexion d'utilisateur ....................................................................................... 53
Figure 16 : Page de connexion d'administrateur ................................................................................54
Figure 17 : Page d'inscription ............................................................................................................ 54
Figure 18 : Page employé .................................................................................................................. 55
Figure 19 : Tableau de bord ............................................................................................................... 55
Figure 20 : Liste des employés .......................................................................................................... 56
Figure 21 : Rapports .......................................................................................................................... 56
Figure 22 : Paramètres ....................................................................................................................... 57
VI
Liste des tableaux
Tableau 1: Organisation du système de formation pédagogique de l'école ......................................... 6
Tableau 2 : Liste des formations existantes à l'ENI .............................................................................8
Tableau 3 : Débouchés professionnels éventuels des diplômés .........................................................11
Tableau 4 : Moyens matériels ............................................................................................................ 19
Tableau 5 : Cycle d'abstraction pour la conception des systèmes d'informations ............................. 32
Tableau 6 : Dictionnaire de données ..................................................................................................34
Tableau 7 : Modèle Organisationnel des Traitements ....................................................................... 40
VII
Liste des abréviations
ACID : Atomicité, Cohérence, Isolement et Durabilité
AN : Alphanumérique
API : Application Programming Interface
ASR : Administration des Systèmes et Réseaux
AUF : Agence Universitaire de la Francophonie
B : Booléen
BFV : Banky Fampandrosoana ny Varotra
BIANCO : Bureau Indépendant Anti-Corruption
BNGRC : Bureau Nationale de Gestion des Risques et des Catastrophes
BNI : Banque Nationale de l’Industrie
BtoB, B2B : Business - to – business
BtoC, B2C : Business to Consumer
C2i2e : Certificat Informatique et Internet de l’Enseignement supérieur de niveau 2 « enseignant »
C2imi : Certificat Informatique et Internet de l’Enseignement supérieur « métiers de l’ingénieur »
CARI : Colloque Africain sur la Recherche en Informatique
CARI : Colloque Africain sur la Recherche en Informatique
CCNA : Cisco Cerfified Network Associate
CCNA : Cisco Certified Network Associate
CEDII : Centre d’Echanges, de Documentation et d’Information Interinstitutionnels
CETE : Centre d’Etudes Techniques de l’Equipement
CHU : Centre Hospitalier Universitaire
CISCO : Commercial and Industrial Security Corporation
CIT : Centre Technique d’Information
CITEF : Conférence Internationale des écoles d’ingénieurs et Technicien d’Expression Française
CITEF : Conférence Internationale des écoles de formation d’ingénieurs et Technicien
d’Expression Française
CMS : Content Management Sustem
CNH : Commission Nationale d’Habilitation
CNRE : College of Natural Resources and Environment
CNRIT : Computer Networking Resources IT
COFAV : Carridor forestier de Fandriana jusqu’à Vondrozo
COVAF : Corridor forestier de Fandriana jusqu’à Vondrozo
CRUD : Create, Read, Update, Delete
CSS : Cascading Style Sheet
CUR : Centre Universitaire Régional
D : Date
D : Doctorat
DEA : Diplôme d’Etudes Approfondies
DLC : Downloadable Content
DOM : Document Object Model
Dr : Docteur
DTS : Droit de Tirage Spécial
ENI : Ecole Nationale d’Informatique
VIII
ERP : Enterprise Resource Planning
ESIROI : Ecole Supérieure d’Ingénieurs Réunion Océan Indien
ESN : Entreprise de Service Numérique
ESPA : Ecole Supérieure Polytechnique d’Antananarivo
FID : Fonds d’Intervention pour le Développement
FPPSM : Forêts, Parcs et Pauvreté dans le Sud de Madagascar
FTM : Foiben-Taosarintanin’i Madagasikara
GBD : Génie logiciel et Base de Données
GID : Gouvernance et Ingénierie de Données
HDR : Habilitation à Diriger des Recherche
HTML : HyperText Mark-up Language
HTTP : HyperText Transfert Protocol
IA : Intelligence Artificielle
IDE : Integrated Development Environment
IG : Informatique Générale
INPG : Institut National Polytechnique de Grenoble
INSA : Institut National des Sciences Appliquées
INSTAT : Institut National de la Statistique
IOGA : Institut et Observatoire de Géophysique d’Antananarivo
iOS : iPhone Operating System
IRD : Institut de Recherche pour le Développement
IREMIA : Institut de Recherche en Mathématiques et Informatique Appliquées
IT : Information Technology
ITTI : International Tesol Training Institute
JIRAMA : Jiro sy Rano Malagasy
JSON : JavaScript Object Notation
JSX : JavaScript XML
JWT : Json Web Token
L : Licence
LCMMR : Lycée Catholique Mompera Michel Ranaivo
LMD : Licence – Master - Doctorat
LSJC : Lycée Saint Joseph de Clunny
M : Master
MAEP : Ministère de l’Agriculture, de l’Elevage et de la Pêche
MCD : Modèle Conceptuel des Données
MCT : Modèle Conceptuel des Traitements
MEF : Ministère de l’Environnement et des Forêts
MEN : Ministère de l’Education Nationale
MESupReS : Ministère et l’Enseignement Supérieur et de la Recherche Scientifique
MFB : Ministère des Finances et du Budget
MIC : Ministère de l’Industrialisation et du Commerce
MININTER : Ministère de l’Interieur
MLD : Modèle Logique des Données
Mlle : Mademoiselle
Mme : Madame
MOT : Modèle Organisationnel des Traitements
IX
Mr : Monsieur
N : Numérique
NFC : Near Field Communication
OCC : Objets Connectés et Cybersécurités
OS : Operating System
OTME : Office des Transmissions Militaires de l’Etat
PARRUR : Partenariat et Recherche dans le secteur Rural
PDG : Président de Direction Générale
PHP : PHP Hypertext Preprocessor
PRESUP : Programme de Renforcement de l’Enseignement Supérieur
PRESUP : Programme de Renforcement de l’Enseignement Supérieur
PWA : Progressive Web App
QMM : Qit Madagascar Minerals
QR : Quick Response
RAD : Rapid-Application Development
REST : Representational State Transfer
RH : Ressources Humaines
SAV : Service Après-Vente
SEPT : Société d’Exploitation du Port de Toamasina
SGBD : Système de Gestion de Base de Données
SGBDR : Système de Gestion de Base de Données Relationnelle
SMMC : Société de Manutention des Marchandises Conventionnelles
SPA : Single Page Application
SQL : Structured Query Language
SSII : Société de Service et d’Ingénierie Informatique
STIM : Services des Télécommunications, de l’Informatique et du Multimédia
SVN : Subversion
TIC : Technologies et l’Information et de la Communication
UI : User Interface
UML : Unified Modeling Language
UPST : Université Paul Sabatier de Toulouse
USAID : United State Agency for International Development
UX : User eXperience
WWF : World Wide Fund
XML : eXtensible Markup Language
XSS : Cross-Site scripting
X
Introduction
La rapide évolution technologique a transformé notre vision du monde et ouvert de
nouvelles perspectives. Au cœur de cette révolution, les entreprises de services numériques
s’imposent comme des acteurs clés, modelant l’avenir grâce à des innovations qui dépassent les
frontières traditionnelles. Dans de nombreuses entreprises, la gestion des paiements des repas des
employés repose encore sur des processus manuels, ce qui alourdit le travail administratif,
augmente le risque d'erreurs et allonge les délais de traitement. Ce stage porte sur le développement
d’un site de gestion de paiement de cantine pour optimiser le traitement des indemnités journalières
des employés.
Au sein de MaDigiCom, une de ces entreprises, la gestion actuelle des cantines repose sur
des processus manuels, ce qui entraine des erreurs, des retards dans les paiements et un manque de
traçabilité. Ces limitations impactent non seulement l’efficacité administrative mais également la
satisfaction des employés. Ce contexte pose a problématique de concevoir une solution numérique
fiable et performante capable d’améliorer la gestion de ces indemnités.
Pour répondre à cette problématique, une méthodologie structurée, méthode Merise, a été
adoptée pour la modélisation des données et des traitements. Le développement s’est appuyé sur des
technologies modernes comme React pour le frontend, [Link] et Express pour le backend. Ce
rapport retrace les étapes de ce projet, de la définition des objectifs à la mise en œuvre des solutions
et met en lumière l’importance de la technologie pour moderniser et simplifier ces processus de
gestion au sein des entreprises.
Pour assurer une présentation claire et complète du rapport, il est organisé en trois parties :
La première partie « Présentation » introduit l’ENI, l’entreprise d’accueil et le projet. La second
partie « Analyse et conception » détaille les analyses préalables et conceptuelles. Enfin, la troisième
partie « Réalisation » décrit le processus de développement et une description de l’application.
1
Partie I :
Présentation
2
Chapitre 1 : Présentation de l’Ecole Nationale d’Informatique
Ce chapitre présente une description détaillée de l’Ecole Nationale d’Informatique de
l’Université de Fianarantsoa. Un lieu d’apprentissage où l’on forme les ingénieurs et experts en
informatique de demain.
1. 1. Informations générales
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.
Les coordonnées pour la prise de contact avec l’Ecole sont les suivantes :
Ecole Nationale d’Informatique (ENI)
Antaninarenina Tanambao
BP 1487, 301 Fianarantsoa
Tel : 020 75 508 01
+261 34 05 733 36
+261 33 42 302 02
+261 32 15 204 28
Email : eni@[Link]
Web : [Link]
Facebook : ENI – Ecole nationale d’Informatique
ENI Ofisialy
1. 2. Missions et historiques
L’ENI s’impose dans le paysage socio-éducatif malagasy comme un acteur clé de la
diffusion et la vulgarisation des connaissances et les technologies informatiques. Elle est
aujourd’hui reconnue comme un centre d’excellence et une pépinière d’élite dans le domaine de
l’informatique à Madagascar.
L’ENI a vu le jour au sein du Centre Universitaire Régional (CUR) de Fianarantsoa, et a été
officiellement créée par le décret N°83-185 du 24 mai 1983. Il s’agit d’un établissement
universitaire professionnalisé à l’échelle nationale, conçu pour former des techniciens et des
ingénieurs hautement qualifiés, capables de répondre aux besoins croissants en matière
d’informatisation des entreprises et organismes malagasy.
Sa mission principale est de former des ingénieurs compétents et opérationnels à différents
niveaux en offrant aux étudiants des bases solides en informatique, en transmettant le savoir et
savoir-faire requis avec une approche professionnalisante des formations pour répondre aux
exigences du marché du travail. L’Ecole forme aussi ses étudiants à la recherche dans les domaines
des Technologies de l’Information et de la Communication (TIC).
Malgré son implantation dans un pays en développement et dans un Province (ou Faritany)
économiquement et industriellement peu développé, l’ENI a su former des spécialistes
informaticiens plus que compétents, très recherchés sur le marché de travail par les entreprises, les
sociétés et organisations publiques et privées nationales comme à l’international.
La filière de formation d’Analystes Programmeurs, créée en 1983, a été suspendue en 1996,
tandis que la filière de formation d’ingénieurs a démarré en 1986.
3
Le Programme de Renforcement de l’Enseignement Supérieur (PRESUP) a permis
l’ouverture en 1986 de la filière de formation des Techniciens Supérieurs en Maintenance des
Systèmes Informatiques, avec le soutien matériel et financier de la Mission Français de coopération
auprès de l’Ambassade de France à Madagascar.
En 2002-2003, un partenariat avec CISCO SYSTEM et l’Ecole Supérieure Polytechnique
d’Antananarivo (ESPA) a permis la mise en place d’une formation pour l’obtention de la
certification CCNA et/ou NETWORK+ dans le cadre de la « CISCO Networking Academy », bien
que cette formation ait été de courte durée.
Une formation de troisième cycle 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 options suivantes
de formation :
Génie logiciel et Base de Données (GBD) ;
Administration des Systèmes et Réseaux (ASR).
Ces options ont été introduites dans le cadre du passage au système LMD. Cependant, la
filière Techniciens Supérieurs en Maintenance des Systèmes Informatiques a été suspendue en 2009.
Pour pallier les limites d’accueil liées au manque d’infrastructures, un système de
« Formation Hybride » a été mis en place à partir de l’année 2010. Ce système combine
l’enseignement en semi-présentiel et à distance, avec l’usage de la visioconférence, et a été déployé
à Fianarantsoa ainsi qu’à l’Université de Toliara.
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 offre 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.
1. 3. Organigramme institutionnel de l’ENI
Cet organigramme de l'École, basé sur les dispositions du décret n° 83-185 du 24 mai 1983,
place l'établissement sous la tutelle académique et administrative de l'Université de Fianarantsoa.
L'École est dirigée par un Directeur élu par les enseignants-chercheurs permanents et nommé par
décret pris en Conseil des Ministres, pour un mandat de trois ans.
Le Conseil de l'École constitue l'organe délibérant de l’institution.
4
Tandis que le Collège des Enseignants, qui réunit l'ensemble des enseignants-chercheurs, est
chargé de la gestion pédagogique des enseignements. Ce dernier propose et coordonne les
programmes pédagogiques, en veillant à l'organisation et à la qualité des enseignements.
Le Conseil Scientifique, de son côté, oriente les choix pédagogiques et scientifiques de
l'École. Il veille à ce que les formations proposées répondent aux exigences du marché du travail et
aux besoins des entreprises, tout en coordonnant les programmes de recherche à réaliser au sein de
l'Établissement.
Le Secrétariat Principal assure la coordination des services administratifs tels que la
Scolarité, la Comptabilité et l'Intendance.
Conformément aux textes en vigueur dans les Établissements d'Enseignement Supérieur
malgaches, désormais structurés selon le système LMD, les Départements de Formation
pédagogique ont été remplacés par des Mentions et des parcours. Les chefs de département ont ainsi
été remplacés par des responsables de mentions et de parcours.
Un administrateur des Réseaux et Systèmes gère le système d’information de l’Ecole et
celui de l’Université.
Trois départements de formation caractérisent l’organigramme :
Le département de formation théorique à l’intérieur de l’Ecole ;
Le département de formation pratique pour la coordination et la supervision des stages en
entreprise et des voyages d’études ;
Le département de formation doctorale pour l’organisation de la formation de 3ème cycle.
L’organigramme de l’Ecole Nationale d’Informatique est présenté par la Figure 1.
5
1. 4. Domaines et Spécialisation
Les activités de formation et de recherche organisées à l’Ecole Nationale d’Informatique
(ENI) couvrent les domaines suivants :
Génie logiciel et Base de Données (GBD) ;
Administration des Systèmes et Réseaux (ASR) ;
Informatique Générale (IG) ;
Modélisation informatique et mathématique des Systèmes complexes ;
Intelligence artificielle (IA).
De manière plus générale, les programmes de formation à l’ENI sont axés sur plusieurs
grands domaines : l'informatique de gestion, l'informatique des systèmes et réseaux et l’intelligence
artificielle. Les modules de formation intègrent à la fois des concepts d'informatique fondamentale,
pour une solide maîtrise des bases théoriques, et des éléments d'informatique appliquée, permettant
aux étudiants de développer des compétences pratiques et opérationnelles dans divers contextes
professionnels.
Le Tableau 1 représente l’organisation du système de formation pédagogique de
l’établissement.
Tableau 1: Organisation du système de formation pédagogique de l'école
6
Le système de formation, organisé en trois niveaux (Licence, Master, Doctorat)
conformément au système LMD, permet des comparaisons et des équivalences internationales des
diplômes. Les trois niveaux sont :
La licence peut avoir une vocation générale ou professionnelle. Et le master peut avoir une
vocation professionnelle ou de recherche.
Le Tableau 2 décrit les formations existantes au sein de l’établissement.
7
Tableau 2 : Liste des formations existantes à l'ENI
FORMATION
Licence Professionnelle Master
Condition d’admission Par voie de concours Par voie de concours :
Formation Professionnelle : 325 candidats Intelligence Artificielle : 100 candidats
Informatique générale : 325 candidats
Intelligence Artificielle : 200 candidats
Condition d’accès Formation professionnelle et Informatique
général : Bac C, D, S ou Technique Licence Professionnelle
Intelligence Artificielle : Bac toutes Série
Durée de formation 3 années 2 années
Diplôme Diplôme de Master Professionnel
Diplôme de Licence Professionnelle
Diplôme de Master Recherche
L’accès en première année de Master est automatique pour les étudiants de l’ENI ayant
obtenu leur Licence Professionnelle.
Le Master Recherche permet à son titulaire de poursuivre directement des études en doctorat
et de s’inscrire dans une Ecole Doctorale.
Les Ecoles Doctorales bénéficient d'une autonomie de gestion par rapport aux
établissements de formation universitaire.
Par arrêté ministériel n° 21.626/2012-MESUPRES, publié le 09 août 2012 par la
Commission Nationale d'Habilitation (CNH), l’Ecole Doctorale « Modélisation – Informatique » a
été habilitée pour l’Université de Fianarantsoa.
La modalité de recrutement de master recherche s’effectue comme suit :
Formuler des demandes,
Passer par la validation des acquis (Commission de validation, …),
A valider avec les Docteurs HDR et les professeurs,
Même procédure comme le cycle doctorat, inscription normale (un an) avec une dérogation (un
an) pour le rétard.
Depuis l'année universitaire 2010-2011, l'ENI a mis en place des formations hybrides en
informatique dans plusieurs régions, notamment à Fianarantsoa et Toliara, afin de pallier
l’insuffisance des infrastructures d'accueil. Ce système hybride semi-présentiel utilise la
visioconférence pour la formation à distance.
Bien qu'il n'existe pas encore de reconnaissance formelle et écrite des diplômes délivrés par
l'ENI au niveau international, les diplômés de l'école sont généralement bien accueillis dans les
instituts universitaires étrangers, notamment au Canada, en Suisse et en France.
1. 6. Relation de l’ENI avec les entreprises et organismes
Les stages effectués chaque année par les étudiants placent l'école en contact constant avec
plus de 300 entreprises et organismes publics, semi-publics et privés, tant au niveau national
qu'international. Grâce à ce réseau d'entreprises, de sociétés et d'organismes, l'école bénéficie de
8
partenariats solides qui offrent non seulement des opportunités de stages, mais aussi des
perspectives de recrutement pour les diplômés.
L'école s'attache à développer chez ses étudiants des compétences clés telles que
l'adaptabilité, le sens des responsabilités, le travail en équipe, ainsi qu'une aptitude à
l'expérimentation et à l'innovation.
En effet, la vocation de l'ENI est de former des techniciens supérieurs de niveau Licence et
des ingénieurs généralistes de niveau Master, dotés de solides compétences scientifiques,
techniques et humaines, capables de s'adapter à divers secteurs d'activité intégrant l'informatique
dans le cadre professionnel.
Les stages en entreprise jouent un rôle essentiel en renforçant l'adéquation entre les
formations dispensées à l'école et les besoins évolutifs du marché du travail.
Les principaux débouchés professionnels pour les diplômés de l'ENI se situent dans les
domaines suivants :
9
1. 7. Partenariat au niveau international
Entre 1996 et 1999, l’École Nationale d'Informatique (ENI) a bénéficié du soutien technique
et financier de la Mission Française de Coopération et d’action culturelle dans le cadre du
Programme de Renforcement de l’Enseignement Supérieur (PRESUP). Ce partenariat a permis :
10
L’ENI, véritable pépinière technologique, joue un rôle crucial dans la création d’emplois et
d’entreprises, contribue ainsi à la croissance économique et à la lutte contre la pauvreté à
Madagascar. En renforçant ses compétences en modélisation et en technologies avancées, l’ENI
soutient la compétitivité de la Grande Île sur la scène internationale.
1. 8. Débouchés professionnels des diplômés
Le chômage des jeunes diplômés universitaires est l’un des problèmes majeurs qui affectent
Madagascar, exacerbé par l’environnement sociopolitique du pays depuis 2008, qui a contribué à
une augmentation significative du chômage parmi les diplômés, malgré la présence de divers
établissements de formation supérieure.
Toutefois, les formations dispensées par l’ENI se distinguent en offrant aux étudiants des
compétences complètes et pratiques dans le domaine de l’informatique et des technologies de
l’information et de la communication (TIC), rendant ainsi ses diplômés immédiatement
opérationnels et prêts à répondre aux besoins du marché de travail.
L’ENI offre à ses étudiants un savoir et savoir-faire techniques et des compétences
interpersonnelles qui les accompagnent tout au long de leur parcours professionnel. Avec une
vocation résolument professionnalisante, elle forme des diplômés en Licence et en Master capables
d'évoluer dans divers secteurs d’activité.
Forte de 41 années d’expérience pédagogique et d’une reconnaissance établie auprès des
entreprises et des organisations, l’ENI est une référence dans le domaine de l'informatique à
Madagascar. Son équipe pédagogique, composée d’enseignants-chercheurs et de formateurs
expérimentés, assure un enseignement de qualité à la croisée des besoins académiques et
professionnels.
L’École collabore régulièrement avec un nombre croissant d’entreprises et d’organisations
publiques et privées, offrant ainsi à ses étudiants des stages en phase avec les exigences du marché.
Les formations de l’ENI sont conçues pour répondre aux attentes des employeurs.
En plus de fournir des compétences techniques pointues, l’ENI propose une double expertise
technologique et managériale, combinant informatique de gestion, administration des réseaux et des
systèmes. Cette approche garantit à ses diplômés une insertion rapide et réussie dans le monde
professionnel.
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 3 cite des débouchés professionnels éventuels des diplômés de l’école.
Tableau 3 : Débouchés professionnels éventuels des diplômés
Licence − Analyste
− Programmeur
− Administrateur de site web/de portail web
− Assistant informatique et internet
− Chef de projet web ou multimédia
− Développeur informatique ou multimédia
− Intégrateur web ou web designer
11
− Hot liner / Hébergeur internet
− Agent de référencement
− Technicien / Supérieur de help desk sur informatique
− Responsable de sécurité web
− Administrateur de réseau
− Administrateur de cybercafé
Master − Administrateur de cybercafé
− Administrateur de réseau et système
− Architecture de système d’information
− Développeur d’application / web / java / Python / iOS / Android
− Ingénieur réseau
− Webmaster / web designer
− Concepteur réalisateur d’applications
− Directeur du système de formation
− Directeur de projet informatique
− Chef de projet informatique
− Responsable de sécurité informatique
− Consultant fonctionnel ou freelance
1. 9. Ressources humaines
Les ressources humaines affectées à l’ENI sont composées de :
Directeur de l’école : Dr MAHATODY Thomas
Responsable de Mention Informatique : Dr RABETAFIKA Louis Haja, Maître de conférences
Responsable de Parcours GBD : Dr RALAIVAO Jean Christian, Maître de conférences
Responsable de Parcours ASR : Mr SIAKA, Assistant d’Enseignement Supérieur et de
Recherche
Responsable de Parcours IG : Mr GILANTE Gesazafy, Assistant d’Enseignement Supérieur et
de Recherche
Responsable de Mention Intelligence Artificielle : Dr DIMBISOA William Germain, Maître de
conférences
Responsable de Parcours GID : Mme RATIANANTITRA Volatiana Marielle, Maître de
conférences
Responsable de Parcours OCC : Mr RAZAFIMAHATRATRA Hajarisena, Maître de
conférences
Enseignants permanents : 01 Professeurs Titulaires, 02 Professeurs, 09 Maîtres de Conférences
et 03 Assistants d’Enseignement Supérieur et de Recherche
10 Enseignants vacataires
23 Personnels Administratifs
12
Chapitre 2 : Présentation de MaDigiCom
Bienvenue sur la présentation de MaDigiCom, une entreprise spécialisée dans les solutions
numériques innovantes, axée sur le développement de stratégies de communication digitale et de
marketing pour ses clients. MaDigiCom se distingue par son expertise dans l'accompagnement des
entreprises vers une transformation numérique efficace et adaptée aux besoins du marché.
2. 1. Informations générales
MaDigiCom est une agence web œuvrant dans le domaine du développement web et
d’application mobile implantée au cœur de Fianarantsoa au 2e étage de Trano Manga,
Ampasambazaha.
Les coordonnées pour la prise de contact avec l’agence sont les suivantes :
2e étage de Trano Manga
Ampasambazaha, 301 Fianarantsoa
Tel : +261 34 02 848 10
+44 20 3910 4962
Email : contact@[Link]
Web : [Link]
Facebook : MaDigiCom
Instagram : MaDigiCom
Linkedin : MaDigiCom
2. 2. Missions et historiques
MaDigiCom est une Entreprise de Service Numérique composée d’une dizaine de
collaborateurs et basée à Madagascar. Créée en Janvier 2020 par Monsieur
RAZAFIMAHATRATRA Mandasarobidy, elle a pour missions de créer des sites vitrines
entièrement personnalisés, des sites e-commerce, des applications web et mobiles reflétant les
organisations des clients.
L’agence se démarque par les avantages qu’elle offre :
Des solutions sur mesure : conceptions et techniques adaptées aux activités de clients ainsi qu’à
leur identité de marque pour une solution unique.
Des solutions flexibles : panel de technologies permettant de s’adapter à tous les budgets.
Des produits de qualité : organisation du travail respectant les standards de l’industrie en
matière de livraison.
Des supports ultras réactifs : support multicanal rapidement pour que les clients puissent se
concentrer sur l’essentiel.
UX Design : travail suivant constamment les nouvelles tendances et assurant l’ergonomie sur
tous les supports.
SAV : garanties 3 mois après livraison avec un support 100% gratuit en tout temps, de sorte que
le client puisse pleinement prendre en main son système d’information.
Marketing : outils d’analyse statistique et d’audience afin de faire décoller le business des
clients.
2. 3. Organisation générale
L’organisation générale de la société MaDigiCom est fixée comme suit :
La Direction générale : définit et pilote la stratégie de l’entreprise.
13
Le Responsable Administratif et Financier : assure le recrutement et la gestion du personnel en
fonction de la stratégie de l’entreprise. Il gère les budgets prévisionnels correspondants.
La Direction Technique : a pour mission de gérer l’aspect technique et budgétaire d’un projet en
veillant aux risques, aux coûts cachés et aux retours sur investissement.
Le Responsable de l’Assurance Qualité : définit et coordonne la mise en œuvre de la politique
d’assurance qualité c’est-à-dire qu’il veille au respect des normes et des règles de sécurité et en
garantit d’application.
Le Responsable clientèle : est chargé de prendre contact avec les clients et s’assurer de répondre
à toutes leurs questions.
Les chefs de pôles : coordonnent l’ensemble des travaux de l’équipe de développement.
La figure 3 décrit l’organigramme de MaDigiCom
2. 4. Ressources humaines
Au cœur d’une agence, les ressources humaines sont nécessaires pour son bon
fonctionnement, si une organisation sont aussi performantes, c’est parce qu’elles disposent
d’excellents personnels.
Les personnels qui assurent le bon fonctionnement de MaDigiCom sont :
Le Gérant : Mr RAZAFIMAHATRATRA Mandasarobidy
Le Directeur Technique : Mr RANDRIANANTENAINA Sitraka Nehemia Léon
La Responsable Marketing et Communication : Mme ARORAKOTOMALALA Emma Eliasy
La Responsable Administratif et Financier : Mme NARINDRARIMBAVAKA Valimpaniriana
La Responsable Clientèle : Mme RAHARIMALALA Faneva
03 Chefs de projet
05 Développeurs
14
04 Stagiaires
2. 5. Moyens matériels
Du point de vue matériel, l’entreprise est équipée de machines performantes et modernes,
offrant la puissance nécessaire pour répondre aux exigences du développement d’applications. Ces
machines fonctionnent sous un système d'exploitation compatible avec divers outils de
développement, permettant l'installation des logiciels requis pour le travail des équipes. L’entreprise
bénéficie également d’une connexion Internet stable et rapide, indispensable pour la communication,
la collaboration et l'accès aux ressources en ligne. De plus, elle dispose d'un véhicule pour assurer le
transport de son personnel, facilitant ainsi la mobilité des équipes lors des déplacements
professionnels.
2. 6. Services proposés
Une entreprise de service numérique (ESN) spécialisée dans le développement de solutions
numériques sur mesure, la maintenance d’applications web, mobiles, logiciels spécifiques,
plateformes en ligne.
MaDigiCom proposons également des services tels que la Data science, la Business
Intelligence, l’infogérance et DevOps. Leurs champs d’intervention couvrent tous les besoins des
entreprises en matière de services numériques et transformation digitale.
Les prestations peuvent aller de quelques heures pour un problème ponctuel à plusieurs mois,
voire années pour l’installation complète et la gestion d’un système. Les ESN sont de tailles très
variées, de l’entreprise individuelle au grand groupe.
Cela englobe des métiers très différents :
2. 6. 1 Création de site vitrine
Pourquoi un site Vitrine ?
Créer un site vitrine pour son entreprise permet de trouver de nouveaux clients sur internet.
Selon le secteur d’activité de l’entreprise et se objectifs, il va permettre d’obtenir des demandes de
devis, de contact, des appels téléphoniques, des téléchargements de documents… Et donc d’obtenir
de nouveaux clients que l’entreprise n’aurait peut-être pas pu atteindre en dehors du web.
Bien sûr, comme tout site internet, un site vitrine nécessite d’être optimisé pour le
référencement naturel, afin d’être présent sur les requêtes Google des internautes qui recherchent les
services de l’entreprise. En étant sur la première page de Google sur les recherches en rapport avec
les services de l’entreprise, le site vitrine acquerra du trafic (visites) et donc des contacts.
2. 6. 2 Création de site e-commerce
Booster votre Business : Conception et développement de site e-commerce sur mesure
(prestashop, magento, marketplace, woocommerce…), site spécifique, intégration sur mobile,
desktop et site responsive design, création de visuel : charte graphique, logo, UI/UX… Nos
développeurs web sont à la hauteur de toutes vos demandes : de la fonctionnalité la plus courante
aux plus complexes.
Pour le développement d’une activité, il est désormais primordial pour une entreprise de
disposer de sa plateforme en ligne. MaDigiCom propose la meilleur solution e-commerce pour
booster les ventes avec la mise en place d’un levier marketing.
15
2. 6. 3 Développement Web appliaction
En informatique, une application web est une application manipulable directement en ligne
grâce à un navigateur web et qui ne nécessite donc pas d’installation sur les machines clientes,
contrairement aux applications mobiles.
Pour tout autre besoin non couvert par le CMS, MaDigiCom développe votre application
web ou votre site web, en utilisant des technologies parmi les plus populaire au monde qui offre un
maximum de flexibilité qui nous permet d’assurer la qualité et la fiabilité de nos livrables pour le
développement des projets web sur mesure.
2. 6. 4 Développement d’application Mobile
Technologies natives ou frameworks hybrides, nous mettons à votre disposition un vaste
choix de solutions pour développer vos applications mobiles. Notre objectif, vous proposer une
solution sur mesure répondant aux besoins spécifiques de vos applications.
Conception et développement mobile : Android, iOS et Windows Phone | Applications
natives ou hybrides, BtoC et BtoB couplées d’un système d’information | Interfaces ergonomiques
et intuitives avec des fonctionnalités mobiles innovantes : QR Code NFC… Notre équipe de
développeurs d’applications mobiles prend en charge tous types de projets. Pour des applications
mobiles, choisissez une équipe qui sera attentive à tous exigences.
2. 6. 5 Web Marketing
Sur internet, les supports pour être visible auprès de son public cible sont nombreux :
internet mobile, réseaux sociaux, e-mailing et objets connectés. Concrètement, le webmarketing
utilise tous les supports de communication digitale qui s’offrent à vous pour améliorer la relation
client, prospecter et développer votre notoriété.
Non seulement le webmarketing améliore votre chiffre d’affaires, mais en plus les
campagnes d’inbound marketing sont moins coûteuses que les campagnes de marketing
traditionnelles. D’après une enquête de State of Inbound, le marketing digital est 6% moins cher
qu’une campagne Outbound, et génère en moyenne 3 fois plus de leads (contacts). En termes de
retour sur investissement, on comprend l’attirance des entreprises pour les méthodes du
webmarketing, d’autant plus que c’est un marketing plus innovant et plus naturel.
2. 7. Client
Une entreprise de Services du Numérique est une société qui apporte des solutions
informatiques aux entreprises. C’est donc une entreprise BtoB (Business to business), ses clients
sont des entreprises.
Les clients de MaDigiCom se trouve principalement en France, et l’entreprise utilise des
plateformes en ligne, faire prospection commerciale via le mailing, linkedin, sms… pour trouver ses
clients.
2. 8. Processus de développement
Le processus de développement d'une application suit une série d'étapes structurées pour
transformer une idée initiale en un produit abouti et fonctionnel. De la planification initiale à la
mise en marché, chaque phase est essentielle pour assurer que l'application réponde aux besoins des
utilisateurs tout en étant techniquement solide et ergonomique. Ce parcours commence par une
analyse des besoins et se poursuit par la conception, le développement, les tests, et la documentation,
16
avant de culminer dans des stratégies de lancement et de monétisation. Ce processus garantit que
l'application est non seulement performante, mais aussi bien accueillie sur le marché.
Ce processus se décompose en plusieurs étapes interdépendante :
− Kick-Off et évaluation : Première étape du projet, où les besoins et les objectifs sont identifiés.
Une évaluation est faire pour comprendre les attentes et définir la portée du projet.
− Planification et Analyse : Cette phase implique une analyse approfondie des fonctionnalités
requises et des ressources nécessaires. Un plan d’action est défini pour guider le projet.
− Design et prototypes : Conception des maquettes et des prototypes de l’application. Cela permet
de visualiser l’interface et de valider les choix esthétiques et fonctionnels.
− UX Design : Développement de l’expérience utilisateur (UX) et du design, en tenant compte de
l’ergonomie et de l’accessibilité pour garantir une interaction fluide et agréable.
− Identification des Segments d’utilisateurs : Cette étape consiste à définir et segmenter les
utilisateurs cibles pour mieux répondre à leurs besoins spécifiques.
− Conception du CMS et du serveur : Développement de la gestion de contenu (CMS) et de
l’infrastructure serveur pour assurer la fonctionnalité backend de l’application.
− Test d’adaptation : Phase de tests pour vérifier la compatibilité de l’application avec différents
appareils, systèmes d’exploitation et résolutions d’écran.
− Analyse de protocole utilisateur : Analyse des données utilisateurs pour évaluer l’efficacité de
l’application et identifier les améliorations possibles.
− Documentation et Formation : Rédaction de la documentation technique et formation des
utilisateurs ou de l’équipe de maintenance pour une utilisation et un support efficace.
− Marketing et monétisation : Développement de stratégies pour lancer l’application sur le marché
et générer des revenus via des options de monétisations.
La figure 4 représente le processus de développement de la société
17
Chapitre 3 : Description du projet
Ce chapitre détaille le projet de conception et développement d’une application web de
gestion de paiement de cantine, visant à optimiser le traitement des indemnités journalières pour les
employés et les stagiaires.
3. 1. Formulation
Dans de nombreux secteurs, les employés peuvent recevoir une indemnité journalière,
appelées « cantine » couvrant notamment leur déjeuner dans leurs espaces de travail. Actuellement,
la gestion de ces indemnités repose sur des processus manuels et l’utilisation de feuilles de calcul,
entraînant des erreurs, des retards dans les paiements, un manque de traçabilité, et des anomalies
dans la gestion de la cantine. Face à ces problématiques, ce projet propose le développement d'une
application web sécurisée et conviviale pour la gestion automatisée des cantines, en s’appuyant sur
les technologies React, [Link] et Express.
3. 2. Objectifs et besoins de l’utilisateur
Cette section présente les objectifs du projet ainsi que les besoins des utilisateurs auxquels il
répond. Elle met en lumière les attentes en matière de simplification des processus pour la gestion
des paiements de cantine, tout en garantissant une expérience utilisateur optimale et une bonne
traçabilité.
3. 2. 1 Objectif
L’objectif de ce projet est d’apporter une solution innovante, automatisée et conviviale pour
optimiser les processus, réduire les erreurs humaines et offrir une meilleure expérience utilisateur.
L’application permettra de gérer efficacement les demandes et les versements de cantines, en
offrant un accès rapide aux données pour optimiser l’expérience des utilisateurs et à faciliter la
gestion administrative des transferts.
L’objectif global de l’application est de transformer le processus complexe et chronographe
en une expérience fluide et fiable en proposant un outil polyvalent et intuitif qui répond aux besoins
spécifiques des utilisateurs.
3. 2. 2 Besoins de l’utilisateur
Les besoins des utilisateurs dans le cadre de ce projet de gestion de paiements de cantine
sont variés et répondent aux exigences spécifiques des différents acteurs impliqués dans le
processus, notamment les employés, les stagiaires, et les administrateurs.
Voici les principaux besoins identifiés :
Simplification de saisie des demandes : les utilisateurs ont besoin d’un processus simple pour
saisir leurs demandes.
Suivi des statuts de demande : les utilisateurs souhaitent pouvoir suivre l’état de leurs demandes
après sa soumission.
Gestion et validation des demandes : les administrateurs ont besoins d’une plateforme pour
examiner et répondre aux demandes de cantine des employés.
Automatisation du calcul des indemnités : calcul automatique des mouvements dans les cantines
basées sur des critères prédéfinis (le solde et la cantine par jours).
Rapports et statistiques : les administrateurs ont besoin des rapports détaillés pour analyser les
flux de dépenses en lien avec les cantines.
18
Expérience utilisateur fluide : ils souhaitent une interface simple et intuitive pour naviguer
facilement dans l’application sont avoir besoin de formation poussée.
En répondant à ces besoins, le projet vise à fournir une solution qui simplifie et optimise la
gestion des cantines, tout en offrant une expérience utilisateur simplifiée et efficace.
3. 3. Moyens nécessaires à la réalisation du projet
Pour la réalisation de ce projet, plusieurs moyens ont été mobilisés. Il s’agit des moyens
humains, des moyens matériels et des moyens logiciels. Ces moyens permettront de mettre en
œuvre les différentes étapes de la conception du projet.
3. 3. 1 Moyens humains
Pour assurer la réussite du projet, plusieurs personnes ont joué des rôles dans la chaîne de
développement :
19
3. 3. 3 Moyens logiciels
Les outils logiciels permettent de structurer, gérer, développer et tester le projet
efficacement. Les principaux logiciels utilisés sont :
20
Ce chronogramme permet de structurer le développement en étapes progressives, avec des jalons de
validation pour garantir la qualité et l’adéquation aux besoins des utilisateurs.
21
Partie II :
Analyse et
conception
22
Chapitre 4 : Analyse préalable
Ce chapitre développe les principales étapes d’analyses réalisées en amont de la réalisation
du projet. Les analyses préalables pour ce projet sont essentielles pour garantir une compréhension
approfondie des besoins, des contraintes et des solutions à mettre en place.
4. 1. Analyse de l’existant
Afin de développer une solution de gestion de paiement de cantine pour MaDigiCom, une
analyse de l’existant est essentielle pour identifier l’organisation actuelle de gestion des indemnités
journalières, les moyens utilisés et les défis rencontrés. Cela permettra de concevoir des solutions
qui améliorent l’efficacité et répond aux besoins des utilisateurs au sein de l’entreprise.
4. 1. 1 Organisation actuelle
Actuellement, la gestion des paiements de cantine à MaDigiCom repose sur des processus
manuels utilisant des feuilles de calcul Excel pour enregistrer les versements des employés et
stagiaires, où le Directeur technique doit entrer manuellement toutes les informations nécessaires.
Et le système de validation des demandes est géré par échanges directs entre les
bénéficiaires et le responsable, ce qui entraîne des retards et un suivi difficile, rendant la traçabilité
et la récupération des données impossible. Reposant ce système uniquement sur la confiance et la
mémoire humaine.
Le recours à ces méthodes manuelles rend le processus sujet aux erreurs humaines, à des
retards et aux risques pour la confidentialité des données et l’intégrité des informations. Ainsi que
l’absence d’automatisation pour calculer les montants et notifier les responsables et les employés,
rend le processus peu pratique et chronophage.
4. 1. 2 Inventaire des moyens matériels et logiciels
L’entreprise dispose de plusieurs moyens matériels et logiciels nécessaires à la réalisation du
projet de gestion de paiement de cantine.
4. 3. 2. 1. Moyens matériels :
On dispose de plusieurs moyens matériels, dont :
− Des ordinateurs performants : pour exécuter des IDE, les serveurs locaux et les tests de
performances.
− Un serveur local : pour héberger et tester l’application.
− Une connexion internet haute vitesse : pour la collaboration en ligne, les téléchargements de
ressources et les tests d’intégration de la plateforme.
4. 3. 2. 2. Moyens logiciels :
Pour le côté logiciels, l’entreprise dispose :
− IDE : Visual Studio Code, pour le développement backend et frontend.
− MySQL et PostgrSQL : SGBD, pour stocker les données relatives aux demandes, employés et
versements.
− Git et GitHub : pour la collaboration en équipe et la gestion des versions du projet.
− Discord et ThunderBird : pour la communication au sein de l’entreprise.
L’analyse de l’existant montre que les processus actuels de gestion des cantines chez
MaDigiCom manquent de fluidité, de traçabilité et de sécurité, tout en étant très chronophages. Une
solution intégrée et automatisée répondra non seulement aux besoins actuels mais apportera
23
également de la valeur ajoutée en facilitant la gestion des versements d’indemnité pour les
employés et les équipes administratives.
4. 2. Critique de l’existant
L’analyse critique de l’existant met en évidence les avantages et les limitations des
méthodes mise en place actuellement au sein de MaDigiCom et justifie le besoin de développer de
nouvelles solutions.
4. 2. 1 Faiblesses et limitations
Cette critique permet d’identifier les points faibles des pratiques actuelles au sein de
l’entreprise.
Les principales limitations et faiblesses du système actuel sont :
− Manque d’automatisation : le processus de gestion repose actuellement sur des méthodes
manuelles qui limite l’efficacité et laisse place à des erreurs humaines fréquentes.
− Temps et ressources gaspillés : les méthodes manuelles rendent le processus long et fastidieux,
augmentant la charge de travail du responsable.
− Manque de traçabilité : Sans un système centralisé, des difficultés à suivre l’état d’avancement
des demandes apparaissent aussi bien du côté des responsables que du côté des employés.
− Manque de sécurité et de confidentialité des données : En raison du stockage et de la circulation
non protégés des informations personnelles, il y a des risques de perte ou de fuite et de ne pas
respecter certaines normes de protection des données.
− Rapport et analyses limitées : le manque d’outils pour produire de rapports et des analyses
limite la capacité des responsables à évaluer les dépenses liées aux cantines des employés, et
rend difficile la prévision de budget.
4. 2. 2 Avantages
L’approche actuelle pour gérer les paiements de cantine au sein de MaDigiCom, bien qu’elle
présente certaines limites, comporte néanmoins des avantages.
Quelques éléments positifs du système actuel :
− Simplicité et familiarité : le système manuel est simple à mettre en œuvre et à organiser, ne
nécessitant pas de formation technique approfondie. Les utilisateurs sont souvent déjà familiers
avec ces outils, ce qui facilite leur utilisation quotidienne.
− Faible coût : l’utilisation des outils de gestion classiques ne nécessite pas d’investissement
important. Cela permet de réduire les dépenses technologiques pour l’entreprise. Le système
n’exige pas une connexion internet.
− Adaptabilité : ce système offre une certaine flexibilité pour gérer les exceptions sans le besoin à
la modification de technique.
− Contrôle direct : le responsable peut garder un contrôle direct sur chaque étape du processus,
permettant des ajustements immédiats en cas d’erreur ou d’ajout d’informations.
Cependant, ces avantages sont souvent contrebalancés par des inconvénients, comme les
risques d'erreurs humaines, la lenteur des processus, et le manque de traçabilité. C'est pourquoi le
passage à un système automatisé pourrait améliorer l'efficacité et la fiabilité de la gestion des
cantines chez MaDigiCom.
L'analyse de l'existant montre que le système actuel de gestion de cantine est obsolète et
inadapté aux besoins et n’est pas digne d’une entreprise travaillant dans l’informatique. L'absence
24
d'automatisation, de traçabilité, et de sécurité met en lumière le besoin critique de développer une
nouvelle solution. Une plateforme dédiée permettrait de centraliser les demandes, d’améliorer la
transparence et la rapidité des processus, tout en répondant aux exigences de sécurité et de
conformité en matière de gestion de données.
4. 3. Conception avant-projet
La conception avant-projet est une phase essentielle qui permet de poser les bases du projet
de développement du site de gestion de paiement de per diem pour MaDigiCom. Elle comprend
l’analyse des besoins, l’identification des fonctionnalités à mettre en place, le choix des
technologies à développer, ainsi que la planification des ressources et des contraintes du projet.
Voici les principaux éléments de cette phase.
4. 3. 1 Proposition de solution
La gestion de paiement de cantine nécessite un système efficace et intuitif, utile pour chaque
étape du processus de soumission, de validation, et de paiement. Plusieurs solutions adaptées pour
la gestion sont à envisager :
Utilisation d’outils existants : C’est une solution rapide car il s’agit d’utiliser un outil prêt à
l’emploi. Par exemple, QuickBooks pour enregistrer les versements ou Google Sheets pour
configurer un tableau de suivi partagé.
Avantages Inconvénients
− Rapide à mettre en œuvre − Manque de personnalisation avancée
− Faible coût − Risque d’erreurs humaines
− Simple à utiliser − Evolutivité limité
− Intégration à d’autre outils possible − Sécurité moyenne
Envoie automatique : Il s’agit d’envoyer automatiquement l’argent dans les comptes bancaires
des employés ou en utilisant des applications de gestion de portefeuille comme PayPal.
Avantages Inconvénients
− Réduction du temps de gestion manuelle − Frais lors des transactions
− Transactions rapides − Dépendance aux politiques et à la
− Simple à utiliser disponibilité des plateformes externes
− Transparence des transactions − Complexité de la configuration
− Manque de contrôle interne
− Manque de personnalisation
Développement d’une application dédiée : Créer une application spécifiquement à cet effet.
Conçue pour la gestion de paiement de cantine en intégrant la gestion des versements, des
demandes et des utilisateurs.
Avantages Inconvénients
− Personnalisation totale − Temps de développement
− Intégration de fonctionnalité spécifiques − Nécessite une maintenance continue
− Evolutivité possible − Compétences techniques requises pour la
− Sécurité renforcée maintenance
− Meilleure expérience utilisateur
25
Dans ce contexte, le développement d’une application dédiée est la solution optimale. Cette
solution sera conçue selon les besoins spécifiques de MaDigiCom. Elle améliorera la gestion de
paiement de cantine en offrant une application sécurisée, intuitive, et en ligne, accessible depuis les
ordinateurs pour les différents utilisateurs via des comptes personnalisés.
Cette solution inclura :
− Automatisation des processus de gestion des demandes : les employés peuvent soumettre des
demandes et l’administrateur peut les valider ou les rejeter, et suivre l’état de chaque demande
et procéder aux paiements si nécessaire.
− Calcul automatique des indemnités : la plateforme intégrera un barème prédéfini pour calculer
automatique le montant en fonction de la présence.
− Notifications et alertes : les utilisateurs seront notifiés automatiquement aux étapes importantes
du processus pour améliorer la réactivité et la transparence.
− Traçabilité : un historique complet des demandes et des ordres de paiement permettra de suivre
des dépenses pour une meilleure gestion des budgets.
− Sécurisation des données : gestion des accès par rôles (utilisateurs et administrateur) pour
garantir la confidentialité des données.
− Tableau de bord et rapports : outils analytiques pour visualiser les dépenses par période,
facilitant ainsi la prise de décision, avec une vue d’ensemble des dépenses et des éventuelles
erreurs à corriger.
La solution est optimale à l’échelle du projet et aux besoins de l’entreprise, MaDigiCom
étant une petite entreprise.
4. 3. 2 Méthodes de conception et outils utilisés
Dans le cadre de la conception de cette application, il est essentiel de s’appuyer sur des
méthodes de conception robustes et des outils adaptés.
Cette section présente les principales approches de conception adoptées ainsi que les outils
technologiques qui ont permis d'accompagner chaque étape du processus de développement, de
l'analyse des besoins jusqu'au test final.
4. 3. 2. 1 Méthode de conception
La phase de conception s’appuie sur des méthodologies sélectionnées pour garantir la
réussite du projet et pour structurer et modéliser le système ? il faut bien choisir la méthode à
utiliser et donc, les comparer. Prenons les méthodes Merise et UML (Unified Modeling Language).
Définition :
Merise UML
Méthodologie français développée dans les Langage standardisé, développée dans les
années 1970 pour l’analyse, la conception et la années 1990, principalement orienté objet,
gestion des systèmes d’information utilisé pour la modélisation de systèmes
logiciel
Abstraction :
Merise UML
Séparation claire des niveaux d’abstraction Diagrammes variés pour différents aspects
26
(Conceptuel, logique, physique) système, sans stricte séparation
Utilisation principale :
Merise UML
Projets axés sur la gestion et structuration de Projets orientés objets
données
Avantages :
Merise UML
− Cohérence dans la création et l’optimisation − Diagrammes adaptés : une grande diversité
des bases de données de diagrammes pour modéliser différents
− Modèles adaptés : modèles performants aspects
pour les systèmes d’informations − Evolutivité : toujours pertinent pour les
− Simplicité : adaptée aux débutants projets complexes ou modernes
− Structure limpide : séparation des niveaux − Langage universel : couramment utilisé
d’abstraction dans le domaine du développement
− Polyvalence : adapté à tous type de
systèmes
Inconvénients :
Merise UML
− Moins adapté à l’orienté objet − Complexité d’apprentissage et d’utilisation
− Non universel : axé sur les bases de − Excès de diagrammes : accumulation
données et les systèmes d’informations excessive de diagramme complique la
− Obsolescence relative : moins utilisé dans gestion du projet
les contextes modernes − Moins adapté aux données : Ne souligne
pas assez la structuration des données
Introduction :
Git/GitHub Subversion
Système de gestion de version distribué, créé Système de gestion de version centralisé, créé
en 2005 et 2008, extrêmement populaire et en 2000, moins populaire de nos jours mais très
27
utilisé dans les projets open source et apprécié dans les organisations plus
modernes. traditionnelles.
Avantages :
Git/GitHub Subversion
− Système distribué permettant de travailler − Simplicité d’usage
hors ligne − Excellente gestion des fichier binaires
− Gestion des branches rapide et efficace − Adapté pour les projets avec un contrôle
− Adéquat pour les projets open source strict
− Offre des outils avancés de collaboration
− Populaire avec une large communauté
Inconvénients :
Git/GitHub Subversion
− Difficile à maîtriser − Moins performant pour les branches
− Moins performant pour les fichiers binaires − Dépendance à une connexion réseau
volumineux constante
− Complexité − Peu adapté aux projets plus modernes
Le choix se porte sur Git/GitHub car plus populaire et plus puissant, il est plus adapté pour
le projet de gestion de paiement de cantine, un projet plus moderne.
b. Développement frontend
Prenons React et [Link], deux technologies frontend populaires pour la création de
l’interface utilisateur.
Introduction :
React [Link]
Bibliothèque Javascript pour la construction Framework Javascript pour la création
d’interfaces UI d’application
Syntaxe :
React [Link]
JSX (JavaScript + XML) en structure et Templates HTML, séparé en HTML, CSS et
logique JavaScript
Avantages :
React [Link]
− Flexible − Simple et intuitif
− Personnalisable avec les outils et les − Documentation claire et détaillée
bibliothèques − Offre des fonctionnalités intégrées comme
− Large communauté le routage et la gestion d’état
− Performant dans les grandes applications − Excellent support pour les transitions et
animations
28
Inconvénients :
React [Link]
− Concepts avancés − Petite communauté
− Difficile à l’apprentissage − Moins flexible
− Nécessite des bibliothèques tierces
Les deux outils sont puissants et adaptés à ce projet, mais l’application est plus complexe
dans la personnalisation et nécessite alors l’utilisation de React qui offre une flexibilité inégalée
pour des projets comme celui-ci.
c. Développement backend
Pour le backend, prenons [Link] avec Express et Python avec Flask, deux technologies
backend populaires utilisées dans le développement web.
Introduction :
[Link] & Express Python & Flask
[Link] : runtime Javascript, créé en 2009. Python : langage de programmation polyvalent,
Express : framework web minimaliste pour créé en 1991.
[Link], créé en 2010. Flask : framework web minimaliste, créé en
Ecosystème Javascript, orienté performances et 2010
développement rapide. Langage généraliste, axé sur la lisibilité et la
productivité
Avantages :
[Link] & Express Python & Flask
− Performances élevées − Syntaxe claire et intuitive
− Utilisation du même langage pour le − Léger et flexible
frontend et le backend − Ecosystème polyvalent
− Ecosystème riche avec de nombreux − Sécurité intégrée
modules et packages
Inconvénients :
[Link] & Express Python & Flask
− Complexité de la syntaxe − Moins rapide
− Vulnérabilités communes − Scalabilité
− Ecosystème fragmenté − Peu intégré dans les solutions full-stack
Les deux technologies sont puissantes et bien soutenues par leurs communautés respectives.
Le choix se tourne vers [Link] et Express afin d’utiliser le même langage pour le frontend et le
backend et pour des possibles besoin de performances élevées et de scalabilité.
29
PostgreSQL MySQL
Créé en 1986, SGBD avancé orienté objets. Créé en 1995, SGBD simple, rapide et efficace.
Dispose de pgAdmin et PostGIS pour Dispose de MySQL Workbench et
l’administration graphique PHPMyAdmin pour l’administration graphique
Avantages :
PostgreSQL MySQL
− Conforme aux normes SQL − Simplicité
− Extensible avec des fonctionnalités et des − Optimisé pour les requêtes en lecture
types de données complexes − Large communauté
− Gestion optimale de la concurrence − Documentation abondante
− Performant pour les applications plus − Compatibilité
complexes
Inconvénients :
PostgreSQL MySQL
− Complexité à l’apprentissage − Support partielle des standards SQL
− Performances en lecture légèrement − Gestion des transactions dépendante du
inférieure à MySQL moteur de stockage
− Complexe pour certaine application − Limitée dans les fonctionnalités avancées
comme JSON
Les deux outils conviennent à ce projet mais PostgreSQL est plus adapté car le projet est
assez complexe et nécessite JSON et un haut degré de personnalisation.
Les méthodes de conception utilisées sont inspirées des pratiques en ingénierie logicielle,
visant à structurer le projet de manière méthodique. Les choix des outils, quant à eux, ont été faits
en fonction de la nature du projet, des objectifs fixés au sein de MaDigiCom et des ressources
disponibles.
En suivant la méthode Merise et en utilisant ces outils, le projet pourra être structuré
efficacement, assurant une gestion optimisée des ressources et une application finale conforme aux
attentes de MaDigiCom.
30
Chapitre 5 : Analyse conceptuelle
Ce chapitre présente l’analyse conceptuelle. Elle permet de définir précisément les besoins
et de structurer les informations en identifiant les entités, les relations et les processus qui régissent
le fonctionnement du système.
Dans le cadre du projet de gestion des paiements de cantine, l’analyse conceptuelle vise à
concevoir une représentation abstraite du système, en s’appuyant sur la méthode Merise pour
formaliser les données et les traitements. Cette phase, essentielle pour la réussite du projet, permet
de garantir la cohérence et l’efficacité des flux d’information et pose les bases pour le
développement d’un système de gestion fiable, conforme aux attentes des utilisateurs finaux et des
parties prenantes.
5. 1. Présentation de la méthode Merise
La conception d’un système d’information est un processus complexe, nécessitant une
planification minutieuse et une organisation rigoureuse. Elle s’appuie sur des méthodes de
modélisation pour créer une représentation structurée et cohérente des processus et des données. La
modélisation permet de structurer et de représenter virtuellement la réalité de manière à faire
ressortir les aspects les plus pertinents pour le projet. Il existe diverses méthodes d’analyse pour
accomplir cela, et celle que nous avons adoptée est la méthode Merise.
5. 1. 1 Historique
La méthode Merise est une approche de conception, de développement et de gestion de
projets informatiques dont l’objectif est de créer des systèmes d’information structurés et durables.
Développée en France dans les années 1970 et officiellement mise en place en 1978-1979 à
l’initiative du ministère français de l’Industrie, Merise repose sur une démarche structurée et
méthodique qui se distingue par la séparation des données (structure statique) et des traitements
(comportement dynamique). Ce projet a été piloté par le CIT (Centre Technique d'Informatique) et
le CETE (Centre d'Études Techniques de l'Équipement) d’Aix-en-Provence.
Cette méthode organise l’étude et le développement d’un système d’information en
plusieurs étapes, privilégiant une démarche conceptuelle et logique avant la mise en œuvre physique.
Cette approche permet de clarifier et d’optimiser la modélisation avant toute implantation technique,
en rendant la structure des données plus stable, tandis que les traitements peuvent évoluer plus
fréquemment. Utilisée particulièrement pour les systèmes d’information complexes, Merise facilite
la gestion des dépendances entre les données et les processus métier et garantit une structure de
données cohérente et bien normalisée.
Merise se distingue par une démarche conceptuelle et logique avant la phase physique de
mise en œuvre, ce qui permet de clarifier et d’optimiser la modélisation avant toute implantation
technique. Cette approche favorise une meilleure compréhension des besoins des utilisateurs et
garantit une structure de données cohérente et bien normalisée.
31
− Le système de pilotage, qui oriente ces actions en fonction des objectifs et des politiques de
l’organisation.
Pour une entreprise, qu'elle soit industrielle, commerciale, ou de services, l’enjeu est de
disposer d’un système d’information efficace pour collecter, stocker, traiter et diffuser les
informations.
5. 1. 3 Démarche
Merise recommande une démarche en trois niveaux d’abstraction pour modéliser un système
d’information :
32
− Modèle Conceptuel des Traitements (MCT) : il se concentre sur les traitements et les processus
du système, en décrivant les règles de gestion et les interactions entre les données. Il permet de
définir les flux d’informations et les conditions logiques qui régissent les traitements.
− Modèle Logique des Données (MLD) : il est la traduction du MCD en un modèle compatible
avec un système de gestion de base de données relationnelles (SGBDR). Il suit les règles de
normalisation pour structurer les stables et les relations de manière à éviter les anomalies de
mise à jour, en rendant le modèle de données exploitable au niveau de la base de données.
− Modèle Organisationnel des Traitements (MOT) : il structure et distribue les processus
identifiés dans le MCT aux différents acteurs du système, en précisant la séquence d’opérations
et les responsabilités de chaque utilisateur.
5. 1. 5 Avantages
La méthode Merise offre de nombreux avantages pour le développement de systèmes
d’information :
− Modélisation claire et structurée : Merise propose une organisation logique des données et des
traitements, facilitant la compréhension globale du système.
− Réduction des erreurs : grâce aux étapes de normalisation et de validation, la méthode permet de
détecter et d’éliminer les incohérences dans la structure de données.
− Adaptabilité : Merise est flexible et peut être appliquée à des systèmes d’information de toutes
tailles et de tous niveaux de complexité.
Bien que la méthode MERISE soit principalement destinée à la conception de systèmes
d’information plutôt qu’à des systèmes purement informatiques, les systèmes d’information sont
aujourd’hui largement soutenus par des applications informatiques. Il devient donc pertinent
d’utiliser les modèles MERISE pour faciliter le développement de ces applications en tirant parti
des technologies modernes, comme les bases de données relationnelles et l'architecture client-
serveur.
Cependant, les méthodes traditionnelles, structurées en étapes séquentielles allant de
l'analyse des besoins à la validation finale, peuvent se révéler rigides et peu adaptées aux évolutions
rapides des besoins. Le temps souvent long entre la phase de spécification et la livraison finale peut
entraîner des décalages, les besoins ayant évolué entre-temps. Pour répondre à cette limite, il est
avantageux d’adopter des démarches impliquant davantage l’utilisateur dans le processus
d’informatisation, avec des ajustements progressifs. Ainsi, une approche combinant des méthodes
traditionnelles, comme MERISE pour l’aspect conceptuel, et des méthodes modernes, comme le
RAD pour le prototypage rapide, peut constituer un compromis efficace pour la conception
d’applications informatiques.
5. 2. Dictionnaire des données
Le dictionnaire des données est un élément central dans la conception d'un système
d'information. Il sert de référentiel complet pour l'ensemble des données utilisées au sein du
système, en décrivant leur nature, leur structure et leurs relations. Ce dictionnaire recense les
informations essentielles sur chaque donnée : leur nom, leur type, leur format et leur description, et
aide à anticiper et à minimiser les erreurs de conception.
33
Dans le cadre du projet de gestion de paiement de cantine, le dictionnaire des données
contribue à structurer l'information autour des différentes entités et des processus associés, en
alignant les exigences fonctionnelles avec la structure de la base de données.
Le tableau 6 représente le dictionnaire de données pour la conception du projet.
Tableau 6 : Dictionnaire de données
Le dictionnaire des données joue un rôle crucial dans la cohérence et la qualité du système
d'information. En centralisant la description des données et leurs caractéristiques, il réduit les
ambiguïtés et assure une structure de données fiable. Dans le projet de gestion de paiement de
cantine, le dictionnaire des données constitue un support essentiel pour une implémentation claire et
rigoureuse des exigences fonctionnelles.
5. 3. Règles de gestion
Les règles de gestion sont les normes et les contraintes qui définissent le comportement du
système d’information et encadrent les processus métier. Elles permettent de s'assurer que le
système répond aux besoins de l’utilisateur, respecte les procédures établies et garantit la fiabilité
des données et des traitements.
Dans le contexte du projet de gestion de paiement de cantine, les règles de gestion précisent
les conditions d'accès, de modification et de validation des données, en fonction des rôles et des
étapes du processus.
Sont représentées ci-après, les principales règles de gestion envisagées :
RG1 : Un employé peut soumettre des demandes.
RG2 : Un employé peut demander un montant supérieur à son solde mais la différence sera retirée
automatiquement de son futur solde.
RG3 : Seuls les administrateurs peuvent interagir avec les données des ordres de versement.
34
RG4 : La présence se fait en arrière-plan, sans intervention de la part des utilisateurs ou
administrateurs.
RG5 : Le montant du solde des employés est calculé automatiquement en fonction du montant
perçu par jour et le nombre de jours de présence.
RG6 : Une demande doit être validée par un administrateur avant traitement.
RG7 : Chaque utilisateur a un niveau d’accès défini en fonction de son rôle (administrateur,
utilisateur)
RG8 : Les données personnelles, telles que les informations de contact et le montant des soldes,
sont accessibles uniquement aux administrateurs et sont protégées par des contrôles de sécurité
RG9 : Les employés ne peuvent visualiser que leurs propres demandes.
RG10 : Le service RH et les managers (administrateurs) ont un accès global pour suivre l’ensemble
des demandes et assurer leur traitement administratif.
RG11 : Les données personnelles, telles que les informations de contact et le montant des soldes,
sont accessibles uniquement aux administrateurs et sont protégées par des contrôles de sécurité.
RG12 : Lors de la soumission d’une demande, une notification est envoyée au manager pour
validation.
RG13 :L’employé est notifié de chaque changement d’état de sa demande (en attente, approuvé,
rejeté, payé).
RG14 :Le système doit générer des rapports périodiques sur les demandes, incluant le montant total
des paiements, le montant total des dettes des employé, le montant total dû aux employés et le
montant du budget dédié aux cantines.
RG15 :Les modifications après paiement ne sont pas autorisées pour assurer la traçabilité et la
sécurité des transactions.
RG16 : Une demande est automatiquement clôturée une fois le paiement effectué.
RG17 : Les demandes clôturées sont archivées après un délai de conservation défini par l’entreprise
pour permettre des consultations ou des audits ultérieurs.
RG18 :Les demandes archivées restent accessibles en lecture pour les utilisateurs autorisés, mais
elles ne peuvent plus être modifiées.
Ces règles de gestion garantissent le bon fonctionnement du processus de gestion de cantine
en veillant à l'exactitude des données, à la conformité avec les politiques internes, et à la protection
des informations. Elles permettent également d’assurer la transparence des procédures pour
l’ensemble des utilisateurs et de réduire les risques d’erreur ou d’abus dans la gestion des
remboursements.
5. 4. Diagramme de flux
Le diagramme de flux est un outil visuel permettant de représenter les processus d’un
système d’information ainsi que les flux d’information entre ces processus, les utilisateurs et les
bases de données.
Dans le cadre de notre application de gestion de cantine, le diagramme de flux de données
décrit les étapes de traitement d’une demande de cantine et les échanges entre les employés, les
managers et le service RH.
35
Demande validée (2)
Manager Demande rejetée (4) Service RH
Demande (1)
Demande refusée (5)
Ordre de versement
(3)
Employé
36
− Association : L’association est une relation qui lie deux ou plusieurs entités.
− Propriété ou attribut : Une propriété représente une donnée élémentaire présente dans le
domaine étudié.
− Cardinalité : Elle indique le nombre minimum et maximum de fois qu'une occurrence d'une
entité peut être liée aux occurrences d'une association.
5. 5. 1. 2 Modèle Conceptuelle de Données
Dans le cas de notre projet de gestion de cantine, le MCD comprendra les entités suivantes :
− Présence
− Employé
− Demande
− OrdrePaiement
La figure 6 présence le Modèle Conceptuel des Données du projet.
37
5. 5. 2 Modèle Logique des Données (MLD)
Le MLD est une transformation du MCD en une structure compatible avec un système de
gestion de bases de données relationnelles (SGBDR). Dans cette étape, les entités et les relations
identifiées dans le MCD sont traduites en tables avec des clés primaires et étrangères, et les
dépendances sont organisées en respectant les règles de normalisation pour éviter les redondances et
anomalies.
La liste qui suit, offre un aperçu du MLD pour le projet de gestion de paiement de cantine :
EMPLOYE (email, name, firstname, poste, tel, perdiem, mdp, solde, rule)
PRESENCE (date, statut, #email)
DEMANDE (numD, dateD, avance, montant, #email)
ORDREPAIEMENT (numP, dateP, sommeP, #email, #numD)
Les relations sont définies avec des clés étrangères, assurant ainsi que chaque
enregistrement dans une table liée existe dans la table référencée. Les contraintes d'intégrité
référentielle sont appliquées pour garantir la validité des données et maintenir la cohérence dans les
tables du système.
5. 5. 3 Modèle Conceptuel des Traitements (MCT)
Le MCT vise à décrire les traitements et processus métier qui interagissent avec les données.
Ces traitements incluent les opérations que chaque entité peut effectuer, telles que la création, la
mise à jour et la validation des données. Le MCT permet de spécifier les règles de gestion et les flux
d’information qui sont nécessaires pour répondre aux exigences du système.
Dans le cas de la gestion des cantines, les traitements principaux sont :
− Soumission de demande de cantine : Un employé rédige une nouvelle demande.
− Validation par le manager : Le manager reçoit chaque demande soumise et approuve ou rejette
selon les critère définis.
− Traitement par le service RH : Les demandes approuvées par le manager passe au service RH
pour un vérification finale et le déclenchement du paiement.
− Mise à jour des statuts : À chaque étape, le statut de la demande est mis à jour avec une
notification envoyée aux utilisateurs concernés.
38
La figure 7 décrit le Modèle Conceptuel des Traitements du projet.
Ces traitements sont associés à des règles de gestion qui garantissent la conformité des
demandes et leur traitement efficace, en assurant une interaction cohérente entre les différents
acteurs du système.
5. 5. 4 Modèle Organisationnel des Traitements (MOT)
Le MOT distribue les traitements aux différents acteurs et spécifie la séquence des
opérations pour chaque flux de travail. Il décrit les interactions des acteurs avec le système et
organise le processus de manière à garantir une répartition des tâches logique et efficace.
Le MOT pour la gestion de cantine est structuré ainsi :
− Employé : Création et soumission de la demande de cantine
− Manager : Validation ou refus des demandes
− Service RH : Vérification et finalisation des paiements
Le MOT permet de définir clairement les rôles de chaque acteur dans le processus et garantit
un enchaînement fluide et organisé des opérations, réduisant les risques d’erreurs et améliorant la
réactivité du système.
En combinant ces différents modèles, la modélisation des données apporte une vision claire
et structurée du système de gestion de cantine. Elle garantit une architecture cohérente et
fonctionnelle, facilitant à la fois la maintenance et les évolutions futures.
Le tableau 7 représente le Modèle Organisationnel des Traitements du projet.
39
Tableau 7 : Modèle Organisationnel des Traitements
40
Partie III :
Réalisation
41
Chapitre 6 : Mise en place de l’environnement de développement
Dans ce chapitre, on explique la mise en place de l’environnement de développement, une
étape clé qui a servi à la réalisation de notre projet. Cela consiste à configurer les outils et les
technologies nécessaires pour garantir un développement fluide, efficace et collaboratif. Cette phase
inclut le choix des langages de programmation, des Frameworks, des systèmes de gestion de
versions et des systèmes de gestion de base de données.
Pour notre projet de conception et développement d’une application web de gestion de
paiement de cantine, il est crucial de disposer d’un environnement stable et bien configuré afin de
faciliter le travail et optimiser les tests. Cette préparation permet également de minimiser les risques
techniques durant le processus de développement.
6. 1. Installation et configuration des outils
Pour garantir un environnement de développement efficace, il est nécessaire d’installer et de
configurer plusieurs outils essentiels. Ces outils couvrent différents aspects du développement, tels
que l'édition de code, la gestion de versions, la gestion des bases de données, ainsi que les tests.
Voici les étapes détaillées pour l'installation et la configuration des principaux outils utilisés dans le
projet.
6. 1. 1 Système de gestion de version : Git et GitHub
Git est essentiel pour la gestion des versions de notre projet, permettant le suivi de
l’historique du code.
Création d’un dépôt : Initialiser un nouveau dépôt local avec ‘git init’, ou cloner un dépôt
existant avec ‘git clone <url-du-repo>’.
6. 1. 2 Environnement de développement Intégré (IDE) : Visual Studio Code
Visual Studio Code est un éditeur de code source léger et performant, conçu par Microsoft
pour répondre aux besoins des développeurs. Compatible avec Windows, Mac et Linux, il se
distingue par ses fonctionnalités avancées, telles que la coloration syntaxique, l'IntelliSense, le
débogage, la gestion des versions et la collaboration en temps réel, qui en font un outil de choix
pour le développement d’applications. Grâce à son riche écosystème d'extensions, VS Code est
également utilisé le codage avec plusieurs langages de programmation, ce qui en fait un outil très
polyvalent.
Il servira au développement de l’application.
42
Les illustrations suivantes (figure 8) décrivent le processus d’installation de VS Code.
43
Installation : télécharger PostgreSQL depuis [Link] et installer
en suivant les instructions fournies.
Configuration : une fois installé, la configuration se fera simultanément avec l’installation.
Le processus d’installation et de configuration est décrit dans le groupe d’illustrations suivantes
(figure 9).
6. 1. 4 Backend : [Link] et [Link]
[Link] permet de gérer le serveur backend, tandis qu'Express est un framework minimaliste
facilitant la création de routes et la gestion des requêtes.
44
Installation de [Link] : télécharger [Link] depuis [Link] et suivre les instructions.
Pour vérifier que node est bien installé, utiliser la commande suivante dans l’invite de
commande :
node -v
npm -v
Installation de Express : pour installer express et les autres dépendances nécessaires pour le
projet, il faut passe par l’invite de commande et utiliser la commande : npm install express
Configuration du projet : il faut tout d’abord l’initialiser depuis l’invite de commande : en
premier, créer le dossier qui contiendra tous les codes.
mkdir nom_projet
cd nom-projet
npm init -y
6. 1. 5 Frontend : [Link]
React JS est une bibliothèque JavaScript open-source, développée par Facebook, conçue
pour créer des interfaces utilisateur interactives et dynamiques pour les applications web. Elle se
concentre sur le développement de l’interface utilisateur en facilitant la gestion de l’état et
l’affichage efficace des composants grâce à une approche basée sur les composants et le DOM
virtuel.
L’un des atouts majeurs de React est sa capacité à décomposer les interfaces complexes en
composants modulaires, réutilisables et indépendants, ce qui simplifie le développement et la
maintenance de l'application. Chaque composant peut être géré et mis à jour individuellement,
offrant ainsi une structure de développement flexible. Le DOM virtuel de React optimise les
performances en ne mettant à jour que les éléments modifiés, améliorant le temps de rendu et
l’expérience utilisateur globale.
Les principales caractéristiques de [Link] se présentent comme suit :
− Composants réutilisables : React permet de créer des composants réutilisables dans différentes
parties de l’application, ce qui favorise une approche modulaire.
− Rendu optimisé avec le Virtual DOM : grâce au Virtual DOM, React compare les changements
en mémoire avant de les appliquer au DOM réel, ce qui rend le rendu plus rapide.
− Ecosystème étendu : bien que React soit une bibliothèque, elle s'intègre facilement avec d'autres
outils, comme Redux pour la gestion d’état et React Router pour la navigation, permettant la
création d'applications robustes et performantes.
− JSX : une syntaxe qui combine JavaScript et HTML, rendant le code plus intuitif et facilitant le
développement d’interfaces utilisateur.
React JS est particulièrement bien adapté aux applications monopage (SPA), où la fluidité
de l'expérience utilisateur est essentielle.
45
En configurant cet ensemble d’outils, l’environnement de développement est complet et prêt
pour une collaboration efficace. Les développeurs peuvent ainsi se concentrer sur la réalisation du
projet avec un workflow bien structuré et sécurisé, tout en assurant la traçabilité et la réactivité des
itérations de développement.
6. 2. Architecture de l’application
L’architecture de l’application de gestion de paiement de cantine repose sur une approche
multicouche, permettant une séparation claire des différentes responsabilités et assurant la
scalabilité, la sécurité, et la maintenabilité de l’application. Elle est conçue selon une architecture de
type "client-serveur" avec une communication entre le front-end et le back-end via des API
RESTful.
6. 2. 1 Architecture générale
L’architecture de l’application se compose de trois couches principales : la couche
présentation (front-end), la couche serveur (back-end), et la couche base de données. Chaque
couche a des responsabilités spécifiques et communique avec les autres pour assurer un
fonctionnement fluide de l’application.
− Couche présentation :
Front-end, cette couche est responsable de l’affichage des données et de la gestion des
interactions utilisateur. Elle propose des fonctionnalités comme le suivi des transactions pour la
gestion des paiements. Les données sont présentées sous formes de composants réactifs, capables de
se mettre à jour en temps réel selon les interactions, tout en envoyant les requêtes nécessaires au
serveur via l’API.
Technologies utilisées : React ; JSX ; CSS ; Axios
Les images (figure 10) présentent une fraction du code front-end.
46
Figure 10 : Sections de code frontend
− Couche serveur :
Back-end, permettant de gérer les requêtes et de fournir une API RESTful pour la
communication avec le front-end. Cette API répond aux requêtes de données, gère les
authentifications, et effectue la logique métier. Elle reçoit les requêtes du front-end, interagit avec la
base de données pour récupérer ou mettre à jour les informations.
Technologies utilisées : [Link] ; Express ; JWT
Les images (figure 11) décrit quelques sections du code back-end.
47
Les images (figure 12) sont des extraits de la base de données stockées sur PostgreSQL.
48
6. 2. 2 Avantages de cette architecture
Cette architecture modulaire offre plusieurs avantages :
- Maintenance simplifiée : la séparation des responsabilités facilite l’ajout de nouvelles
fonctionnalités ou la mise à jour de composants individuels.
- Réactivité et performance : grâce à la communication asynchrone et au Virtual DOM dans le
frontend, l'application reste réactive même avec des volumes de données importants.
- Perspectives d’évolution : possibilité d’évolution, comme le passage à une architecture micro
services pour améliorer la scalabilité, ou l’intégration de nouvelles fonctionnalités.
En conclusion, cette architecture fournit une base robuste, modulaire et évolutive qui répond
aux besoins actuels de l’entreprise tout en offrant des perspectives d'amélioration sur le long terme.
49
Chapitre 7 : Développement de l’application
Le développement de l'application constitue une phase centrale du projet, où l’ensemble des
éléments conçus et modélisés prend forme pour aboutir à un produit fonctionnel. Cette étape
consiste à traduire les spécifications techniques et fonctionnelles en un code opérationnel, en
mettant en œuvre les technologies et outils choisis. Le processus implique la création de l’interface
utilisateur, la configuration des bases de données, l’implémentation des fonctionnalités principales,
et la gestion des interactions entre les différents composants de l’application.
Pour la mise en place de l’application de gestion de paiement de cantine, nous avons suivi
une architecture à trois niveaux, composée de la base de données, du serveur, et de l’interface
utilisateur.
7. 1. Création de la base de données
La première étape du développement consiste à définir et à structurer la base de données.
PostgreSQL, un système de gestion de base de données relationnelle robuste, a été choisi pour
stocker les données de l’application, en raison de sa flexibilité, de ses fonctionnalités avancées et
surtout de son mode d’utilisation open source.
Les étapes de création de la base de données ont été :
− Installation de PostgreSQL : si PostgreSQL n'était pas encore installé, nous avons commencé
par l’installer et configurer un utilisateur et un mot de passe pour garantir la sécurité d'accès.
− Modélisation de la base de données : avec la méthode Merise, créer et optimiser la base de
données.
− Création des tables : après l’installation, on a créé la base de données dans PGAdmin en
définissant les tables nécessaires.
- Table des employés (personne) : pour enregistrer les informations de chaque utilisateur.
- Table des demandes (demande) : pour stocker les demandes de cantine avec les
informations associées (montant, date, statut, etc.).
- Table des ordres de versement (ordrepaiement) : pour stocker les transactions de
versements de cantine des employés.
- Table de présence (presence) : pour gérer en arrière-plan l’attendance des bénéficiaires.
− Définition des relations : les relations entre les tables ont été établies selon le MCD, avec des
clés étrangères pour lier les tables des employés, de présence, des demandes, des ordres de
paiement, et des approbateurs, permettant ainsi des opérations de jointure et de requêtes
optimisées.
− Ajout de contrainte : des contraintes de clés primaires ont été ajoutés pour garantir l’intégrité
des données et améliorer les performances des requêtes.
7. 2. Codage de l’application
L’application a été développée en utilisant une stack JavaScript, composée de React pour le
front-end, et [Link] avec Express pour le back-end. Axios a été utilisé pour gérer les
communications entre le front-end et le back-end.
50
7. 2. 1 Développement backend
Le backend de l’application a été conçu comme une API RESTful permettant de gérer les
données des employés, des demandes de cantine, des ordres de paiement, et des utilisateurs ayant
des rôles spécifiques.
Les étapes principales de la création du backend incluent :
− Installation et configuration : on a initialisé un projet [Link] avec npm et installé les modules
nécessaires, notamment `express`, `pg` pour la connexion à PostgreSQL, et `cors` pour gérer les
requêtes entre le front-end et le back-end.
− Connexion à la base de données : une connexion à PostgreSQL a été établie à l’aide du module
`pg`. Cette connexion a permis d’interagir avec la base de données pour insérer, lire, mettre à
jour et supprimer les données.
− Définition des routes : nous avons configuré des routes spécifiques pour chaque opération
CRUD (Create, Read, Update, Delete) :
- Routes pour les employés : pour récupérer la liste des employés, ajouter de nouveaux
employés, ou mettre à jour leurs informations.
- Routes pour les demandes : pour soumettre, approuver, ou rejeter les demandes de
cantine.
- Routes pour la gestion des utilisateurs : pour permettre aux managers et au service RH de
valider et suivre les demandes.
-Route pour les ordres de paiement : pour confirmer les versements et stocker les données et
ainsi produire des rapports.
7. 2. 2 Développement frontend
Le frontend a été développé en React, permettant de créer une interface utilisateur
dynamique et responsive. Axios a été utilisé pour communiquer avec l’API back-end.
Les étapes principales de développement du front-end comprennent :
− Configuration de React et des dépendances : après avoir initialisé le projet avec `npx create-
react-app`, nous avons installé Axios pour faciliter les appels HTTP.
− Création des composants React : l’interface utilisateur a été divisée en plusieurs composants
pour la gestion modulaire tels que : le composant Employé, composant Demande et composant
Ordre de paiement
− Utilisation d’Axios : Axios a été utilisé pour envoyer des requêtes HTTP vers le backend et
récupérer les données de la base de données. Avec les requêtes ‘get’, ‘post’, ‘put’, ‘delete’ pour
interagir avec les données.
− Gestion de l’état : l’état de l’application a été géré avec `useState` et `useEffect`, permettant de
recharger et afficher les données en fonction des interactions de l'utilisateur.
− Interface utilisateur : on a intégré des éléments de style CSS et optimisé les interactions pour
une expérience utilisateur fluide. Les utilisateurs peuvent consulter, soumettre, et gérer les
demandes de cantine facilement grâce à une interface intuitive.
La mise en œuvre de cette application a permis de structurer efficacement le développement
en s’appuyant sur PostgreSQL pour une gestion des données robuste et sur la stack [Link]/React
51
pour un développement modulaire. La séparation entre les différentes couches (base de données,
API back-end et interface utilisateur) assure la flexibilité de l’application et facilite son évolutivité.
7. 3. Présentation de l’application
Il est à rappeler que cette application a été développée pour répondre aux besoins de gestion
de paiement de cantine d'une entreprise. Son but est de simplifier et d'automatiser les processus liés
aux demandes et approbations des indemnités de repas pour les employés. Conçue comme une
solution complète, elle permet aux utilisateurs de soumettre, consulter, valider ou rejeter les
demandes de cantine via une interface web intuitive et sécurisée.
7. 3. 1. Objectifs
Cette application vise principalement à :
− Optimiser le processus de gestion des cantines en réduisant le besoin en paperasseries et en
centralisant les informations en un seul endroit.
− Faciliter le suivi des demandes par les utilisateurs en permettant une vue claire du statut des
demandes.
− Assurer la traçabilité de chaque transaction et éviter les erreurs de saisie, grâce à une base de
données fiable
− Améliorer l’expérience utilisateur avec un système simplifié et intuitif.
7. 3. 2. Fonctionnalités clés
L'application comporte plusieurs modules qui permettent de répondre aux besoins de chaque
type d'utilisateur :
Historique et suivi :
- L’application permet de consulter l’historique des demandes et des ordres de versement.
Authentification et gestion des rôles :
- L'accès aux différentes fonctionnalités de l'application est contrôlé par un système de
rôles. Le utilisateurs disposent chacun de permissions spécifiques qui leur permettent d'accéder
uniquement aux fonctionnalités dont ils ont besoin.
Cette application de gestion cantine est un instrument crucial pour les entreprises,
contribuant à optimiser et clarifier le processus de paiement des coûts de restauration des employés.
Elle propose une solution complète pour satisfaire les exigences des employés et des services de
gestion de la société grâce à son interface conviviale et sa structure backend robuste.
52
7. 3. 3. Tutoriel d’utilisation
Cette section offre aux utilisateurs une explication claire et étape par étape pour naviguer et
utiliser une application de gestion de paiement de cantine de manière efficace.
7. 3. 3. 1. Accueil
La page d’accueil constitue le point d’entrée principal de l’application. Elle joue un rôle
essentiel dans l’expérience utilisateur en offrant une interface intuitive, moderne et attrayante. Pour
entrer dans les autres, il faut passer par la page de connexion en cliquant sur le bouton se connecter.
La page d’accueil de l’application est représentée par la figure 14.
7. 3. 3. 2. Connexion
Pour les utilisateurs enregistrés, après avoir cliqué sur « Se connecter », entrer vos
identifiants pour accéder à votre tableau de bord.
Les images (figure 15 et figure 16) exposent les pages de connexion pour les
utilisateurs/administrateurs.
7. 3. 3. 3. Inscription
Pour les simples utilisateurs non-enregistrés, cliquez sur le bouton « S’inscrire » et entrez
vos informations.
La figure 17 dévoile la page d’inscription.
54
L’image (figure 18) produit le tableau de bord d’un utilisateur.
55
Pour sortir de cette page, cliquez sur « Se déconnecter ».
7. 3. 3. 6. Employés
Dans le menu « Employés », vous pouvez consultez une liste d’employés avec les détails de
chacun d’eux.
La figure 20 dévoile le contenu du menu Employés.
7. 3. 3. 7. Rapports
Le menu « Rapports » est composé des demandes et des historiques de transaction par
rapport aux ordres de paiement. Avec des tableaux qui illustrent le montant, l’état et la date pour le
tableau de demande et le montant, la date et email du bénéficiaire pour le tableau des versements.
La figure 21 illustre la page de rapports.
Figure 21 : Rapports
56
7. 3. 3. 8. Paramètres
Dans le menu « Paramètres », vous pouvez modifier des informations générales comme le
budget dédié à la cantine des employés.
Les paramètres figurent dans l’image (figure 22).
Figure 22 : Paramètres
Ce tutoriel fournit les étapes essentielles pour une prise en main de l'application, tout en
guidant les utilisateurs à travers les principales fonctionnalités de manière efficace et intuitive.
7. 3. 4. Limite et amélioration possible
Malgré les efforts déployés pour développer cette application de gestion de paiement de
cantine fonctionnelle et adaptée aux besoins de MaDigiCom, certaines limites subsistent, offrant des
opportunités d'amélioration pour accroître sa performance, sa flexibilité, et sa convivialité.
7. 3. 4. 1. Limites
Bien que l'application de gestion de paiement de cantine réponde aux objectifs initiaux, elle
comporte néanmoins, certaines limites techniques et fonctionnelles qui entravent son plein potentiel
dans des contextes complexes ou en expansion. Identifier ces limites permet de mieux envisager des
améliorations futures pour en faire une solution plus durable, adaptable et évolutive.
Les principales limites identifiées sont :
- Sécurité et gestion des accès : bien que des mesures de sécurité de base soient mises en
place, l'application reste vulnérable à certaines failles potentielles (ex : injection SQL, XSS) et ne
dispose pas d’un système avancé de gestion des rôles.
- Scalabilité : l’architecture actuelle pourrait rencontrer des limites de performance en cas de
forte augmentation du nombre d’utilisateurs ou du volume de données.
-Expérience utilisateur : l'interface, bien que fonctionnelle, pourrait être complexe pour
certains utilisateurs non familiers aux outils numériques.
- Rapports : les rapports et visualisations de données sont limités et ne permettent pas une
analyse trop approfondie.
57
- Intégration avec d’autres systèmes : l’application fonctionne de manière indépendante,
sans intégration directe avec d’autres outils de gestion RH ou comptables, ce qui pourrait
complexifier certains processus.
7. 3. 4. 2. Améliorations possibles
Pour renforcer l'efficacité et l'adaptabilité de l'application de gestion de cantine, plusieurs
améliorations sont envisageables. Celles-ci visent à optimiser l'expérience utilisateur, renforcer la
sécurité, et accroître les performances, afin de répondre aux besoins évolutifs de l’entreprise.
Pour répondre aux limites de l’application, nous avons identifié quelques suggestions
d’amélioration :
- Renforcement de la sécurité : mettre en œuvre des pratiques de sécurité avancées pour
sécuriser les données sensibles.
- Optimisation de la scalabilité : revoir l'architecture en intégrant des options de mise en
cache et de répartition de charge, ainsi que des bases de données distribuées pour mieux gérer
l’augmentation des utilisateurs et des données.
- Amélioration de l’expérience utilisateur : repenser l'interface pour qu'elle soit plus intuitive
et accessible, en ajoutant des éléments interactifs et une assistance guidée pour les nouveaux
utilisateurs. Proposer également une version mobile de l'application pour améliorer l’accessibilité.
- Fonctionnalité de génération de rapport avancée : développer des outils de reporting plus
détaillés avec des graphiques et des tableaux de bord interactifs permettant des analyses ainsi qu’un
export facile des rapports.
- Intégration avec d’autres systèmes : faciliter l'intégration de l'application avec des
systèmes tiers (comme des logiciels RH, ERP ou comptables) pour une gestion plus centralisée et
une automatisation des flux de travail, via des API ou des connecteurs spécifiques.
En somme, bien que l’application réponde aux besoins initiaux du projet, ces améliorations
pourraient non seulement en accroître l’efficacité et la convivialité, mais aussi assurer sa pérennité
et son adaptabilité face aux évolutions futures de MaDigiCom.
58
Conclusion
Ce stage au sein de MaDigiCom a été une expérience extrêmement enrichissante, marquant
un tournant significatif dans nos parcours académiques et professionnels en tant que programmeurs.
Il nous a permis de mettre en pratique nos compétences théoriques acquis à l’ENI dans un cadre
professionnellement concret et surtout d’avoir encore des opportunités pour explorer d’autres
domaines orientés professionnels.
À travers le développement d’une application dédiée à la gestion financière de la cantine des
employés, nous avons approfondi nos compétences en programmation et en architecture des
systèmes d’information, en utilisant la méthode Merise associée à des technologies modernes
comme React, [Link], Express et PostgreSQL. Cette application apporte une approche moderne à
la gestion budgétaire des services internes, en remplaçant les méthodes traditionnelles de suivi et de
gestion des dépenses lié à l’indemnisation des déjeuners des employés.
Au-delà des compétences techniques, nous avons également acquis une meilleure
compréhension de l’organisation du travail, de la gestion des projets, et de la communication
professionnelle. Nous avons appris à organiser et structurer le travail d’équipe pour respecter les
délais et atteindre les objectifs fixés. Cette expérience a aussi renforcé notre compréhension de
l’importance de la technologie dans l’optimisation de la gestion des ressources financières dans une
entreprise.
Ce projet a suscité notre intérêt pour le développement de logiciel. Nous sommes très
reconnaissants pour cette opportunité formatrice offerte par MaDigiCom. Ainsi que pour l’accueil,
le soutien et les conseils que l’équipe de la société nous ont réservés. Fort de cette expérience, nous
sommes désormais mieux préparés pour les défis futurs et nous avons hâte de poursuivre nos
progrès dans le secteur du développement logiciel et dans bien d’autres domaines liés aux
numériques et à l’informatique.
59
Bibliographie
[1] Scott Chacon & Ben Straub, « Pro git », dec 2014, 2e édition, Springer Libri, 419 pages
XI
Webographie
[2] [Link] Github Desktop, consulté le 02 septembre 2024
[3] [Link] OpenClassRooms, consulté le 02 septembre 2024
[4] [Link] Git, consulté le 02 septembre 2024
[5] [Link] React, consulté le 02 septembre 2024
[6] [Link] Github, consulté le 02 septembre 2024
[7] [Link] Codeline, consulté le 03 septembre 2024
[8] [Link] [Link] et MySQL, consulté le 03 septembre 2024
[9] [Link] Geeks for geeks, consulté le 03 septembre 2024
[10] [Link] Youtube, consulté du 03 au 06 septembre 2024
[11] [Link] FreeCodeCamp, consulté le 03 septembre et le 14 octobre
2024
[12] [Link] Express, consulté le 09 septembre 2024
[13] [Link] ClishaNodes, consulté le 09 septembre 2024
[14] [Link] Madigicom, consulté le 09 septembre et le 14 octobre 2024
[15] [Link] ChatGPT, consulté du 10 septembre au 25 octobre 2024
[16] [Link] Dribbble, consulté le 11 septembre 2024
[17] [Link] [Link], consulté le 12 septembre 2024
[18] [Link] Pinterest, consulté le 12 septembre et le 16 octobre 2024
[19] [Link] Google Font, consulté du 13 septembre au 30 octobre 2024
[20] [Link] Supertokens, consulté le 19 et le 20 septembre 2024
[21] [Link] BezKoder, consulté le 20 septembre 2024
[22] [Link] Medium, consulté le 24 et le 26 septembre 2024
[23] [Link] Log Rocket, consulté le 27 septembre 2024
[24] [Link] [Link], consulté le 14 octobre 2024
[25] [Link] W3schools, consulté du 14 au 23 octobre 2024
[26] [Link] Microsoft, consulté le 25 octobre 2024
[27] [Link] Ministère de l’éducation Nationale, consulté de 30 octobre
2024
[28] [Link] Motmalgache, consulté le 30 octobre 2024
[29] [Link] Red Hat, consulté le 12 novembre 2024
[30] [Link] Oracle, consulté le 15 novembre 2024
XII
Glossaire
Attribut : Caractéristiques décrivant les entités et doivent être représentés comme une liste de mots,
la plus simple possible, dans le cadre de l’entité correspondante.
Backend : Couche logicielle accédant à des données.
Blockchain : Technologie sécurisée et distribuée de stockage et de transmission d’informations
sous forme de blocs liées les uns aux autres.
Business Intelligence : Processus technologique d’analyse des données et de présentation
d’informations pour aider les dirigeants, managers et autres utilisateurs finaux de l’entreprise à
prendre des décisions business éclairées.
Cardinalité : Nombre minimum et maximum de possibilités que chaque classe contient dans la
relation liant deux ou plusieurs entités.
Diagramme de flux : Vue d’ensemble de la circulation des informations (les flux) entre des acteurs
internes ou externes qui participent à un domaine d’étude.
Entité : Ensemble homogène d’information qui correspondent au même « objet » à informatiser.
Elle a un nom unique afin de la manipuler facilement.
Framework : Ensemble particulier de règles, d’idées ou de croyances que vous utilisez pour faire
face à des problèmes ou pour décider quoi faire. Boite à outils pour un développeur web.
Frontend : Ensemble des éléments visibles et accessibles directement sur un site web.
Interface : Limite commune à deux systèmes, permettant des échanges entre ceux-ci.
Logique métier : Ensemble des règles et processus qui encadrent les opérations de l’application.
Elle décrit les étapes à suivre pour accomplir une tâche spécifique, ainsi que les conditions et règles
à respecter pour que cette tâche soit exécutée avec succès.
Merise : Méthodologie de modélisation à usage général dans les domaines du développement de
systèmes d’information, du génie logiciel et de la gestion de projet, basée sur la séparation des
données et des traitements.
Méthodologie : Manière de procéder. Ensemble des méthodes et techniques d’un domaine
spécifique.
Modélisation : Conception et utilisation d’un modèle. Représentation simplifiée, compréhensible,
prédictible ou formel d’un phénomène complexe.
Niveau d’abstraction : Degré de complexité avec lequel un système est visualisé.
Obsolescence : Fait d’être, de devenir périmé, déprécié, inutilisable.
Processus métier : Activité ou ensemble d’activités mis en place en entreprise pour réaliser une
tâche, un projet ou atteindre un objectif.
Règle de gestion : Règles mises en œuvre aux fins de la gestion de la zone de conservation
communautaire.
Relation : Liens sémantiques qui peuvent exister entre plusieurs entités.
XIII
Reporting : Récupération et présentation de manière claire de données sur une période souhaitée
pour être analysées et exploitées.
Scalabilité : faculté d’un produit informatique à s’adapter aux fluctuations de la demande en
conservant ses différentes fonctionnalités.
Test fonctionnel : Vérification de la sortie d’une action et nos les états intermédiaires du système
lors de l’exécution de cette action.
XIV
Annexes
Perspectives futures :
L'application de gestion de paiement de cantine constitue une fondation robuste pour gérer
les aspects financiers des repas des employés. Toutefois, dans un environnement en constante
évolution, les perspectives futures du projet aspirent à des améliorations adaptées aux besoins
grandissants des entreprises modernes.
Quelques orientations stratégiques sont à envisager :
- Evolutivité et adaptabilité de l’architecture : Afin de supporter un volume de données et
d’utilisateurs croissant, une révision de l'architecture serait bénéfique pour rendre l'application
davantage évolutive. Passer vers une architecture microservices pourrait permettre d’améliorer la
répartition des charges et d'accélérer les temps de réponse, notamment si l’application est destinée à
évoluer vers des entreprises de plus grande taille ou avec des besoins plus variés.
- Intégration d’IA pour l’analyse prédictive : En intégrant des fonctionnalités d’analyse
prédictive via l’intelligence artificielle, l’application pourrait proposer des insights avancés sur les
dépenses et les déplacements des employés, permettant aux entreprises d’anticiper les budgets et de
mieux gérer les coûts. Par exemple, un module d’IA pourrait prévoir les coûts futurs de per diem en
fonction de la saison, de la région ou des habitudes de dépenses passées.
- Application mobile : Pour une meilleure accessibilité, une application mobile offrirait aux
utilisateurs une expérience améliorée sur les smartphones et tablettes. Cela serait particulièrement
utile pour les employés, qui pourraient soumettre leurs demandes de cantine, consulter l’état de leur
remboursement et recevoir des notifications directement sur leurs appareils mobiles.
- Sécurité renforcée : Renforcer la sécurité avec de meilleures protocoles d’authentification
assurerait la protection des données sensibles. L’ajout d’un système de détection des fraudes basé
sur l’IA pourrait également contribuer à repérer toute anomalie dans les demandes de
remboursement, garantissant ainsi une utilisation sûre et fiable de l’application.
- Intégration blockchain pour la transparence des transactions : La technologie blockchain
pourrait être explorée pour offrir une traçabilité accrue des transactions. Cela garantirait une
transparence optimale et renforcerait la confiance dans la gestion des dépenses, en rendant chaque
étape du processus de validation et de remboursement consultable et inviolable.
Ces perspectives de développement visent à faire évoluer l’application vers une solution
complète et sophistiquée, adaptée aux besoins des entreprises en constante évolution.
XV
Table de matière
Curriculum Vitae ............................................................................................................................... I
Sommaire ......................................................................................................................................... III
Remerciements .................................................................................................................................. V
Liste de figures .................................................................................................................................VI
Liste des tableaux ...........................................................................................................................VII
Liste des abréviations ...................................................................................................................VIII
Introduction ........................................................................................................................................1
Partie I : Présentation ..................................................................................................................2
Chapitre 1 : Présentation de l’Ecole Nationale d’Informatique ............................................ 3
1. 1. Informations générales ...................................................................................................3
1. 2. Missions et historiques ...................................................................................................3
1. 3. Organigramme institutionnel de l’ENI .......................................................................... 4
1. 4. Domaines et Spécialisation ............................................................................................ 6
1. 5. Architecture des formations pédagogiques ....................................................................6
1. 6. Relation de l’ENI avec les entreprises et organismes ....................................................8
1. 7. Partenariat au niveau international ...............................................................................10
1. 8. Débouchés professionnels des diplômés ......................................................................11
1. 9. Ressources humaines ................................................................................................... 12
Chapitre 2 : Présentation de MaDigiCom ............................................................................. 13
2. 1. Informations générales .................................................................................................13
2. 2. Missions et historiques .................................................................................................13
2. 3. Organisation générale .................................................................................................. 13
2. 4. Ressources humaines ................................................................................................... 14
2. 5. Moyens matériels ......................................................................................................... 15
2. 6. Services proposés .........................................................................................................15
2. 6. 1 Création de site vitrine ..........................................................................................15
2. 6. 2 Création de site e-commerce ................................................................................ 15
2. 6. 3 Développement Web appliaction ..........................................................................16
2. 6. 4 Développement d’application Mobile .................................................................. 16
2. 6. 5 Web Marketing ..................................................................................................... 16
2. 7. Client ............................................................................................................................16
2. 8. Processus de développement ....................................................................................... 16
Chapitre 3 : Description du projet ......................................................................................... 18
3. 1. Formulation ..................................................................................................................18
3. 2. Objectifs et besoins de l’utilisateur ..............................................................................18
XVI
3. 2. 1 Objectif ................................................................................................................. 18
3. 2. 2 Besoins de l’utilisateur ......................................................................................... 18
3. 3. Moyens nécessaires à la réalisation du projet .............................................................. 19
3. 3. 1 Moyens humains ...................................................................................................19
3. 3. 2 Moyens matériels : ............................................................................................... 19
3. 3. 3 Moyens logiciels ...................................................................................................20
3. 4. Résultats attendus ........................................................................................................ 20
3. 5. Chronogramme de travail ............................................................................................ 20
Partie II : Analyse et conception ................................................................................................ 22
Chapitre 4 : Analyse préalable ................................................................................................23
4. 1. Analyse de l’existant ....................................................................................................23
4. 1. 1 Organisation actuelle ............................................................................................ 23
4. 1. 2 Inventaire des moyens matériels et logiciels ........................................................ 23
4. 2. Critique de l’existant ....................................................................................................24
4. 2. 1 Faiblesses et limitations ........................................................................................24
4. 2. 2 Avantages ............................................................................................................. 24
4. 3. Conception avant-projet ...............................................................................................25
4. 3. 1 Proposition de solution ......................................................................................... 25
4. 3. 2 Méthodes de conception et outils utilisés ............................................................. 26
Chapitre 5 : Analyse conceptuelle .......................................................................................... 31
5. 1. Présentation de la méthode Merise .............................................................................. 31
5. 1. 1 Historique ............................................................................................................. 31
5. 1. 2 Système d’information dans l’entreprise ..............................................................31
5. 1. 3 Démarche ..............................................................................................................32
5. 1. 4 Cycle d’abstraction et les modèles ....................................................................... 32
5. 1. 5 Avantages ............................................................................................................. 33
5. 2. Dictionnaire des données ............................................................................................. 33
5. 3. Règles de gestion ......................................................................................................... 34
5. 4. Diagramme de flux ...................................................................................................... 35
5. 5. Modélisation des données ............................................................................................ 36
5. 5. 1 Modèle Conceptuel des Données (MCD) .............................................................36
5. 5. 2 Modèle Logique des Données (MLD) ..................................................................38
5. 5. 3 Modèle Conceptuel des Traitements (MCT) ........................................................ 38
5. 5. 4 Modèle Organisationnel des Traitements (MOT) ................................................ 39
Partie III : Réalisation ...............................................................................................................41
Chapitre 6 : Mise en place de l’environnement de développement ..................................... 42
6. 1. Installation et configuration des outils .........................................................................42
XVII
6. 1. 1 Système de gestion de version : Git et GitHub .....................................................42
6. 1. 2 Environnement de développement Intégré (IDE) : Visual Studio Code .............. 42
6. 1. 3 Système de gestion de base de données : PostgreSQL .........................................43
6. 1. 4 Backend : [Link] et [Link] ........................................................................... 44
6. 1. 5 Frontend : [Link] ................................................................................................45
6. 2. Architecture de l’application ........................................................................................46
6. 2. 1 Architecture générale ............................................................................................46
6. 2. 2 Avantages de cette architecture ............................................................................ 49
Chapitre 7 : Développement de l’application ........................................................................ 50
7. 1. Création de la base de données .................................................................................... 50
7. 2. Codage de l’application ............................................................................................... 50
7. 2. 1 Développement backend ...................................................................................... 51
7. 2. 2 Développement frontend ...................................................................................... 51
7. 3. Présentation de l’application ........................................................................................52
7. 3. 1. Objectifs ............................................................................................................... 52
7. 3. 2. Fonctionnalités clés .............................................................................................. 52
7. 3. 3. Tutoriel d’utilisation .............................................................................................53
7. 3. 4. Limite et amélioration possible ............................................................................ 57
Conclusion ........................................................................................................................................ 59
Bibliographie ....................................................................................................................................XI
Webographie .................................................................................................................................. XII
Glossaire ........................................................................................................................................XIII
Annexes ........................................................................................................................................... XV
Table de matière ........................................................................................................................... XVI
Résumé ...........................................................................................................................................XIX
Abstract ...........................................................................................................................................XX
XVIII
Résumé
Ce stage au sein de l’entreprise MaDigiCom nous a offert une expérience enrichissante sur
le plan technique via le projet de développement d’une application de gestion de paiement de
cantine. L’objectif de ce projet était de concevoir une solution web permettant d’optimiser la
gestion financière liée aux repas des employés en y apportant une approche moderne plus fiable et
plus maniable en remplacement des méthodes traditionnelles et manuelles.
Après une présentation du contexte et des enjeux du projet, le rapport décrit les phases
d’analyse et de conception, ainsi que les outils et méthodes choisis pour répondre aux besoins
identifiés. En utilisant la méthode Merise et des technologies telles que React pour le front-end,
[Link] et Express pour le back-end et PostgreSQL pour la gestion de base de données, le projet
assure la fluidité de l’interface utilisateur et une gestion efficace des transactions de l’application.
Les défis rencontrés ont permis de renforcer nos compétences en développement
d’applications et en gestion de système d’information. Le rapport conclut en explorant les limites de
l’application ainsi que les perspectives d’amélioration, notamment pour rendre le système plus
adaptable à toutes les situations et performant dans le futur.
XIX
Abstract
This internship at MaDigiCom provided valuable technical experience through the
development of a canteen payment management application. The aim of this project was to design a
web solution that optimizes financial management related to employee per diem by adopting a
modern approach more manageable to replace a manual traditional method.
Following an introduction to the project context and objectives, the report details the
analysis and design phases, as well as the tools and methods chosen to meet identified needs. Using
the Merise methodology and technologies such as React for the front-end, [Link] and Express for
the back-end, and PostgreSQL for database management, the project ensures a smooth user
interface and efficient transaction handling.
The challenges encountered allowed us to strengthen our skills in software development and
information system management. The report concludes by exploring the application's limits and
future improvement opportunities, particularly to make the system more adaptable to all contexts
and efficient in the future.
XX