Memoire L3
Memoire L3
Memoire L3
Intitulé :
Présenté le,
Par
Membres de jury
- Président de jury :
- Examinateur :
- Rapporteurs :
• Monsieur
• Monsieur RANAIVOSON Hajatiana Directeur Générale de la société HR-IT
Consulting
FORMATIONS ET DIPLOMES
2019 – 2020
2016 – 2017
Première année de la formation professionnelle – Ecole Nationale
d’Informatique
2016 – 2017
Terminale Série C – Lycée Moderne Ampefiloha (LMA)
❖ Baccalauréat série C
❖ Mention : Assez-bien
1
EXPERIENCES PROFESSIONNELLES
Stage professionnel
Novembre 2019 – D.S.I Jirama Antananarivo – Développeur
Janvier 2020
❖ Création et réalisation d’une application web pour la gestion de la
CMS
❖ Environnement de développement : Visual Studio 2019
Projets scolaires
2020 -2021 Ecole Nationale d’Informatique – Troisième année Génie Logiciel et Base
de Données
I. Création d ‘une application web : gestion des employés
1. Back-end : Spring boot java
Front-end : Angular
2. Back-end : NodeJS
Front-end : Angular
II. Création d’une application CRUD sous Linux Centos avec Oracle 12c
en utilisant VirtualBox
III. Design pattern GOF
Octobre 2019 Ecole Nationale d’Informatique – Deuxième année Génie Logiciel et Base
de Données
❖ Framework : Qt Creator
❖ IDE : Notepad++
CONNAISSANCES EN INFORMATIQUE
CONNAISSANCES LINGUISTIQUES
▪ C
in
é
CENTRES D’INTERETS m
a
▪ Lecture
REMERCIEMENTS
En prélude à ce présent projet, je souhaite adresser mes remerciements les plus sincères aux
personnes qui ont contribuées à l’élaboration de ce travail ainsi qu’à la réussite de cette année
universitaire.
Je tiens à remercier vivement :
❖ Monsieur RAMAMONJISOA Bertin Olivier, Directeur de l’Ecole Nationale
d’Informatique et Professeur Titulaire, d’avoir organiser l’année scolaire afin que nous
puissions apprendre correctement et de nous avoir permis d’aller en stage ;
❖ Monsieur RANAIVOSON Hajatiana, Directeur générale de la société HR-IT
Consulting, mon encadreur professionnel, pour son accueil et la confiance qu’il m’a
accordé dès mon arrivé dans sa direction et de m’avoir accueillie en tant que stagiaire ;
❖ Monsieur RALAIVAO Christian, Responsable de Parcours Génie Logiciel et
Base de Données et encadreur pédagogique, pour ses conseils et ses précieuses remarques
et pour sa disponibilité malgré son travail ;
❖ Monsieur RABETAFIKA Louis Haja, Responsable de Mention ;
❖ Tous les membres du jury, d’avoir accepté de juger notre projet pour que nous
puissions améliorer notre futur travail ;
Nous éprouvons également nos gratitudes à nos parents pour leurs soutiens que ce soit
psychologique ou financier.
Enfin, nous remercions sincèrement aussi nos amis et nos familles qui n’ont jamais cessés de
nous encourager et de nous soutenir tout le long de ce stage, que ce soit de près ou de loin.
5
SOMMAIRE
CURRICULUM VITAE I
REMERCIEMENTS V
SOMMAIRE VI
NOMENCLATURE VIII
LISTE DES TABLEAUX IX
LISTE DES FIGURES X
INTRODUCTION GENERALE
PARTIE I. PRÉSENTATIONS GÉNÉRALES
CHAPITRE 1. PRÉSENTATION DE L’ECOLE NATIONALE D’INFORMATIQUE
1.1. Information d’ordre générale
1.2. Missions et historique
1.3. Organigramme institutionnel de l’ENI
1.4. Domaines de spécialisation
1.5. Architecture des formations pédagogiques
1.6. Relation de l’ENI avec les entreprises et les organisations
1.7. Partenariat au niveau international
1.8. Débouchés professionnels des diplômes
1.9. Ressources humaines
CHAPITRE 2. PRÉSENTATION DE LA SOCIÉTÉ HR-IT CONSULTING
2.1. Information générale
2.2. Historique
2.3. Mission de l’entreprise
2.4. Acticités de l’entreprise
2.5.Organiqramme de l'entreprise…………………………………………………………………
CHAPITRE 3. PRÉSENTATION DE L’ARCHITECTURE MICROSERVICES
3.1. Introduction générale
III.2. Objectifs
3.3. Comparaison avec l’architecture monolitique
Chapitre4. Présentation de l'outil GitLab……………………………………………………………………
4.1.Présentation générale…………………………………………………………………………
4.2. Utilité…………………………………………………………………………………
CHAPITRE 5. DESCRIPTION DU PROJET
5.1. Formulation
5.2. Objectif et besoin de l’utilisateur
5.3. Moyens nécessaires à la réalisation du projet
5.4. Méthodologie pour la conduite de ce projet
5.5. Résultats attendues
PARTIE II. ANALYSE ET CONCEPTION
CHAPITRE 6. ANALYSE PRÉALABLE
6.1. Analyse de l’existant
6.2. Critique de l’existant
6.3. Conception avant-projet
CHAPITRE 7. ANALYSE CONCEPTUELLE
7.1. Présentation de la méthode 2TUP
7.2. Dictionnaires de données
7.3. Règles de gestion
7.4. Diagramme de contexte
7.5.Diagramme de cas d’utilisation
7.6. Diagramme de séquence système pour chaque cas d’utilisation
7.7. Diagramme de classe
7.8. Diagramme de paquettage
7.9. Diagramme de déploiement
PARTIE III. RÉALISATION DU PROJET
CHAPITRE 8. INSTALLATION ET CONFIGURATION DES OUTILS
8.1. Spring Tool Suite
8.2. Visual Studio Code
CHAPITRE 9. DÉVELOPPEMENT DE L’APPLICATION
9.1. Architecture de l’application
9.2. Création de la base de données
9.3. Codage de l’application
9.4. Présentation de l’application
CHAPITRE 10 MISE EN ŒUVRE DE L’APPLICATION
9.1. Authentification
9.2. Page d’accueil de l’Accueil
9.3. Enregistrement d’une nouvelle demande
9.4. Modification d’une demande
9.5. Liste des demandes
9.6. changement d’état des demandes
9.7. Statistique des fréquentations au CNAPS
CONCLUSION ............................................................................................................................................... XI
REFERENCES BIBLIOGRAPHIQUES ..............................................................................................................
XII
REFERENCE WEBOGRAPHIQUES ............................................................................................................... XIII
GLOSSAIRE ................................................................................................................................................. XIV
ANNEXES ..................................................................................................................................................... XV
TABLES DES MATIERES ............................................................................................................................. XVII
RESUME ...................................................................................................................................................... XX
INTRODUCTION GENERALE
PARTIE I : PRESENTATIONS GENERALES
Chapitre 1. Présentation de l’Ecole Nationale d’Informatique
Conseil d’Ecole
Service Service de la Service Parcours: Génie Logiciel Parcours: Administration Parcours: Informatique
scolaire comptabilité Intendance et Base de Données des Système etRéseaux Générale
❖ Informatique Générale
❖ Informatique Générale
+7
Tableau 2: Architecture des études correspondant au système LMD
Doctorat
+6
+5 Master Recherche
+4 Master 1 Marché du
Licence Professionnel
travail
Licence 3
+3
Licence 2 Diplôme de Technicien Supérieur
+1
DTS : Diplôme de Technicien Supérieur
BTS : Brevet de Technicien Supérieur
DUT : Diplôme Universitaire de Technicien
La licence peut avoir une vocation générale ou professionnelle.
Le master peut avoir une vocation professionnelle ou de recherche.
Tableau 3: Liste des formations existantes à l’ENI
De 2000 à 2004, l’ENI avait fait partie des membres du bureau de la Conférence
Internationale des Ecoles de formation d’Ingénieurs et Technicien d’Expression
Française (CITEF).
Les Enseignants-Chercheurs de l’Ecole participent régulièrement aux activités
organisées dans le cadre du Colloque Africain sur la Recherche en Informatique
(CARI).
L’ENI avait également signé un accord de coopération inter-universitaire avec
l’Institut de Recherche en Mathématiques et Informatique Appliquées (IREMIA) de
l’Université de la Réunion, l’Université de Rennes 1, l’INSA de Rennes, l’Institut
National Polytechnique de Grenoble (INPG).
A partir du mois de Juillet 2001, l’ENI avait abrité le Centre de Réseau
Opérationnel (Network Operating Center) du point d’accès à Internet de l’Ecole
ainsi que de l’Université de Fianarantsoa. Grâce à ce projet américain qui a été
financé par l’USAID Madagascar, l’ENI de l’Université de Fianarantsoa avait été
dotées d’une ligne spécialisée d’accès permanent au réseau Internet. L’ENI avait de
même noué des relations de coopération avec l’Institut de Recherche pour le
Développement (IRD).
L’objet du projet de coopération avait porté sur la modélisation environnementale
du Corridor forestier de Fandriana jusqu’à Vondrozo (COFAV). Dans ce cadre, un
atelier scientifique international avait été organisé à l’ENI en Septembre 2008. Cet
atelier scientifique avait eu pour thème de modélisation des paysages.
Et dans le cadre du programme scientifique PARRUR, l’IRD avait financé depuis
2010 le projet intitulé « Forêts, Parcs et Pauvreté dans le Sud de Madagascar
(FPPSM). Des étudiants en DEA et des Doctorants issus de l’ENI avaient participé
à ce Programme.
Par ailleurs, depuis toujours la même année 2010, l’ENI de Fianarantsoa avait été
sélectionnée pour faire partie des organismes partenaires de l’Université de Savoie
dans le cadre du projet TICEVAL relatif à la certification des compétences en TIC ;
Le projet TICEVAL avait été financé par le Fonds Francophone des Inforoutes pour
la période allant de 2010 à 2012, et il avait eu pour objectif de généraliser la
certification des compétences en Informatique et Internet du type C2i2e et C2imi.
Dans le cadre du projet TICEVAL, une convention de coopération avec l’Université
de Savoie avait été signée par les deux parties concernées. La mise en œuvre de la
Convention de Coopération avait permis d’envoyer des étudiants de l’ENI à
Chambéry pour poursuivre des études supérieures en Informatique.
Enfin et non des moindres, l’ENI avait signé en Septembre 2009 un protocole de
collaboration scientifique avec l’ESIROI – STIM de l’Université de la Réunion.
Comme l’ENI constitue une pépinière incubatrice de technologie de pointe,
d’emplois et d’entreprises, elle peut très bien servir d’instrument efficace pour
renforcer la croissance économique du pays, et pour lutter contre la Pauvreté.
- Analyste
- Programmeur
- Administrateur de site web/de portail web
LICENCE
- Assistant Informatique et internet
- Chef de projet informatique
- Développeur Informatique ou multimédia
- Intégrateur web ou web designer
- Hot liner/Hébergeur Internet
- Technicien/Supérieur de help desk sur Informatique
- Responsable de sécurité web
- Administrateur de réseau
- Administrateur de cybercafé
- Analyste
- Programmeur
- Administrateur de site web/de portail web
MASTER
- Assistant Informatique et internet
- Architecture de système d’information
- Chef de projet informatique
- Développeur Informatique ou multimédia
- Webmaster /web designer
- Hot liner/Hébergeur Internet
- Agent de référencement
- Technicien/Supérieur de help desk sur Informatique
- Responsable de sécurité informatique
- Administrateur de réseau et système
❖ Personnel Administratif : 23
2.2 Historique
HR-IT Consulting est une ESN (Entreprise de Services du Numérique) créée en
Novembre 2017 par Hajatiana RANAIVOSON, spécialiste en Business Intelligence (BI).
Avec ses vingt (20) années d’expériences d’envergure internationale dans le domaine
informatique, le fondateur est assisté de 25 collaborateurs dont 03 sont basés en France.
3.2 Objectifs
Il s'agit d'un élément essentiel pour optimiser le développement des applications en vue de
l'adoption d'un modèle cloud-native.
a) Présentation d’un modèle cloud-native
Une application Cloud Native peut bénéficier de toutes les capacités du Cloud et des bénéfices
associés. Par exemple, les services Cloud permettent plus facilement de concevoir des
applications hautement disponibles : en cas de panne d’un équipement du DataCenter du
fournisseur de Cloud, un autre équipement de ce même DataCenter peut prendre le relais
automatiquement, voire la charge peut être immédiatement transférée vers un DataCenter d’une
autre région. D‘ailleurs, en cas de pic d’utilisation, une application Cloud Native peut bénéficier
de l’élasticité offerte par le Cloud et utiliser davantage de ressources qui pourront être
désactivées dès la fin du pic et un retour à la normale de l’utilisation.
Enfin, avec une approche Cloud Native de type CaaS (Container as a Service), les entreprises
peuvent créer des applications qui s’exécutent sur n’importe quel Cloud (public ou privé) sans
modification.
Cela demande de mettre au point une architecture solide :
Dans le développement traditionnel, le code a un accès direct à toutes les ressources dont il a
besoin. Cela peut donner une base de code monolithique, peu flexible, qui reste difficile à
découper. Dans une application Cloud Native, le code doit être plus découpé. Ces couches
d’abstraction rendent plus gérables l’infrastructure et les équipes dédiées et permettent aussi de
réduire les coûts : moins de ressources, moins d’équipes et moins de risques. Toutefois, il ne
faut pas perdre de vue que ces applications Cloud Native comportent également leur lot de
difficultés notamment l’intégration de tous les composants ou encore la sécurité de l’ensemble
des applications.
Pour cela, Gitlab utilise des branches. Les branches permettent de gérer plusieurs versions de
travail en parallèles. Le site web de la documentation publie la branche principale,
appelée master. Les notions de branches sont souvent illustrées dans des schémas comme celui-
ci dessous.
Les différentes parties de la prestation familiale sont : l’allocation prénatale (AP), l’indemnité
journalière 1 et 2(IJ1, IJ2) et l’allocation de maternité 1 et 2 (AM1, AM2). La PF est acquise
par les femmes enceinte en droit avec la société CNAPS.
La demande du droit indemnité journalière 2ème tranche ne peut pas être effectuer sans
avoir acquis le droit indemnité journalière 1ère tranche. Le calcul du droit IJ2 dépend du droit
IJ1, en cas d’erreur du droit IJ1, il y aura redressement dans le droit IJ2.Dans la SIGIr2, le
redressement du droit IJ2 n’est pas encore défini d’où la mise en place de cette microsevice
pour mieux percevoir le déroulement des étapes.
Le back-end :
Cette partie se compose de plusieurs API qui se relie dans l’interface de l’application.
Dans notre cas, l’application comporte cinq API dont : l’authentification, l’individu,
l’employeur, la demande, l’accusé de réception.
L’Authentification :
Cette partie est utilisée pour la connexion des utilisateurs à l’application :
● L’accueil : ajout de la demande
L’individu :
L’individu API gère les informations de chaque individu inscrit dans la base donnée. Cette
partie est utilisée pour avoir les informations personnelles de chaque individu, sa famille et son
mode de paiement.
L’employeur :
On l’utilise pour la gestion des employeurs. Dans cette partie, on a la liste des employeurs de
chaque individu.
La demande :
Celui-ci gère l’ajout de la demande IJ2 dans la base. Tous les traitements requis se trouve dans
cette partie. En cas de manque d’informations ou d’erreur à l’enregistrement de la demande,
elle va à la liste des notes de retour.
L’accusé de réception :
On l’utilise pour la gestion des notes de retour et l’accusé de réception du demandeur.
5.3.5. Résultats attendues :
Dans cette réalisation d’une microservice, l’objectif de l’utilisateur est de pouvoir gérer
automatiquement l’ajout d‘une demande et ces traitements et d’améliorer l’interface utilisateur
dans la SIGIr2.
PARTIE II : ANALYSE ET CONCEPTION
Chapitre 6 : Analyse préalable
6.1 Analyse de l’existant :
Organisation actuelle :
L’IT-Consulting était un consultant officiel de la société CNAPS, il gère ces différentes tâches
informatiques. La demande d’indemnité journalière 2ème tranche en fait partie. Pour faire une
demande d’indemnité journalière 2ème tranche, les étapes à suivre sont les suivantes :
Le demandeur est le travailleur ou son conjoint.
Cela requis la présence physique du demandeur lors de la demande à l’accueil. Ensuite, il
enregistre les pièces jointes correspondantes à la demande et ajoute les données nécessaires à
l’enregistrement. Puis, le système traite les informations saisies et l’ajoute dans la base de
données et génère l’accusé de réception. Ensuite, la demande est en attente de validation avec la
liste des demandes IJ2.
Elle est validée par l’agent CNAPS qui ordonne l’ordre de paiement de la demande.
a. Moyens matériels et logiciels existants :
Les moyens matériels qu’on a utilisés tout au long de ce période sont donnés dans le
tableau X. Un 0rdinateur portable pour le développement de l’application utilisé par le
développeur, et une autre machine pour le déploiement des applications en guise de serveur.
Le tableau X représente les caractéristiques des matériels utilisés