SlideShare une entreprise Scribd logo
1  sur  117
UNIVERSITE DE FIANARANTSOA
ECOLE NATIONALE D’INFORMATIQUE
MEMOIRE DE FIN D’ETUDES
POUR L’OBTENTION DU DIPLOME
DE LICENCE PROFESSIONNELLE EN INFORMATIQUE
Parcours : Informatique Générale
Intitulé :
Présenté le 17 Mars 2020
Par RAZAFINDRAZAKA Vatosoa
Membres du Jury :
 Président : Monsieur RAMAMONJISOA Andriantiana Bertin Olivier, ProfesseurTitulaire
 Examinateur : Mademoiselle RATIANANTITRA Volatiana Marielle, Assistants
d’Enseignement Supérieur et de Recherche
 Rapporteurs : Monsieur RALAIVAO Jean Christian, Assistant d’Enseignement Supérieur et
de Recherche
Monsieur GILANTE Gesazafy, Encadreur Professionnel
Année Universitaire 2018-2019
CONCEPTION ET REALISATION D’UNE
APPLICATION DE GESTION DES
SOUTENANCES
I
CURRICULUM VITAE
RAZAFINDRAZAKA Vatosoa
Née le 22 Février à Ambalataretra - Ambalavao
Lot 28KIV/3605 Isada Fianarantsoa
Tél: 034 63 017 07 / 032 81 785 12
E-mail : razafindrazakav@gmail.com
FORMATIONS ET DIPLÔME
2018-2019 : Troisième année en Licence Professionnelle - École Nationale d’Informatique
Université de Fianarantsoa
Parcours : Informatique Générale (Administration de Systèmes et Réseaux,
Génie Logiciel et Base de Données)
2017-2018 : Deuxième année en Licence Professionnelle - École Nationale d’Informatique
Université de Fianarantsoa
Parcours : Informatique Générale (Administration de Systèmes et Réseaux,
Génie Logiciel et Base de Données)
2016-2017 : Première année de Licence Professionnelle - École Nationale d’Informatique
Université de Fianarantsoa
Parcours : Informatique Générale (Administration de Systèmes et Réseaux,
Génie Logiciel et Base de Données)
2015-2016 : Élève de la classe Terminale de Série D au Lycée Rakotoarisoa Ambositra
Diplôme Obtenu : Baccalauréat Série D
STAGES ET EXPÉRIENCES PROFESSIONNELLES
2019 : Stage au sein de l’école Nationale d’Informatique Fianarantsoa
Thème : Application de gestion de soutenance
Langage de programmation utilisé : Java Server Page, JavaScript
Framework: Spring Boot, Hibernate et AngularJS
SGBD : PostgreSQL
Système d’exploitation : Windows 8.1
Projet au sein de l’École Nationale d’Informatique :
- « Développement d’une application pour la gestion de location de voiture »
Langage de programmation : Java, ASP.net, Java Server Page
- « Développement d’une application hybride pour la réservation dans un
restaurant »
II
Framework : Ionic
- « Mise en œuvre d’un partage de fichier sous NFS et développement d’une
calculatrice exploitant le protocole RPC »
Système d’exploitation : Debian 9.5
Langage de programmation : C
2018 : Stage au sein de la société Socolait à Ivandry Antananarivo
Thème : Conception et réalisation d’une application pour la mise en vente des
produits
Langage de programmation utilisé : Python
Méthode : Agile
Framework : Django
SGBD : SQLite
Système d’exploitation : Windows 10
Projet au sein de l’Ecole Nationale d’Informatique :
- « Mise en œuvre de supervision à l’aide du protocole SNMP »
Logiciel utilisé : Cacti
- Développement d’une application web pour la gestion de location des
appartements
Langage de programmation utilisé : PHP5
2017 : Projet au sein de l’École Nationale d’Informatique
- « Création d’un site web »
Langage utilisé : HTML et CSS
Langage de Script : JavaScript
-Projet de fin d’année en première année de formation en licence
professionnelle au sein de l’Ecole Nationale d’Informatique
Thème : Développement d’une interface de configuration de réseau LAN
Langage utilisé : C et C++
Outils : Qt Creator
COMPÉTENCES EN INFORMATIQUE
Systèmes d’exploitation : Windows XP/7/8/10, Linux
Famille de distribution Linux : Ubuntu, Debian
Systèmes de gestion de base de données : MySQL, PostgreSQL, SQLite
Méthode de conception : MERISE
Langage de modélisation : UML
Langages de programmation : C et C++, Python, Java, Visual Basic
Technologies web : HTML, CSS, PHP, ASP.net, JSP
Frameworks : Django, Ionic
Langages de Script : JavaScript, SQL
Routage : Cisco
Routage réseaux : routage par défaut, routage statique, RIP, OSPF
Supervision: Cacti
Protocol: TCI/IP, SNMP, SSH, SMTP, HTTP/HTPPS, FTP, MPLS
Administration système et réseaux : Serveur DNS, FTP, WEB, Pare-feu
III
CONNAISSANCES LINGUISTIQUES
Aptitude à :
Comprendre à
l’audition
Lire Écrire et à rédiger Communiquer
oralement et à
parler
TB B AB P TB B AB P TB B AB P TB B AB P
Malagasy X X X X
Français X X X X
Anglais X X X X
Grille d’évaluation : TB : Très Bien B : Bien AB : Assez Bien P : Passable
DIVERS
Loisirs : Lire, Basket, Piscine, Guitare.
II
DEDICACES
Je dédie ce travail à mes chers parents jamais je ne saurais m'exprimé quant aux sacrifices et
aux dévouements que vous consacrés à mon éducation et mes études. Les mots expressifs
soient-ils restent faibles pour énoncer ma gratitude hautement profonde.
III
SOMMAIRE
CURRICULUM VITAE .............................................................................................................I
DEDICACES..............................................................................................................................II
SOMMAIRE..............................................................................Error! Bookmark not defined.
REMECIEMENTS...................................................................................................................VI
LISTE DES FIGURES ............................................................................................................VII
LISTE DES TABLEAUX ......................................................................................................... X
NOMENCLATURE.................................................................................................................XI
INTRODUCTION GENERALE................................................................................................1
PARTIE I. PRESENTATION GENERALE
Chapitre 1. Présentation de l’Ecole Nationale d’Informatique ..............................................2
1. Information d’ordre général .......................................................................................2
2. Missions et historique.................................................................................................2
3. Organigramme institutionnel de l’ENI.......................................................................3
4. Domaine de spécialisation..........................................................................................5
5. Architecture des formations pédagogiques ................................................................6
6. Relations de l’ENI avec les entreprises et les organismes .........................................8
7. Partenariat au niveau international...........................................................................10
8. Débouchés professionnels avec des diplômés..........................................................11
9. Ressources humaines................................................................................................14
Chapitre 2. DESCRIPTION DU PROJET ...........................................................................15
1. Formulation ..............................................................................................................15
2. Objectif et besoins d’utilisateur................................................................................15
2.1. Objectif..................................................................................................................15
2.2. Besoins d’utilisateur ..............................................................................................15
3. Moyens nécessaires à la réalisation du projet...........................................................15
3.1. Moyens humains....................................................................................................15
3.2. Moyens matériels...................................................................................................15
3.3. Moyens logiciels....................................................................................................16
4. Résultats attendus .....................................................................................................16
PARTIE II. ANALYSE ET CONCEPTION
Chapitre 3. ANALYSE PREALABLE.................................................................................17
1. Analyse de l’existant ................................................................................................17
IV
1.1. Organisation actuelle .............................................................................................17
1.2. Moyens matériels et logiciels ................................................................................18
2. Critique de l’existant ................................................................................................19
2.1. Proposition des solutions....................................................................................19
3. Conception avant-projet ...........................................................................................20
3.1. Méthode de conception.......................................................................................20
3.2. Outil de modélisation .........................................................................................23
3.3. SGBD .................................................................................................................24
3.4. Langage de programmation................................................................................26
3.5. Framework utilisés .............................................................................................27
3.6. Environnement de développement .....................................................................31
Chapitre 4. ANALYSE CONCEPTUELLE.........................................................................34
1. Dictionnaire des données..........................................................................................34
2. Règles de gestion......................................................................................................35
3. Représentation et spécification des besoins .............................................................35
3.1. Diagrammes de cas d’utilisation ...........................................................................35
3.2. Priorisation des cas d’utilisations ..........................................................................38
3.3. Description textuelle de certains cas d’utilisation.................................................38
3.4. Diagrammes de séquence système pour les cas d’utilisation ................................40
4. Modélisation du domaine .........................................................................................43
Chapitre 5. CONCEPTION DETAILLEE ...........................................................................45
1. Architecture du système ...........................................................................................45
2. Diagramme de séquence de conception ...................................................................45
3. Diagramme de classe de conception pour chaque cas d’utilisation .........................48
4. Diagramme de classe de conception global..............................................................50
5. Diagramme de paquetages........................................................................................51
6. Diagramme de déploiement......................................................................................52
PARTIE III. REALISATION
Chapitre 6. MISE EN PLACE DE L’ENVIRONNEMENT DE DEVELOPPEMENT ...48
1. Installation et configuration des outils .....................................................................48
1.1. Installation de Visual Paradigm..........................................................................48
1.2. Installation et configuration de xampp ...............................................................50
1.3. Installation et configuration de l’IDE Spring Tool Suite v4 ..............................52
V
1.4. Architecture de l’application ..............................................................................55
Chapitre 7. DEVELOPPEMENT DE L’APPLICATION....................................................58
1. Création de la base de données.................................................................................58
2. Codage de l’application............................................................................................65
3. Présentation de l’application ....................................................................................79
CONCLUSION ET PERSPECTIVES .....................................................................................84
REFERENCES BIBLIOGRAPHIQUES .................................................................................IX
REFERENCES WEBOGRAPHIQUES .................................................................................... X
GLOSSAIRE ............................................................................................................................XI
ANNEXES ..............................................................................................................................XII
TABLE DE MATIERES ........................................................................................................XIII
RESUME............................................................................................................................... XVI
ABSTRACT.......................................................................................................................... XVI
VI
REMECIEMENTS
Je tiens particulièrement à remercier :
 Monsieur RAFAMANTANANTSOA Fontaine, Professeur à l’Université de
Fianarantsoa, Président de l’Université de Fianarantsoa, pour la bonne organisation de
l’année universitaire ;
 Monsieur RAMAMONJISOA Bertin Olivier Andriantiana, Professeur Titulaire à
l’Université de Fianarantsoa, Directeur de l’Ecole Nationale d’Informatique, pour tous
ses efforts à garder à tout prix l’honneur de l’Ecole en tant que pépinière des élites
informaticiennes malgaches.
 Monsieur RALAIVAO Jean Christian, Responsable de Parcours « Génie Logiciel et Base
de Données », en tant qu’encadreur pédagogique.
 Monsieur GILANTE Gesazafy, Responsable de Parcours « Informatique Générale » en tant
qu’encadreur professionnel
 Monsieur RABETAFIKA Louis Haja, Chef du département de la formation théorique
de Ecole Nationale d’Informatique pour son agréable accueil et précieux conseils.
 Monsieur ANDRIAMAMPANDRY Ranaivoson Tina et Madame RAMANITRA Rosa,
secrétaires de la mention Informatique à l’Ecole Nationale d’Informatique pour leur
agréable accueil.
Je profite de cette occasion pour remercier :
 Les membres du jury, tous les enseignants de l’Ecole Nationale d’Informatique, pour
m’avoir enseigné et donné des cours intéressants.
 L’ensemble du personnel administrative et technique de l’Ecole Nationale
d’Informatique, pour leur aimable collaboration et leurs diverses contributions,
 Ma famille et à tous ceux qui ont participé à la réalisation de ce stage, pour leur soutien
et leur aide.
VII
LISTE DES FIGURES
Figure 1: Organigramme de l’Ecole Nationale d’Informatique. ................................................4
Figure 2: Diagramme de flux de la société...............................................................................18
Figure 3: Caractéristiques de J2EE...........................................................................................27
Figure 4: Caractéristiques de Spring Boot................................................................................29
Figure 5: Caractéristiques de Hibernate. ..................................................................................29
Figure 6; Caractéristiques de JAVA. ........................................................................................31
Figure 7: Diagramme de cas d’utilisation globale....................................................................38
Figure 8: Diagramme de séquence pour le cas d’utilisation « s’authentifier ». .......................40
Figure 9: Diagramme de séquence pour le cas d’utilisation « ajouter service ». .....................41
Figure 10: Diagramme de séquence pour le cas d’utilisation « modifier service ». ................41
Figure 11: Diagramme de séquence pour le cas d’utilisation « supprimer service ». ..............42
Figure 12: Diagramme de séquence pour le cas d’utilisation « gérer calendrier ». .................43
Figure 13: Modèle de domaine.................................................................................................44
Figure 14: modèle MVC...........................................................................................................45
Figure 15: Diagramme de séquence conception pour le cas d’utilisation « s’authentifier »....46
Figure 16: Diagramme de séquence conception pour le cas d’utilisation « Ajouter service ». 46
Figure 17: Diagramme de séquence conception pour le cas d’utilisation « Modifier service ».
..................................................................................................................................................47
Figure 18: Diagramme de séquence conception pour le cas d’utilisation « supprimer service ».
..................................................................................................................................................48
Figure 19: Diagramme de classe conception « s’authentifier ». ..............................................48
Figure 20: Diagramme de classe conception « gérer étudiant »...............................................49
Figure 21: Diagramme de classe conception « gérer enseignant ». .........................................49
Figure 22: Diagramme de classe conception « gérer jury ». ....................................................49
Figure 23: Diagramme de classe conception « gérer calendrier »............................................50
Figure 24: Diagramme de classe conception globale. ..............................................................51
Figure 25: Diagramme de paquetage........................................................................................52
Figure 26: Diagramme de déploiement. ...................................................................................53
Figure 27: Installation de Visual Paradigm. .............................................................................48
Figure 28: Installation de Visual Paradigm setup.....................................................................49
Figure 29: Fin de réglage de l'installation de Visual Paradigm................................................49
Figure 30: Fin de l'installation de Visual Paradigm. ................................................................50
Figure 31: Début de l’installation de XAMPP. ........................................................................50
Figure 32: Fin de l’installation de XAMPP..............................................................................51
Figure 33: Configuration de l’installation de XAMPP.............................................................51
Figure 34: Interface du control panel de XAMPP....................................................................52
Figure 35: Installation de JDK. ................................................................................................53
Figure 36: Progression de l'installation de JAVA. ...................................................................53
Figure 37: Configuration de l'installation de JRE. ...................................................................54
Figure 38: Fin de l'installation de JAVA SE. ...........................................................................54
Figure 39: Dossier d'installation de Spring Tool Suite.............................................................55
VII
I
Figure 40: Lancement de Spring Tool Suite.............................................................................55
Figure 41: Architecture de l’application...................................................................................56
Figure 42: Architecture de l'application partie Backend. .........................................................57
Figure 43: Architecture de l'application partie Frontend..........................................................57
Figure 44: Interface de PgAdmin. ............................................................................................58
Figure 45: Demande de mot de passe d'authentification de PgAdmin4. ..................................58
Figure 46: Authentification du PgAdmin.................................................................................59
Figure 47: Interface d'option de création de base de données. .................................................59
Figure 48; Création de la base de données « gestionapi »........................................................60
Figure 49: Création de la table « jury ». ...................................................................................61
Figure 50: Création de la table « étudiant ». ............................................................................61
Figure 51: Création de la table « enseignant ». ........................................................................62
Figure 52: Création de la table « theme ».................................................................................62
Figure 53: Création de la table « niveau »................................................................................62
Figure 54: Création de la table « parcours ».............................................................................63
Figure 55: Création de la table « etablissement ».....................................................................63
Figure 56: Création de la table « annee ». ................................................................................63
Figure 57: Création de la table « service ». ..............................................................................64
Figure 58: Création de la table « utilisateur ». .........................................................................64
Figure 59: Création de la table « calendrier ». .........................................................................65
Figure 60: Code du modèle d'une table « theme ». ..................................................................66
Figure 61: Code de « repository annee »..................................................................................67
Figure 62: Code liste de table « jury ». ....................................................................................67
Figure 63: Code pour créer un jury. .........................................................................................67
Figure 64: Code de modification du jury. ................................................................................68
Figure 65: Code de suppression du jury. ..................................................................................68
Figure 66: Code d’exécution de partie Backend. .....................................................................68
Figure 67: Création de la table jury partie affichage. ...............................................................69
Figure 68: Code de service de table jury. .................................................................................70
Figure 69: Code de création de lien de table jury.....................................................................71
Figure 70: Code de routing module de création du jury...........................................................72
Figure 71: Code de module de création de jury. ......................................................................72
Figure 72: Code de component généré automatiquement. .......................................................73
Figure 73: Code component de création de jury. .....................................................................74
Figure 74: Code html de l'authentification de l'application......................................................75
Figure 75: Code html de l'accueil de l'application. ..................................................................76
Figure 76: Code html du jury ...................................................................................................77
Figure 77: Code html de l'étudiant. ..........................................................................................78
Figure 78: Code html de l'enseignant. ......................................................................................79
Figure 79: Authentification. .....................................................................................................80
Figure 80: Page d’accueil. ........................................................................................................81
Figure 81: Interface du menu jury. ...........................................................................................81
Figure 82: Interface du menu étudiant......................................................................................82
Figure 83: Interface du menu enseignant. ................................................................................82
IX
Figure 84: Interface du menu calendrier ..................................................................................83
Figure 85: Procès-verbal..........................................................................................................XII
X
LISTE DES TABLEAUX
Tableau 1: Organisation du système de formation pédagogique de l’Ecole. .............................5
Tableau 2: Architecture des études correspondant au système LMD. .......................................7
Tableau 3: Liste des formations existantes à l’ENI....................................................................8
Tableau 4: Débouchés professionnels éventuels des diplômés. ...............................................13
Tableau 5: Caractéristiques de l’ordinateur utilisé...................................................................16
Tableau 6: Caractéristiques des logiciels utilisés. ....................................................................16
Tableau 7: les moyens matériels...............................................................................................18
Tableau 8: les moyens logiciels................................................................................................18
Tableau 9: Avantages et inconvénients des solutions proposées. ............................................19
Tableau 10: Comparaison entre MERISE et XP. .....................................................................20
Tableau 11: comparaison entre Win ‘Design et Visual Paradigm. ..........................................23
Tableau 12: Comparaison des SGBD. ......................................................................................25
Tableau 13: Comparaison entre PHP et J2EE. .........................................................................26
Tableau 14: Comparaison entre Spring Boot, Hibernate et Struts. ..........................................27
Tableau 15: Comparaison entre AngularJS et ReactJS. ...........................................................30
Tableau 16: Comparaison entre Spring Tool Suite et NetBeans. .............................................31
Tableau 17: Comparaison entre VS Code et Sublime Text......................................................32
Tableau 18: Dictionnaire des données......................................................................................34
Tableau 19: Besoins fonctionnels des acteurs. .........................................................................36
Tableau 20: priorisation des cas d’utilisations. ........................................................................38
XI
NOMENCLATURE
API Application Programming Interface
DB2 DataBase 2
ENI Ecole Nationale d’informatique
GV Grille d’évaluation
J2EE Java 2 Enterprise Edition
JVM Java Virtual Machine
HDD Hard Disk Drive
HTTP HyperText Transfert Protocol
HTML HyperText Markup Language
MESupRES Ministère de l’Enseignement Supérieur et de
la REcherche Scientifique
MVC Modèle-Vue-Contrôleur
MySQL My Structured Query Language
ORM Object Relational Mapping
PostgreSQL Postgres Structured Query Language
PV Procès-verbal
RG Règle de Gestion
Sap DB Sap DataBase
SGBD Système de Gestion de Base de Données
Spring JMS Spring Java Message Service
Spring WS Spring Web Service
STS Spring Tool Suite
SQL Structured Query Language
UML Unified Modeling Language
UP Unified Process
XII
XAMPP X Apache, MySQL, PHP and Perl
1
INTRODUCTION GENERALE
Dans le cadre de la formation à l’Ecole Nationale d’Informatique, les étudiants ont été amenés
à finaliser leur formation de Licence professionnelle par un stage de trois mois. Ce stage permet
de confronter l’enseignement théorique reçu pendant les cours et les connaissances acquises
lors des précédentes expériences professionnels et des problématiques plus générales propres
au fonctionnement d’une organisation.
Pour notre part, le stage de fin d’études s’est déroulé au sein de l’Ecole Nationale
d’Informatique même, plus précisément dans le bureau du Responsable de Mention. L’objectif
de ce stage est la conception et la réalisation d’une application pour la gestion de la soutenance.
Pour ce faire, on utilise une méthode pour la conception, un langage pour le développement de
l’application et le SGBD pour la base de données.
Ces éléments qui peuvent paraîtres évidents d’un point de vue théorique, sont en pratique,
difficiles à mettre en place et à exploiter. Ce projet a donc débuté par une phase de
compréhension et de formulation pour ensuite s’appuyer sur l’analyse. Cette méthodologie a
été dictée par des contraintes et des objectifs de réalisation. La conception du système s’est
ensuite faite, formellement, sur la base des résultats de l’analyse validée par les personnels du
Responsable de Mention. Ensuite la réalisation s’est déroulée comme prévu.
Ce mémoire propose, dans la première partie, la présentation du cadre de stage en présentant
l’Ecole Nationale d’Informatique. Ensuite, dans la seconde partie, l’analyse préalable composée
de l’analyse de l’existant suivi de la conception avant-projet et l’analyse conceptuelle en
effectuant la synthèse des besoins suivant les étapes de la méthode utilisée. Et enfin, dans la
dernière partie, la réalisation tout en exposant la présentation, suivi ensuite du développement.
PARTIE I. PRESENTATION GENERALE
2
Chapitre 1. Présentation de l’Ecole Nationale d’Informatique
1. Information d’ordre général
L’Ecole Nationale d’Informatique, en abrégé ENI, est un établissement d’enseignement
supérieur rattaché académiquement et administrativement à l’Université de Fianarantsoa.
Le siège de l’Ecole se trouve à Tanambao- Antaninarenina à Fianarantsoa.
L’adresse pour la prise de contact avec l’Ecole est la suivante : Ecole Nationale
d’Informatique (ENI) Tanambao, Fianarantsoa. Le numéro de sa boîte postale est 1487 avec le
code postal 301. Téléphone : 020 75 508 01. Son adresse électronique est la suivante :
eni@univ-fianar.mg. Site Web : www.univ-fianar.mg/eni
2. Missions et historique
L’ENI se positionne sur l’échiquier socio-éducatif malgache comme étant le plus
puissant secteur de diffusion et de vulgarisation des connaissances et des technologies
informatiques.
Cette Ecole Supérieure peut être considérée aujourd’hui comme la vitrine et la pépinière
des élites informaticiennes du pays.
L’Ecole s’est constituée de façon progressive au sein du Centre Universitaire Régional
(CUR) de Fianarantsoa.
De façon formelle, l’ENI était constituée et créée au sein du (CUR) par le décret N° 83-
185 du 24 Mai 1983, comme étant le seul établissement Universitaire Professionnalisé au
niveau national, destiné à former des techniciens et des Ingénieurs de haut niveau, aptes à
répondre aux besoins et exigences d’Informatisation des entreprises, des sociétés et des organes
implantés à Madagascar.
L’ENI a pour conséquent pour mission de former des spécialistes informaticiens
compétents et opérationnels de différents niveaux notamment :
 En fournissant à des étudiants des connaissances de base en informatique ;
 En leur transmettant le savoir-faire requis, à travers la professionnalisation des
formations dispensées et en essayant une meilleure adéquation des formations par
rapport aux besoins évolutifs des sociétés et des entreprises.
 En initiant les étudiants aux activités de recherche dans les différents domaines des
Technologies de l’information et de la communication (TIC).
L’implantation de cette Ecole Supérieure de technologie de pointe dans un pays en
développement et dans une Province (ou Faritany) à tissu économique et industriel faiblement
développé ne l’a pourtant pas défavorisée, ni empêchée de former des spécialistes
informaticiens de bon niveau, qui sont recherchés par les entreprises, les sociétés et les
organismes publics et privés sur le marché de l’emploi.
3
La filière de formation d’Analystes Programmeurs a été mise en place à l’Ecole en 1983, et a
été gelée par la suite en 1996, tandis que la filière de formation d’ingénieurs a été ouverte à
l’Ecole en 1986.
Dans le cadre du Programme de renforcement en l’Enseignement Supérieur (PRESUP),
la filière de formation des Techniciens Supérieurs en Maintenance des Systèmes des
informatiques a été mise en place en 1986 grâce à l’appui matériel et financier de la Mission
Française de coopération auprès de l’Ambassade de France à Madagascar.
Une formation pour l’obtention de la certification CCNA et / ou NETWORK +.appelée«
CISCO Networking Academy » a été créée à l’Ecole en 2002-2003 grâce au partenariat avec
CISCO SYSTEM et l’Ecole Supérieure Polytechnique d’Antananarivo (ESPA). Cependant,
cette formation n’avait pas duré longtemps.
Une formation de troisième cycle a été ouverte à l’Ecole a été ouverte à l’Ecole depuis
l’année 2003 – 2004 grâce à la coopération académique et scientifique entre l’Université de
Fianarantsoa pour le compte de l’ENI et l’Université Paul Sabatier de Toulouse (UPST). Cette
filière avait pour objectif de former certains étudiants à la recherche dans les différents
domaines de l’Informatique, et notamment pour préparer la relève des Enseignants-Chercheurs
qui étaient en poste.
Pendant l’année 2007-2008, la formation en vue de l’obtention du diplôme de Licence
Professionnelle en Informatique a été mise en place à l’ENI avec les deux options suivantes de
formation :
- Génie Logiciel et base de Données
- Administration des Système et réseaux.
La mise en place à l’Ecole de ces deux options de formation devait répondre au besoin de
basculement vers le système Licence – Master – Doctorat (LMD). Mais la filière de formation
des Techniciens Supérieurs en Maintenance des Systèmes Informatiques a été gelée en 2009.
En vue de surmonter les difficultés de limitation de l’effectif des étudiants accueillis à
l’Ecole, notamment à cause du manque d’infrastructures, un système de « Formation Hybride
» a été mise en place à partir de l’année 2010. Il s’agit en effet d’un système de formation semi
présentielle et à distance avec l’utilisation de la visioconférence pour la formation à distance.
Le système de formation hybride a été ainsi créé à Fianarantsoa ainsi qu’Université de Toliara.
3. Organigramme institutionnel de l’ENI
Cet organigramme de l’Ecole est inspiré des dispositions du décret N° 83-185 du 23 Mai 1983.
4
L’ENI est administrée par un conseil d’Ecole, et dirigée par un directeur nommé par un décret
adopté en conseil des Ministres.
Le Collège des enseignants regroupant tous les enseignants-chercheurs de l’Ecole est chargé
de résoudre les problèmes liés à l’organisation pédagogique des enseignements ainsi que à
l’élaboration des emplois du temps.
Le Conseil Scientifique propose les orientations pédagogiques et scientifiques de
l’établissement, en tenant compte notamment de l’évolution du marché de travail et de
l’adéquation des formations dispensées par rapport aux besoins des entreprises. 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. La
figure 1 présente l’organigramme actuel de l’Ecole.
Figure 1: Organigramme de l’Ecole Nationale d’Informatique.
Sur cet organigramme, l’Ecole placée sous la tutelle académique et administrative de
l’Université de Fianarantsoa, et dirigée par un Directeur élu par les Enseignants – Chercheurs
permanents de l’Etablissement et nommé par un décret pris en Conseil des ministres pour un
mandat de 3 ans.
5
Le Conseil de l’Ecole est l’organe délibérant de l’Ecole.
Le Collège des Enseignants propose et coordonne les programmes d’activités pédagogiques.
Le Conseil scientifique coordonne les programmes de recherche à mettre en œuvre à l’Ecole.
Le Secrétariat principal coordonne les activités des services administratifs (Scolarité,
Comptabilité, et Intendance).
Conformément aux textes en vigueur régissant les Etablissements malgaches d’Enseignement
Supérieur, qui sont barrés sur le système LMD, les Départements de Formation pédagogique
ont été ainsi remplacés par des Mentions et des parcours. Et les chefs des Départements ont été
ainsi remplacés par des responsables des mentions et les responsables des parcours.
Un administrateur des Réseaux et Systèmes gère le système d’information de l’Ecole et celui
de l’Université.
4. Domaine de spécialisation
Les activités de formation et de recherche organisées à l’ENI portent sur les domaines suivants
:
 Génie logiciel et Base de Données ;
 Administration des Systèmes et Réseaux ;
 Informatique Générale
 Modélisation informatique et mathématique des Systèmes complexes.
D’une manière plus générale, les programmes des formations sont basés sur l’informatique de
gestion et sur l’informatique des Systèmes et Réseaux. Et les modules de formation intègrent
aussi bien des éléments d’Informatique fondamentale que des éléments d’Informatique
appliquée.
Le tableau 1 décrit l’organisation du système de formation pédagogique de l’Ecole.
Tableau 1: Organisation du système de formation pédagogique de l’Ecole.
6
5. Architecture des formations pédagogiques
Le recrutement des étudiants à l’ENI se fait uniquement par voie de concours d’envergure
nationale en première année.
Les offres de formation organisées à l’Ecole ont été validées par la Commission Nationale
d’Habilitation (CNH) auprès du Ministères de l’Enseignement Supérieur et de la Recherche
Scientifique selon les dispositions de l’Arrêté N°31.174/2012-MENS en date du 05 Décembre
2012.
Au sein de l’ENI, il existe une seule mention (INFORMATIQUE) et trois parcours :
o Génie logiciel et Base de Données ;
o Administration des Systèmes et Réseaux ;
o Informatique Générale
L’architecture des études à trois niveaux conforment au système Licence- MasterDoctoral
(LMD) permet les comparaisons et les équivalences académiques des diplômes au niveau
international.
 L = Licence (Bac + 3) = L1, L2, L3 = 6 semestres S1 à S6
 M = Master (Bac + 5) = M1, M2 = 4 semestres S7 à S10 Le diplôme de licence est
obtenu en 3 années des études après Baccalauréat. Et le diplôme de Master est obtenu en 2 ans
après obtenu du diplôme de LICENCE.
Le MASTER PROFESSIONNEL est un diplôme destiné à la recherche emploi au terme des
études. Le MASTER RECHERCHE est un diplôme qui remplace l’ancien Diplôme d’Etudes
Approfondies (DEA), et qui permet de s’inscrire directement dans une Ecole Doctorale.au
terme des études.
 D = Doctorat (Bac +8) Le Doctorat est un diplôme qu’on peut obtenir en 3 ans après
l’obtention du diplôme de MASTER RECHERCHE. Le tableau 2 présente l’architecture des
études correspondant au système LMD
7
DTS : Diplôme de Téchnicien Supérieur
BTS : Brevet de Téchnicien Supérieur
DUT : Diplôme Universitaire de Téchnicien La licence peut avoir une vocation générale ou
professionnelle. Le master peut avoir une vocation professionnelle ou de recherche.
Tableau 2: Architecture des études correspondant au système LMD.
8
Tableau 3: Liste des formations existantes à l’ENI.
L’accès en première année de MASTER se fait automatiquement pour les étudiants de l’Ecole
qui ont obtenu le diplôme de Licence Professionnelle.
Le Master Recherche permet à son titulaire de poursuivre directement des études en doctorat et
de s’inscrire directement dans une Ecole Doctorale.
Les Ecoles Doctorales jouissent d’une autonomie de gestion par rapport aux Etablissements de
formation universitaire.
Il convient de signaler que par arrêté ministériel N° 21.626/2012 – MESupRES publié le 9 Août
2012 par la Commission National d’habilitation (CNH), l’Ecole Doctorale « Modélisation –
Informatique » a été habilitée pour l’Université de Fianarantsoa.
Depuis l’année universitaire 2010-2011, l’ENI s’est mise à organiser des formations hybrides
en informatique dans les différentes régions (Fianarantsoa, Toliara) en raison de l’insuffisance
de la capacité d’accueil des infrastructures logistiques. En effet, le système de formation
hybride semi - présentielle utilise la visioconférence pour la formation à distance.
Bien qu’il n’existe pas encore au niveau international de reconnaissance écrite et formelle des
diplômes délivrés par l’ENI, les étudiants diplômés de l’Ecole sont plutôt bien accueillis dans
les instituts universitaires étrangères (CANADA, Suisse, France…)
6. Relations de l’ENI avec les entreprises et les organismes
Les stages effectués chaque année par les étudiants mettent l’Ecole en rapport permanent avec
plus de 300 entreprises et organismes publics, semi-publics et privés, nationaux et
internationaux.
9
L’Ecole dispose ainsi d’un réseau d’entreprises, de sociétés et d’organismes publics et privés
qui sont des partenaires par l’accueil en stage de ses étudiants, et éventuellement pour le
recrutement après l’obtention des diplômes par ces derniers.
Les compétences que l’Ecole cherche à développer chez ses étudiants sont l’adaptabilité, le sens
de la responsabilité, du travail en équipe, le goût de l’expérimentation et l’innovation.
En effet, la vocation de l’ENI est de former des techniciens supérieurs de niveau LICENCE et
des ingénieurs de type généraliste de niveau MASTER avec des qualités scientifiques,
techniques et humaines reconnues, capables d’évoluer professionnellement dans des secteurs
d’activité variés intégrant l’informatique.
Les stages en milieu professionnel permettent de favoriser une meilleure adéquation entre les
formations à l’Ecole et les besoins évolutifs du marché de l’emploi.
Les principaux débouchés professionnels des diplômés de l’Ecole concernent les domaines
suivants :
 L’informatique de gestion d’entreprise
 Les technologies de l’information et de la communication (TIC)
 La sécurité informatique des réseaux
 L’administration des réseaux et des systèmes
 Les services bancaires et financiers, notamment le Mobile Banking
 Les télécommunications et la téléphonie mobile
 Les Big Data
 Le commerce, la vente et l’achat, le Marketing
 L’ingénierie informatique appliquée
 L’écologie et le développement durable
Parmi les sociétés, entreprises et organismes partenaires de l’Ecole, on peut citer :
ACCENTURE Mauritius, Air Madagascar, Ambre Associates, Airtel, Agence Universitaire de
la Francophonie ( AUF) , B2B, Banque Centrale, BFG-SG, BIANCO, BLUELINE, CNaPS,
Bureau National de Gestion des Risques et des Catastrophes (BNGRC), CEDII-Fianarantsoa,
Data Consulting, Central Test, Centre National Antiacridien, CNRE, CHU, CNRIT, COLAS,
Direction Générale des Douanes, DLC, DTS/Moov, FID, FTM, GNOSYS, IBONIA,
INGENOSIA, INSTAT, IOGA, JIRAMA, JOUVE, MADADEV, MAEP, MEF, MEN,
MESupRES, MFB, MIC, MNINTER, Min des postes/Télécommunications et du
Développement Numérique, NEOV MAD, Ny Havana, Madagascar National Parks,
OMNITEC, ORANGE, OTME, PRACCESS, QMM Fort-Dauphin, SMMC, SNEDADRS
Antsirabe, Sénat, Société d’Exploitation du Port de Toamasina (SEPT), SOFTWELL, Strategy
Consulting, TELMA, VIVETEC, Société LAZAN’I BETSILEO, WWF …
L’organisation de stage en entreprise continue non seulement à renforcer la
professionnalisation des formations dispensées, mais elle continue surtout à accroître de façon
exceptionnelle les opportunités d’embauche pour les diplômés de l’Ecole.
10
7. Partenariat au niveau international
Entre 1196 et 1999, l’ENI avait bénéficié de l’assistance technique et financière 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) consacré à l’Ecole a notamment porté sur :
 Une dotation en logiciels, micro-ordinateurs, équipements de laboratoire de
maintenance et de matériels didactiques
 La réactualisation des programmes de formation assortie du renouvellement du fonds
de la bibliothèque
 L’appui à la formation des formateurs
 L’affectation à l’Ecole d’Assistants techniques français 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.
11
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é.
De même que le statut de l’Ecole devrait permettre de renforcer la position concurrentielle de
la Grande Ile sir l’orbite de la modélisation grâce au développement des nouvelles technologies.
8. Débouchés professionnels avec des diplômés
Le chômage des jeunes diplômés universitaires fait partie des maux qui gangrènent
Madagascar. L’environnement socio-politique du pays depuis 2008 jusqu’ à ce jour a fait que
le chômage des diplômés est devenu massif par rapport aux établissements de formation
supérieure existants.
Cependant, les formations proposées par l’Ecole permettent aux diplômés d’être
immédiatement opérationnels sur le marché du travail avec la connaissance d’un métier complet
lié à l’informatique aux TIC.
L’Ecole apporte à ses étudiants un savoir-faire et un savoir-être qui les accompagnent tout au
long de leur vie professionnelle. Elle a une vocation professionnalisante.
Les diplômés en LICENCE et en MASTER issus de l’ENI peuvent faire carrière dans différents
secteurs.
L’Ecole bénéficie aujourd’hui de 34 années d’expériences pédagogiques et de reconnaissance
auprès des sociétés, des entreprises et des organismes.
C’est une Ecole Supérieure de référence en matière informatique. Par conséquent, en raison de
fait que l’équipe pédagogique de l’Ecole est expérimentée, les enseignants-chercheurs et les
autres formateurs de l’Ecole sont dotés d’une grande expérience dans l’enseignement et dans le
milieu professionnel.
12
L’Ecole est fière de collaborer de façon régulière avec un nombre croissant d’entreprises, de
sociétés et d’organismes publics et privés à travers les stages des étudiants. Les formations
dispensées à l’Ecole sont ainsi orientées vers le besoin et les attentes des entreprises et des
sociétés.
L’Ecole fournit à ses étudiants de niveau LICENCE et MASTER des compétences
professionnelles et métiers indispensables pour les intégrer sur le marché du travail.
L’Ecole s’efforce de proposer à ses étudiants une double compétence à la fois technologique et
managériale combinant l’informatique de gestion ainsi que l’administration des réseaux et
systèmes.
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.
13
Tableau 4: Débouchés professionnels éventuels des diplômés.
14
9. Ressources humaines
 Directeur de l’Ecole : Professeur Titulaire RAMAMONJISOA Bertin Olivier
 Responsable de Mention : RABETAFIKA Louis Haja
 Responsable de Parcours « Génie Logiciel et Base de Données » : Monsieur
RALAIVAO Jean Christian
 Responsable de Parcours « Administration Systèmes et Réseaux » : Monsieur SIAKA
 Responsable de Parcours « Informatique Générale » : Monsieur Gilante GESAZAFY
 Nombre d’Enseignants permanents : 13 dont deux (02) Professeurs Titulaires, six (06)
Maîtres de Conférences et cinq (05) Assistants d’Enseignement Supérieur et de
Recherche
 Nombre d’Enseignants vacataires : 10
Personnel Administratif : 23
15
Chapitre 2. DESCRIPTION DU PROJET
Après avoir évoqué la présentation de l’Ecole Nationale d’informatique dans le chapitre
précédent, nous allons voir la description du projet de façons détaillé : sa formulation, ses
objectifs, les moyens en personnel et matériels nécessaires, les besoins des utilisateurs ainsi que
les résultats attendus.
1. Formulation
Ce stage a été effectué à l’Ecole Nationale d’Informatique au sein du département responsable
de mention, Cette partie tienne une grande place dans l’Ecole, qui s’occupe à la fois la gestion
du calendrier pédagogique, de la disponibilité des enseignants, du partage des sujets, de
l’emploi du temps, du stage ainsi que la gestion de la soutenance. Ces activités sont aussi
importantes l’une que l’autre. Mais ce projet ne concerne que la gestion de soutenance, pour
suivre et faciliter le contrôle de cette dernière.
2. Objectif et besoins d’utilisateur
2.1. Objectif
Le principal objectif du projet est de concevoir et réaliser une application pour la gestion des
soutenances.
2.2. Besoins d’utilisateur
Les besoins des utilisateurs sont :
 Faire une recherche de nom de l’enseignant avec les impétrants ;
 Vérification des membres du jury en cas de soutenances en parallèle ;
 Etablir automatiquement les calendriers des soutenances ;
 Affecter d’une manière équilibrée les impétrants aux enseignants ;
 Imprimer le procès-verbal.
3. Moyens nécessaires à la réalisation du projet
Pour réaliser un projet, nous avons besoin de quelques moyens :
- Moyens humains
- Moyens matériels
- Moyens logiciels
3.1. Moyens humains
- Interlocuteurs en charge du projet :
Les services de l’école
- Concepteur/développeur :
Le stagiaire
3.2. Moyens matériels
Le tableau 5 représente les caractéristiques de machine utilisée pour ce projet.
16
Tableau 5: Caractéristiques de l’ordinateur utilisé.
Type Processeur Système
d’exploitation
RAM Disque Dure
Ordinateur
portable
Core i5 Windows 8.1
64bits
8Go 500Go
3.3. Moyens logiciels
Pour la bonne réalisation du projet quelques logiciels et outils ont été nécessaire, comme le
tableau 6 les représente.
Tableau 6: Caractéristiques des logiciels utilisés.
N° Type Description Commentaire
1 Logiciel de
modélisation
Visual Paradigm Pour la modélisation des données
2 Serveur Xampp Pour la gestion de la base de
données
3 Système de gestion
de base de données
PgAdmin v4 Pour l’édition visuel de base de
données
4 IDE - Spring Tool
Suite (Sts)
pour
l’Eclipse
- Vs Code
Pour le développement du projet
4. Résultats attendus
A la fin de ce projet, le service au sein du responsable du mention aura une application
permettant de visualiser :
- les procédures effectués durant la préparation de soutenance
- la répartition des salles et les membres de jury
- le procès-verbal et la grille d’évaluation
- l’équilibre des élèves soutenus des membres du jury avec la variation des fonctions de ces
derniers
PARTIE II. ANALYSE ET CONCEPTION
17
Chapitre 3. ANALYSE PREALABLE
Ce chapitre se repose sur l’analyse de la situation existante de l’Ecole et propose des solutions
afin de résoudre le manque lors de la critique de l’existante.
1. Analyse de l’existant
L’analyse de l’existant est une étape de compréhension qui est indispensable dans la conception
d’un système d’information dans une organisation. Il a pour objectifs de :
 Comprendre le système d’information actuel de l’entreprise, et prendre
connaissance dans les détails les domaines pour lesquels la société souhaite
apporter des améliorations,
 Déceler les anomalies, pouvant représenter un réel handicap pour le
développement de l’entreprise,
 Proposer des améliorations concrètes et réalisables, en se référant aux objectifs
de la société et en fixant comme plan de travail le ou les domaines pour lesquels
elle souhaite améliorer son revenu.
1.1. Organisation actuelle
Actuellement, au sein du responsable de mention, les secrétaires sont en service de tous les
enseignants. Ils sont donc soumis au contrôle et au suivi de la soutenance. Au niveau
d’obtention de thème, la répartition de la salle et la date de soutenance, les procédures
effectués dépendent du niveau des étudiants (les premières années en licence et les premières
années en master sont dans le même cas, les deuxièmes années en licences sont différentes,
les troisièmes années en licence avec les deuxièmes années en master). Une fois ces
informations sont remises aux responsables de mention, ils vont partitionner les membres de
jury, cela se fait manuellement avec la vérification de ces derniers. Le calendrier sera rempli
avec ces informations en utilisant le Microsoft Word et Excel et sera affiché aux étudiants.
Les étudiants commenceront à déposer le livre du rapport avec la grille d’évaluation et le
rapport de lecture et pourront faire la soutenance, si non la soutenance sera pour la prochaine
rattrapages. A la fin de la soutenance, le procès-verbal saisi et la grille d’évaluation dans la
mention seront apportés à la scolarité.
Le diagramme de flux est une représentation graphique destinée à présenter la demande de
procès-verbal.
La figure 2 représente le diagramme de flux actuel dans le service.
18
Figure 2: Diagramme de flux de la société.
1.2. Moyens matériels et logiciels
Le tableau 7 représente les moyens matériels pour la réalisation du projet.
Tableau 7: les moyens matériels.
N° Désignation Caractéristiques Quantité
1 Poste de travail PC CPU AMD E1-120APU 4Go
RAM4Go
HD500Go
Windows7
32bits
1
2 Poste de travail PC CPU AMD E1-120APU 4Go
RAM4Go
HD500Go
Windows10
64bits
1
3 Imprimante HP LaserJet 1320 1
Le tableau 8 suivant illustre les moyens logiciels.
Tableau 8: les moyens logiciels.
19
N° Désignation Description
1 Microsoft WORD Pour la saisie des données
2 Microsoft EXCEL Pour la saisie des données
2. Critique de l’existant
La critique de l’existant est un moyen qui tente de faire apparaître les défauts et les qualités de
ce qui existe déjà.
Point fort : Une fois les données conservées, ils sont toujours récupérables.
Points faibles :
- Inégalité de nombre d’étudiants soutenus des enseignants
- Perte du temps pour les traitements de données
- Perte de certains fichiers
- Difficulté pour une recherche des enseignants et les étudiants soutenus
- Occupation de place pour la conservation des fichiers
Éventuellement, aucun logiciel n’est destiné à la gestion de soutenance, le service utilise Excel
et Word, cela dépend du fichier à traiter. Ce dernier est facile d’utilisation, il traite les calculs
et saisie des informations mais il a ses limites quand il s’agit de sérieuses gestions comme la
recherche de nombre des étudiants soutenus de chaque enseignants ou comparaison de ces
informations. Utiliser Excel et Word n’est pas fiable et entraîne une perte de temps, de données
vu le nombre des étudiants.
2.1. Proposition des solutions
Pour répondre à la demande du personnel, on a proposé les solutions suivantes :
Solution 1 : Concevoir et réaliser une application pour gérer la soutenance
Solution 2 : Télécharger une application de gestion de soutenance
Solution 3 : Acheter une application de gestion de soutenance
Le tableau 9 présente les avantages et les inconvénients des solutions proposées.
Tableau 9: Avantages et inconvénients des solutions proposées.
Avantages de la solution Inconvénients
Solution 1 -Application sur mesure : l’utilisation de
l’application répond aux besoins réels de
l’utilisateur
-Application fiable
-Application facile à utiliser
-Le développement prend de temps
pour la mise en place
Solution 2 -Application prête à utiliser
-Application gratuite
-Besoin de formation pour
l’utilisateur
Solution 3 -Application prête à utiliser -Difficulté de paiement
-Difficulté de la livraison
-Mal adaptation parce que cette
application est bien foutue
20
La deuxième solution consiste à télécharger un logiciel prêt à utiliser comme « GESTION DES
SOUTENANCES » et la troisième solution est d’acheter un logiciel mais qui ne répond pas
l’intégralité des besoins réels de la société.
Donc, la solution 1 de développer une application sur mesure répond aux besoins réels de la
société sera bénéfique.
3. Conception avant-projet
Pour concevoir et réaliser une application, on a besoin d’utiliser une méthode de conception,
un langage de développement, un SGBD et un outil de modélisation.
3.1. Méthode de conception
Il existe beaucoup de méthode de conception telle que :
 Les méthodes classiques comme le MERISE
 Les méthodes d’agiles comme le XP
Avant de faire un choix, comparons deux méthodes différentes.
Le tableau 10 représente la comparaison entre merise et XP.
Tableau 10: Comparaison entre MERISE et XP.
MERISE XP
Méthode
d’approche
Séquence de spécification, conception,
réalisation, validation
Itération, incrémentation
Avantage Sépare clairement les données et le
traitement
S’intéresse à la satisfaction
de client
Inconvénient Changement très dure en cas de
modification de spécification
Documentation très réduites
Choix et justification
On a choisi la méthode XP parce qu’elle satisfait les besoins du client, ainsi que les petits ou
moyens projets. On associera cette méthode avec la notation UML.
Présentation de XP
Extrem programming XP
L’eXtrem Programming appartient à la famille de la méthode d’agile. C’est un ensemble de
pratiques qui couvre une grande partie des activités de la réalisation d’un logiciel :
 Planification
 Organisation de l’équipe de développement
 Echanges avec le client
 Programmation
21
XP est une méthode destinée au petit projet dont le nombre de participant est réduit. Il considère
que la satisfaction de 4 variables va contribuer au développement efficace d’un produit
fonctionnel. Ces variables sont :
 Le coût : le développement se fait par petits modules, cela permet de suivre de près les
dépenses pour ne pas dépasser les budgets.
 Le temps : le développement par modules permet de suivre l’évolution du
développement en fonction du temps passé.
 La qualité : pour XP, la qualité doit toujours être maximum. C’est la seule variable qui
ne peut pas varier.
 L’étendue : le nombre de fonctionnalité va dépendre du temps et du budget à
disposition. C’est le client qui va décider de ce qui sera développé ou pas afin de garder
la plus grande qualité possible, en restant dans les délais et les budgets.
Afin de satisfaire les quatre (4) variables, XP met en évidence 4 valeurs essentielles au travers
de la méthode : la communication, la simplicité, le feed-back et le courage.
 La communication : c’est le moyen fondamental pour éviter les problèmes. Les
pratiques que préconise l’XP imposent une communication intense. Les tests, la
programmation en binôme et le jeu du planning obligent les développeurs, et les clients
à communiquer.
 La simplicité : la façon la plus simple d’arriver au résultat est la meilleure. Anticiper
les extensions futures est une perte de temps. Une application simple sera plus facile à
faire évoluer.
 Le feedback : le retour d’information est primordial pour le programmeur et le client.
Les tests unitaires indiquent si le code fonctionne. Les tests fonctionnels donnent
l’avancement du projet. Les livraisons fréquentes permettent de tester les fonctionnalités
rapidement.
 Le courage : certains changements demandent beaucoup de courage. Il faut parfois
changer l’architecture d’un projet, jeter du code pou en produire un meilleur ou essayer
une nouvelle technique. Le courage permet de sortir d’une situation inadaptée. C’est
difficile, mais la simplicité, le feedback et la communication rendent les taches
accessibles.
Unified Modeling Language (UML)
UML est une notation permettant de modéliser un problème de façon standard. C’est un langage
qui permet de représenter des modèles, mais il ne définit pas le processus d’élaboration de ces
modèles. Cependant, dans le cadre de la modélisation application informatique, les auteurs
d’UML préconisent d’utiliser une démarche.
 Itérative et incrémentale
L’idée est simple : pour modéliser (comprendre et représenter) un système complexe, il
vaut mieux s’y prendre en plusieurs fois, en affirmant son analyse par étapes. Cette
démarche devrait aussi s’appliquer au cycle de développement dans son ensemble, en
favorisant le prototype. Le but est de mieux maîtriser la part d’inconnu et d’incertitudes
qui caractérisent les systèmes complexes.
22
 Guidée par les besoins des utilisateurs du système
Ce sont les utilisateurs qui guident la définition des modèles : le périmètre du système
à modéliser est défini par les besoins de ses utilisateurs. Le but du système à modéliser
est de répondre aux besoins de ses utilisateurs (les utilisateurs sont les clients du
système). A chaque itération de la phase de conception et de réalisation, on veille à la
prise en compte des besoins des utilisateurs. A chaque itération de la phase de test, on
vérifie que les besoins des utilisateurs sont satisfaits.
 Centrée sur l’architecture logicielle
Une architecture adaptée est la clé de voûte du succès d’un développement. Elle décrit
des choix stratégiques qui déterminent en grande partie les qualités du logiciel
(adaptabilité, performance, fiabilité…)
D’après les auteurs d’UML, un processus de développement qui possède ces qualités devrait
favoriser la réussite d’un projet.
La modélisation consiste à créer une représentation simplifiée d’un problème : le modèle. Grâce
au modèle, il est possible de représenter simplement un problème, un concept et le simuler. La
modélisation comporte deux composantes :
 L’analyse, c’est-à-dire l’étude du problème
 La conception, soit la mise au point d’une solution au problème
Le modèle constitue ainsi une représentation possible du système pour un point de vue donné.
UML fournit un moyen astucieux permettant de représenter diverses projections d’une même
représentation grâce aux vues. Une vue est constituée d’un ou plusieurs diagrammes comme :
 Le diagramme de cas d’utilisation
Le diagramme de cas d’utilisation permet de représenter le fonctionnement du système vis-à-
vis de l’utilisateur, c’est donc une vue du système dans son environnement extérieur. Un cas
d’utilisation est une manière spécifique d’utiliser un système. C’est l’image d’une
fonctionnalité du système, déclenchée en réponse à la stimulation d’un acteur externe.
10. Les diagrammes des séquences
Les diagrammes de séquences permettent de représenter la succession chronologique des
opérations réalisées par un acteur et la réponse du système, ils font passer d’un objet à un autre
pour représenter un scénario.
 Les diagrammes de classes
Les diagrammes de classes représentent les entités significatives du domaine. Ils expriment
aussi de manière générale la structure statique d’un système, en termes de classes et de relations
entre ces classes. Une classe permet de décrire un ensemble d’objets (attributs et
comportements), tandis qu’une relation ou association permet de faire apparaitre des liens entre
ces objets.
Le diagramme de classe est un modèle permettant de décrire de manière abstraite et générale
les liens entre objets.
 Le diagramme de paquetage
Dans le diagramme de paquetage, on trouve des paquets qui sont des éléments d’organisation
des modèles du fait que, non seulement, ils regroupent les éléments de modélisation, selon des
critères purement logiques mais aussi ils permettent d’encapsuler des éléments de modélisation
car ils possèdent une interface. Après, ils permettent de structurer un système en catégories (vue
23
logique) et sous-système (vue des composants). Ils servent aussi de « briques » de base dans la
construction d’une architecture. Et surtout, ils représentent le bon niveau de granularité pour la
réutilisation. Enfin, les paquetages sont aussi des espaces de noms.
 Le diagramme de déploiement
Le diagramme de déploiement décrit la disposition physique des ressources matérielles qui
composent le système et montre la répartition des composants sur ces matériels. Chaque
ressource étant matérialisée par un nœud, le diagramme de déploiement précise comment les
composants sont repartis sur les nœuds et quelles sont les connexions entre les composants et
les nœuds.
3.2.Outil de modélisation
Un outil de modélisation est utilisé pour ne pas gaspiller trop de temps sur la représentation
graphique de la modélisation.
Le tableau 11 compare l’outil Win ’Design et l’outil Visual Paradigm.
Tableau 11: comparaison entre Win ‘Design et Visual Paradigm.
Outil Avantages Inconvénients
Win ‘Design Destiner au Merise, facile à
utiliser
Manque de fonctionnalité pour
représenter UML
Visual Paradigm Destiner à la notation UML Un peu difficile à utiliser, nécessite
un temps d’apprentissage
Choix et justification
On a choisi Visual Paradigm parce qu’il s’adapte bien à la notation UML qu’on va utiliser.
Présentation de Visual Paradigm
Le logiciel présenté dans cette partie était déjà connu des étudiants qui ont suivi le cursus en
informatique de gestion durant le cycle 2009-2012, car plusieurs professeurs ont eu recours à
son utilisation pour pratiquer différents exercices dans diverses unités d’enseignements.
La présentation de Visual Paradigm n’a pas été placée dans la partie théorique, car il n’expose
ainsi pas des connaissances supplémentaires acquises, mais sert exclusivement à décrire
sommairement l’outil et son interface au lecteur. Ce dernier aura alors une meilleure
compréhension des différentes explications et références faites dans les parties théoriques et
pratiques.
Visual Paradigm est un éditeur qui propose une suite logicielle, constituée des outils suivants :
Visual Paradigm For UML : permet la création des diagrammes UML et des modèles qui en
sont à l’origine.
Ceux-ci peuvent alors générer du code dans un langage de programmation déterminé. Il
propose également la création d’autres types de diagrammes, comme celui qui permet la
modélisation des bases de données pouvant, lui aussi, générer des canevas d’applications basés
sur des Framework et Pattern mais en plus, générer du code SQL qu’il peut ensuite déployer
automatiquement dans différents environnements.
24
Business Process Visual Architect : permet la modélisation de processus normalisés par le
langage BPMN, ainsi que la génération des modèles en processus exécutables.
Agilian : offre les fonctionnalités nécessaires pour gérer l’architecture de l’entreprise autour
des processus, et le développement agile de logiciels. Il permet la réalisation de maquettes, la
gestion des exigences, le travail collaboratif, la gestion des règles métiers ou encore la définition
d’un vocabulaire commun.
Platform : gère les projets de développement en équipe, de même que la maintenance,
respectivement en se basant sur des propositions de la méthodologie UnifiedProcess et en
offrant des solutions de gestion des problèmes et des tests.
Teamwork Server : fournit un référentiel permettant le stockage des spécifications réalisées
par tous les autres outils de la suite. Il assure le travail en équipe, notamment par la prise en
charge des technologies de versionnions.
3.3.SGBD
Le SGBD est un ensemble de services (application logiciel) permettant de gérer les bases de
données, c’est-à-dire :
 Permettre l’accès aux données de façon simple
 Gérer les droits d’accès aux informations
 Manipuler les données présentes dans la base de données (insertion, modification,
suppression…)
Un SGBD est donc nécessaire pour stocker les données.
25
Le tableau 12 représente la comparaison des SGBD
Tableau 12: Comparaison des SGBD.
SGBD Points forts Points faible
MySQL plus rapide sur les requêtes simple
Stable, rapide
Riche en documentation
Faciliter de déploiement et de
prise en main,
Léger,
Multi-plateforme,
Open source,
Gratuit
Système de gestion de base de
donnée de modèle relationnel
Pas de vue matérialisée,
Support incomplet des triggers et
procédures stockées,
Ne supporte pas une énorme quantité
de données
ORACLE Disposition de requêtes
sophistiqué
Assistants performants,
Accès aux données système via
vue, réglages fins : tout est
paramétrable,
Supporte une énorme quantité de
données,
Multi-plateforme
Administration complexe,
Fort demandeur de ressources : la
connexion utilisateur nécessite par
exemple près de 700Ko/utilisateur,
contre une petite centaine sur le
serveur MS-SQL,
Payant (très cher)
PostgreSQL Disposition de requêtes
sophistiqués et d’un optimiseur de
requêtes
Plus Performant, fiable
Riche en documentation
Plusieurs fonctionnalités
Supporte une grande quantité de
données
Multi-plateforme,
Open source,
Gratuit,
Système de gestion de base de
données de modèle relationnel et
objet
Administration complexe,
Sauvegarde peu évolué
Choix et justification
On a choisi d’utiliser le SGBD PostgreSQL vu qu’il est plus performant, fiable, riche en
documentation, supporte une énorme quantité de données et supporte la fonctionnalité de
l’oracle, système de gestion de base de données de modèle relationnel et objet et dispose de
requêtes sophistiquées et d’un optimiseur de requêtes.
Présentation de PostgreSQL
26
PostgreSQL est un système de gestion de base de données relationnel et objet (SGBDRO).
Selon le type d’application, sa licence est libre ou propriétaire. Il fait partie des logiciels de
gestion de base de données les plus appréciés au monde pour les données de grandes quantités,
autant par le grand public (application web principalement) que par des professionnels, en
concurrence avec Oracle et MySQL.
C’est un logiciel libre développé sous double licence en fonction de l’utilisation qui en fait :
dans un produit libre ou dans un produit propriétaire.
3.4.Langage de programmation
Le tableau 13 montre la comparaison entre PHP et J2EE.
Tableau 13: Comparaison entre PHP et J2EE.
Critère J2EE PHP
Paradigme Orientée objet, structurée,
impérative
Impératif, procédural, réflexif,
langage interprété
Typage Dynamique, fort, sûr Dynamique, faible
Type d’application Web Web
Environnement de
développement
Eclipse, intellij, NetBeans,
JDeveloper
Simple éditeur de texte, ou IDE
intégré
Avantages Langage typé, facile à utiliser et à
maintenir
Serveur léger, facile à héberger
Inconvénient Serveur lourde, nécessite une
importance ressource
Ecriture de code gênante, variable
non typée
Changement de base de données,
changement de code
Choix et justification
Après avoir fait la comparaison, on a retenu J2EE comme langage de programmation parce que
c’est un langage orienté objet et simple à utiliser.
Présentation de J2EE
J2EE (Java 2 Enterprise Edition) est une norme proposée par la société Sun, portée par un
consortium de sociétés internationales, visant à définir un standard de développement
d'applications d'entreprises multi-niveaux, basées sur des composants.
La figure 3 suivante montre caractéristique de J2EE.
27
Figure 3: Caractéristiques de J2EE.
Une caractéristique particulière de J2EE est de réaliser une portabilité totale et maintenabilité
du code : une application, une fois compilé fonctionnera aussi sous des stations Windows que
sus Unix et autre. Cette portabilité est dû au fait que la compilation fournit un code machine
intermédiaire appelé BYTECODE exécuté par son interpréteur dite une machine dite virtuelle
(JVM : Java Virtual Machine) et qui, lors de l’exécution compréhensible par le microprocesseur
utilisé.
3.5.Framework utilisés
3.5.1. Partie Backend
Le tableau 14 montre la comparaison entre Spring Boot, Hibernate et Struts.
Tableau 14: Comparaison entre Spring Boot, Hibernate et Struts.
Critère Spring Boot Hibernate Struts
Dernière version 2.2.3 2.1.2 2.5.22
Facilité
d’apprentissage
Facile Facile Moyen
28
Environnement
de
développement
Eclipse, IntelliJ,
NetBeans, JDeveloper,
Spring Tool Suite
Eclipse, IntelliJ,
NetBeans,
JDeveloper, Spring
Tool suite
Eclipse, IntelliJ,
NetBeans, JDeveloper,
Spring Tool Suite
Open source Oui Oui Oui
Générateur de
CRUD
Oui Oui Oui
Simplicité Oui Oui Non
Sécurité Oui Oui Moyen
Economie espace Oui Oui Moyen
Ouverture de
page
Très rapide Rapide Normal
Choix et justification
Chacun de ces Framework possède ses avantages et ses inconvénients. En tenant compte de ces
études comparatives, surtout sur le temps d’apprentissage des trois Framework, nous avons
optés pour le Spring Boot, Hibernate.
Présentation de Spring Boot et Hibernate
- Spring Boot
Spring Boot est fondamentalement une extension du cadre Spring, qui élimine les
configurations standard requises pour la configuration d’une application Spring.
 Il adopte une vision avisée de la plateforme Spring, qui a ouvert la voie à un écosystème
de développement plus rapide et plus efficace.
Voici quelques-unes des fonctionnalités de Spring Boot:
 Dépendances de type "starter" pour simplifier la construction et l’application
Configuration :
 Métriques, vérification d’hélicoptère et configuration externalisée
 Configuration automatique pour la fonctionnalité Spring - autant que possible
 Serveur intégré pour éviter la complexité lors du déploiement d’applications
La figure 4 suivante montre caractéristique de Spring Boot.
29
Figure 4: Caractéristiques de Spring Boot.
- Hibernate
Hibernate est une solution open source de type ORM (Object Relational Mapping) qui permet
de faciliter le développement de la couche persistance d'une application. Hibernate permet donc
de représenter une base de données en objets Java et vice versa.
Hibernate facilite la persistance et la recherche de données dans une base de données en
réalisant lui-même la création des objets et les traitements de remplissage de ceux-ci en
accédant à la base de données. La quantité de code ainsi épargnée est très importante d'autant
que ce code est généralement fastidieux et redondant.
Hibernate est très populaire notamment à cause de ses bonnes performances et de son ouverture
à de nombreuses bases de données.
Les bases de données supportées sont les principales du marché : DB2, Oracle, MySQL,
PostgreSQL, Sybase, SQL Server, Sap DB, Interbase, et autres bases de données.
La figure 5 suivante montre caractéristique de Hibernate.
Figure 5: Caractéristiques de Hibernate.
30
3.5.2. Partie Frontend
Le tableau 15 montre la comparaison entre AngularJS et ReactJS.
Tableau 15: Comparaison entre AngularJS et ReactJS.
Critère AngularJS ReactJS
Dernière version 9. 16.12.0
Facilité
d’apprentissage
Facile Moyen
Open source Oui Oui
Web 2.0 Html 4, full jquery, ajsx,
json
Html4, full jquery
Générateur de
CRUD
Oui Non
Simplicité Oui Moyen
Sécurité Oui Oui
Economie espace Oui Non
Ouverture de
page
Très rapide Rapide
Choix et justification
Chacun de ces Framework possède ses avantages et ses inconvénients. En tenant compte de ces
études comparatives, surtout sur le temps d’apprentissage des deux Framework, nous avons
optés pour l’AngularJS.
Présentation d’AngularJS
AngularJS est fondé sur l'idée que la programmation déclarative doit être utilisée pour
construire les interfaces utilisateurs et les composants logiciels de câblage, tandis que
la programmation impérative excelle pour exprimer la logique métier.
Une page web conçue avec AngularJS suit le patron d'architecture MVC (modèle-vue-
contrôleur). Ce patron a pour avantage de proposer un couplage faible entre la présentation, les
données, et les composants métier. Dans un langage web, cette séparation permet de diminuer
l'importance des manipulations DOM et d'améliorer la testabilité du code.
Dans AngularJS, la partie « vue » est déclarée dans une version étendue du HTML traditionnel,
qui comporte de nouvelles balises (tags) et attributs. Cet HTML étendu est utilisé pour déclarer
une liaison de données bidirectionnelle entre les modèles et les vues. Ainsi, les données sont
synchronisées automatiquement, et moins d'éléments ont besoin d'être définis en Javascript. Les
modèles sont composés de plusieurs couches appelés « scopes ». Les contrôleurs dans
AngularJS permettent de prototyper des actions en code JavaScript natif.
La figure 6 suivante montre caractéristique de AngularJS.
31
Figure 6; Caractéristiques de JAVA.
3.6.Environnement de développement
3.6.1. Partie Backend
Il nous faut un environnement de développement pour réaliser ce projet au niveau de serveur.
Le tableau 16 représente la comparaison entre Spring Tool Suite et NetBeans.
Tableau 16: Comparaison entre Spring Tool Suite et NetBeans.
Spring Tool Suite NetBeans
Graphique Tout Seulement l’essentielle,
claire
Serveur et compilateur
Java intégré
A installer et à configurer A télécharger
Ressources Moyenne Elevée (besoin de machine à
fréquence élevé)
Choix et justification
Graphiquement Spring Tool Suite plus léger que NetBeans, son interface est meilleure que
NetBeans et c’est le logiciel conçu pour le langage spring boot, facile d’intégration donc on a
choisi Spring Tool Suite.
Présentation de Spring Tool Suite
Spring Tool Suite, ensemble de logiciels édités par la société SpringSource, contient
un environnement de développement contribuant à une meilleure productivité du développeur
Spring.
STS est une pièce de la stratégie "Build - Run - Manage" de SpringSource. Cette stratégie vise
à nous rassurer sur la capacité de SpringSource à accompagner efficacement les différentes
32
étapes du cycle de vie (Développement - déploiement - monitoring) d'une application Java
Entreprise basée non pas sur les spécifications JEE (jugées complexes), mais sur le modèle de
développement et les différentes briques proposées par Spring (Core, Spring MVC, Spring
JMS, Spring WS).
Une stratégie qui amène des choix tactiques d'acquisition de sociétés et technologies comme
le langage de script Groovy, le Framework Grails (au-dessus de Spring MVC + Hibernate) ou
encore plus récemment d'Hyperic (outil de monitoring), désormais dans le giron SpringSource.
Compilé en Java, Spring Tool Suite est disponible sous Windows, Linux, Mac OS X ou sous
une version indépendante des systèmes d’exploitation (requérant une machine virtuelle Java).
Un environnement Java Développement Kit JDK est requis pour le développement en J2ee.
Spring Tool Suite constitue par ailleurs une plateforme qui permet le développement
d’application spécifique (bibliothèque Swing). L’IDE Spring Tool Suite s’appuie sur cette
plateforme.
3.6.2. Partie Frontend
Dans la partie client, nous avons d’un IDE pour le développement du projet.
Le tableau 17 illustre la comparaison entre le VS Code et Sublime Text.
Tableau 17: Comparaison entre VS Code et Sublime Text.
VS Code Sublime Text
Temps de lancement Très rapide Lent
Usage de RAM Beaucoup Un peu
Apprentissage de
raccourcis
Facile à apprendre Beaucoup de temps et
difficile
Fonctionnalités Plusieurs Moyen
Choix et justification
Visual Studio Code a une interface utilisateur très conviviale et beaucoup d’option pour éditer
le code et a plusieurs fonctionnalités, installable partout, multi-configurable, agréable et rapide
par rapport au Sublime Text, donc on a choisi le VS Code.
Présentation de Visual Studio Code
Visual Studio Code (VSC) est un éditeur de code open-source, gratuit et multi-plateforme
(Windows, Mac et Linux), développé par Microsoft, à ne pas confondre avec Visual Studio,
l'IDE propriétaire de Microsoft. VSC est développé avec Electron et exploite des fonctionnalités
d'édition avancées du projet Monaco Editor. Principalement conçu pour le développement
d'application avec JavaScript, TypeScript et Node.js, l'éditeur peut s'adapter à d'autres types de
langages grâce à un système d'extension bien fourni.
Visual Studio Code intègre plusieurs outils facilitant la saisie de code par les développeurs
comme la coloration syntaxique ou encore le système d’auto-complétions IntelliSense. En
33
outre, l'outil permet aux développeurs de corriger leur code et de gérer les différentes versions
de leurs fichiers de travail puisqu'un module de débogage est aussi de la partie.
34
Chapitre 4. ANALYSE CONCEPTUELLE
Ce projet concerne le domaine de la gestion de soutenance. Au début de soutenance, le
responsable de ce domaine récolte toutes les informations sur le calendrier de soutenance. Pour
cela, nous allons utiliser la méthode XP avec la notation UML, l’outil Visual Paradigm,
PostgreSQL, le langage de programmation J2EE et le Framework Spring Boot, Hibernate, Jpa,
Spring Security et AngularJS.
1. Dictionnaire des données
Un dictionnaire des données est une collection de métadonnées ou de données de référence
nécessaire à la conception d'une base de données relationnelle.
Le dictionnaire des données du système est représenté dans la figure 18.
Tableau 18: Dictionnaire des données.
Nom de la rubrique Description Type Taille
annee_univ Année universitaire AN 9
cal_date_sout Date de calendrier de soutenance AN 8
cal_heure_sout Heure de soutenance AN 3
cal_lieu_sout Lieu de soutenance AN 35
cal_lieu_stage Lieu de stage AN 35
cal_note_sout Note de soutenance AN 5
cal_sale_sout Sale de soutenance N 2
cal_type_memoire Type de mémoire AN 50
enseig_adr Adresse de l’enseignant AN 50
enseig_email Email de l’enseignant AN 50
enseig_grade Grade de l’enseignant AN 50
enseig_nom Nom de l’enseignant AN 50
enseig_prenom Prénoms de l’enseignant AN 50
enseig_sexe Sexe de l’enseignant A 1
enseig_tel Numéro téléphone de l’enseignant AN 13
etabli_adr Adresse de l’établissement AN 50
etabli_code_post Code postale de l’établissement N 7
etabli_nom Nom de l’établissement AN 35
etud_adr Adresse de l’étudiant AN 50
etud_email Email de l’étudiant AN 50
etud_matricule Matricule de l’étudiant AN 6
etud_nom Nom de l’étudiant AN 50
etud_num Numéro d’appel de l’étudiant N 3
etud_prenom Prénoms de l’étudiant AN 50
etud_sexe Sexe de l’étudiant A 1
etud_tel Numéro téléphone de l’étudiant AN 13
id_enseig Identifiant de l’enseignant N 2
id_annee Identifiant de l’année universitaire N 2
id_cal Identifiant de calendrier N 4
id_etabli Identifiant de l’établissement N 1
id_etud Identifiant de l’étudiant N 5
id_jury Identifiant du jury N 2
35
id_login Identifiant de l’utilisateur de
l’application
N 25
id_niveau Identifiant de niveau de l’étudiant N 1
id_parcours Identifiant de parcours N 1
id_service Identifiant de service N 1
id_theme Identifiant de thème de l’étudiant N 5
jury_nom Nom du jury AN 50
jury_prenom Prénoms du jury AN 50
jury_role Rôle du jury AN 11
niveau_nom Nom de niveau de l’étudiant AN 20
parcours_nom Nom du parcours de l’étudiant AN 15
service_adr Adresse du service AN 50
service_email Email du service AN 50
service_nom Nom du service AN 50
service_prenom Prénoms du service AN 50
service_resp Responsable du service AN 50
service_sexe Sexe du service AN 1
service_tel Numéro téléphone du service AN 13
theme_nom Nom du thème de l’étudiant AN 200
A : Alphabétique AN : alphanumérique N : numérique
2. Règles de gestion
Les règles de gestion indiquent l’ensemble des liens existants sur les données manipulées, les
actions effectuées par les postes de travail impliqués et les différentes formules de calcul. Les
règles de gestion associées au domaine d’études sont :
Rg1 : Un étudiant doit avoir un thème
Rg2 : Un étudiant se trouve dans un niveau
Rg3 : Un étudiant appartient à un parcours
Rg4 : Plusieurs étudiants appartiennent à un établissement
Rg5 : Plusieurs enseignants enseignent dans un établissement
Rg6 : Un enseignant peut être un jury
Rg7 : Un étudiant passe la soutenance dans une année
Rg8 : Un calendrier est constitué plusieurs étudiants
Rg9 : Un calendrier présente un ou plusieurs thèmes de l’étudiant
Rg10 : Un calendrier constitue un parcours de l’étudiant
Rg11 : Un calendrier présente un niveau de l’étudiant
Rg12 : Un calendrier doit avoir un établissement
Rg13 : Un calendrier constitue plusieurs jurys
Rg14 : Un calendrier a plusieurs enseignants
Rg15 : Un calendrier a une année
3. Représentation et spécification des
besoins
3.1. Diagrammes de cas d’utilisation
D’abord nous allons réunir les différents éléments pour construire le diagramme de cas
d’utilisation et commençons par l’identification des acteurs, puis l’identification des cas
d’utilisations et entamons par les diagrammes de cas d’utilisation proprement dit.
36
3.1.1. Identification des acteurs
Ils sont des entités externes qui interagissent avec le système, comme une personne humaine
ou un robot. Une même personne (ou robot) peut être plusieurs acteurs pour un système, c'est
pourquoi les acteurs doivent surtout être décrits par leur rôle, ce rôle décrit les besoins et les
capacités de l'acteur. Un acteur agit sur le système.
L'activité du système a pour objectif de satisfaire les besoins de l'acteur. Les acteurs sont
représentés par un pictogramme humanoïde (stick man) sous-titré par le nom de l'acteur.
 Les catégories d’acteur :
Un acteur peut avoir différents rôles et est amené à intervenir dans une ou plusieurs situations.
Miller (2001) en identifie quatre.
 Initiateur : acteur qui active le système et déclenche le cas.
 Serveur : acteur aidant le système à assumer ses responsabilités.
 Receveur : acteur recevant les informations du système (système de backup)
 Facilitateur : acteur dont les actions sont effectuées au bénéfice d'un autre acteur
Un acteur est un rôle joué par une personne ou par une chose qui interagit avec le système. Il
n’est pas toujours facile de déterminer la limite du système. Par définition, les acteurs sont à
l’extérieur du système Lés acteurs agissant sur notre système sont regroupés en une seule
catégorie : l’utilisateur
3.1.2. Identification des cas d’utilisation
Les catégories des besoins fonctionnels des acteurs peuvent être arrangées de la manière dans
le tableau 19 suivante :
Tableau 19: Besoins fonctionnels des acteurs.
Acteur Cas d’utilisation
Utilisateur S’authentifier Se connecter
Se déconnecter
Gérer étudiant Ajouter
Modifier
Supprimer
Consulter liste étudiante
Imprimer
Gérer enseignant Ajouter
Modifier
Supprimer
Consulter liste enseignant
Consulter liste étudiante, thème
et enseignant
Ajouter
Modifier
37
Supprimer
Consulter
Imprimer
Gérer jury Ajouter
Modifier
Supprimer
Consulter liste jury
Gérer calendrier Ajouter
Modifier
Supprimer
Consulter calendrier
Imprimer
3.1.3. Diagrammes de cas d’utilisation
Après ces précédentes étapes, nous avons réunis les différents éléments pour construire le
diagramme de cas d’utilisation.
38
Voici dans cette figure 7 donc le diagramme de cas d’utilisation globale de gestion de tableau
de bord.
Figure 7: Diagramme de cas d’utilisation globale.
3.2. Priorisation des cas d’utilisations
La priorisation des cas d’utilisations est représentée par le tableau 20 suivant.
Tableau 20: priorisation des cas d’utilisations.
Cas d’utilisation Acteur
principale
Messages reçus/ émis
1) S’authentifier Utilisateur -demande de s’authentifier
-résultat d’authentification
2) Gérer étudiant -demande de gérer étudiant
-résultat de la demande de gérer étudiant
3) Gérer enseignant -demande de gérer enseignant
-résultat de la demande de gérer enseignant
4) Gérer jury -demande de gérer jury
-résultat de la demande de gérer jury
5) Gérer calendrier -demande de gérer calendrier
-résultat de la demande de gérer calendrier
3.3. Description textuelle de certains cas d’utilisation
 Cas d’utilisation « s’authentifier »
 Objectif : pour avoir une session pour utiliser l’application.
39
 Acteur : utilisateur
 Pré condition : l’utilisateur doit avoir un compte.
 Post condition : l’utilisateur obtient une session
 Scenario nominale :
1. Saisir identifiant
2. Cliquer sur le bouton se connecter
3. Obtention d’une session
 Scenario d’exception :
1. Identifiant ou mot de passe incorrect
2. Serveur inaccessible
 Cas d’utilisation « ajouter service »
 Objectif : pour enregistrer l’information concernant un service.
 Acteur : utilisateur
 Pré condition : l’enseignant et le service existent.
 Post condition : création service avec succès
 Scenario nominale :
1. L’utilisateur doit s’authentifier
2. Il obtient un formulaire d’ajout service
3. Il remplit le formulaire et l’envoie
4. Ajout service effectué
 Scenario d’exception :
1. Formulaire vide
2. Le code service existe déjà
 Cas d’utilisation « modifier service »
 Objectif : pour éditer l’information concernant un service.
 Acteur : utilisateur
 Pré condition : il existe une liste de service.
 Post condition : modification de service avec succès
 Scenario nominale :
1. L’utilisateur consulte la liste des services
2. Il obtient un formulaire de modification service
3. Il remplit le formulaire et l’envoie
4. Modification service effectué
 Scenario d’exception :
1. Formulaire vide
2. Le code service existe déjà
 Cas d’utilisation « supprimer service »
 Objectif : pour effacer un service.
 Acteur : utilisateur
 Pré condition : il existe une liste de service.
40
 Post condition : suppression de service avec succès
 Scenario nominale :
1. L’utilisateur consulte la liste des services
2. Il obtient une confirmation de supprimer un service
3. Il confirme
4. Suppression service effectué
 Cas d’utilisation « gérer calendrier »
 Objectif : pour enregistrer les informations concernant le calendrier.
 Acteur : utilisateur
 Pré condition : l’étudiant, le thème, l’enseignant, le niveau, le parcours,
le jury, la date, la salle existent.
 Post condition : création de calendrier avec succès
 Scenario nominale :
1. L’utilisateur demande à gérer un tableau de bord
2. Il obtient un formulaire
3. Il remplit le formulaire et l’envoie
4. Création du calendrier effectué
 Scenario d’exception :
1. Formulaire vide
3.4. Diagrammes de séquence système pour les cas d’utilisation
Les diagrammes de séquence représentent les messages échangés entre les objets. Il donne une
notion temporelle aux messages.
La figure 8 représente le diagramme de séquence pour le cas d’utilisation « s’authentifier ».
Figure 8: Diagramme de séquence pour le cas d’utilisation « s’authentifier ».
41
La figure 9 représente le diagramme de séquence pour le cas d’utilisation « ajouter service ».
Figure 9: Diagramme de séquence pour le cas d’utilisation « ajouter service ».
La figure 10 représente le diagramme de séquence pour le cas d’utilisation « modifier service ».
Figure 10: Diagramme de séquence pour le cas d’utilisation « modifier service ».
42
La figure 11 montre le diagramme de séquence pour le cas d’utilisation « supprimer service ».
Figure 11: Diagramme de séquence pour le cas d’utilisation « supprimer service ».
La figure 12 illustre le diagramme de séquence pour le cas d’utilisation « gérer calendrier ».
43
Figure 12: Diagramme de séquence pour le cas d’utilisation « gérer calendrier ».
4. Modélisation du domaine
Un modèle de domaine est une visualisation des concepts d’un domaine du monde réel.
L’élaboration du modèle des classes du domaine permet d’opérer une transition vers une
véritable modélisation objet. L’analyse du domaine est une étape totalement séparée de
l’analyse des besoins. Elle peut être menée avant, en parallèle ou après cette dernière.
La phase d’analyse du domaine permet d’élaborer la première version du diagramme de classe
appelée modèle du domaine. Ce modèle doit définir les classes qui modélisent les entités ou
concepts présents dans le domaine de l’application. Il s’agit donc de produire un modèle des
objets du monde réel dans un domaine donné. Ces entités ou concepts sont identifiés
directement à partir de la connaissance du domaine ou par des entretiens avec des experts du
domaine. Pour établir le diagramme, on suit les étapes suivantes :
 Identifier les entités u concepts du domaine
 Identifier et ajouter les associations et les attributs
 Organiser et simplifier le modèle en éliminant les classes redondantes et en
utilisant l’héritage
 Le cas échéant, structurer les classes en paquetage selon les principes de
cohérence et d’indépendance.
Modèle de domaine
La figure 13 présente le modèle de domaine.
44
Figure 13: Modèle de domaine.
45
Chapitre 5. CONCEPTION DETAILLEE
1. Architecture du système
Nous allons adapter l’architecture MVC à l’application car c’est le plus adapté au modèle en
trois tiers. L'architecture Modèle Vue Contrôleur est un motif de conception pour le
développement d'applications logicielles qui sépare le modèle de données, l'interface utilisateur
et la logique de contrôle. Ce motif a été mis au point en 1979 par Trygve Reenskaug, qui
travaillait alors sur Small talk Xerox PARC. Dans les laboratoires de recherche Ce modèle
d'architecture impose la séparation entre les données, les traitements et la présentation, ce qui
donne trois parties fondamentales dans l'application finale : le modèle, la vue et le contrôleur.
La figure 14 montre la représentation du modèle MVC.
Figure 14: modèle MVC.
2. Diagramme de séquence de conception
La figure 15 représente le diagramme de séquence conception pour le cas d’utilisation
« s’authentifier ».
46
Figure 15: Diagramme de séquence conception pour le cas d’utilisation « s’authentifier ».
La figure 16 montre le diagramme de séquence conception pour le cas d’utilisation « ajouter
service ».
Figure 16: Diagramme de séquence conception pour le cas d’utilisation « Ajouter service ».
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance
Gestion de-soutenance

Contenu connexe

Tendances

Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Ilyas CHAOUA
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPYouness Boukouchi
 
Réussir son analyse des besoins dans la conduite d'un projet informatique (2007)
Réussir son analyse des besoins dans la conduite d'un projet informatique (2007)Réussir son analyse des besoins dans la conduite d'un projet informatique (2007)
Réussir son analyse des besoins dans la conduite d'un projet informatique (2007)Ardesi Midi-Pyrénées
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesENSET, Université Hassan II Casablanca
 
Rapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaRapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaNazih Heni
 
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...MOHAMMED MOURADI
 
Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Ramzi Noumairi
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...ENSET, Université Hassan II Casablanca
 
Développement d'une application de cartographie interactive sur internet
Développement d'une application de cartographie interactive sur internetDéveloppement d'une application de cartographie interactive sur internet
Développement d'une application de cartographie interactive sur internetKhadim Mbacké
 
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...Mohammed JAITI
 
Conception et développement d’un Système de réservation en ligne
Conception et développement d’un Système de réservation en ligneConception et développement d’un Système de réservation en ligne
Conception et développement d’un Système de réservation en ligneAydi Nébil
 
Soutenance de Mon PFE de Stage (DUT)
Soutenance de Mon PFE de Stage (DUT) Soutenance de Mon PFE de Stage (DUT)
Soutenance de Mon PFE de Stage (DUT) Mohammed JAITI
 
Réalisation d’une plateforme e-commerce de vente de prestations HTML dotée d...
Réalisation d’une plateforme e-commerce de vente de  prestations HTML dotée d...Réalisation d’une plateforme e-commerce de vente de  prestations HTML dotée d...
Réalisation d’une plateforme e-commerce de vente de prestations HTML dotée d...kadzaki
 
Conception et réalisation d'une application web et mobile de e-commerce
Conception et réalisation d'une application web et mobile de e-commerceConception et réalisation d'une application web et mobile de e-commerce
Conception et réalisation d'une application web et mobile de e-commerceAHMEDBELGHITH4
 
Projet de fin d’études
Projet de fin d’études  Projet de fin d’études
Projet de fin d’études TombariAhmed
 

Tendances (20)

Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSP
 
Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4
 
Réussir son analyse des besoins dans la conduite d'un projet informatique (2007)
Réussir son analyse des besoins dans la conduite d'un projet informatique (2007)Réussir son analyse des besoins dans la conduite d'un projet informatique (2007)
Réussir son analyse des besoins dans la conduite d'un projet informatique (2007)
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependances
 
Rapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaRapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédia
 
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
 
Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Développement d'une application de cartographie interactive sur internet
Développement d'une application de cartographie interactive sur internetDéveloppement d'une application de cartographie interactive sur internet
Développement d'une application de cartographie interactive sur internet
 
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...
 
Conception et développement d’un Système de réservation en ligne
Conception et développement d’un Système de réservation en ligneConception et développement d’un Système de réservation en ligne
Conception et développement d’un Système de réservation en ligne
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
Soutenance de Mon PFE de Stage (DUT)
Soutenance de Mon PFE de Stage (DUT) Soutenance de Mon PFE de Stage (DUT)
Soutenance de Mon PFE de Stage (DUT)
 
E-learning
E-learningE-learning
E-learning
 
Réalisation d’une plateforme e-commerce de vente de prestations HTML dotée d...
Réalisation d’une plateforme e-commerce de vente de  prestations HTML dotée d...Réalisation d’une plateforme e-commerce de vente de  prestations HTML dotée d...
Réalisation d’une plateforme e-commerce de vente de prestations HTML dotée d...
 
CV de Fatma CHIHAOUI
CV de Fatma CHIHAOUICV de Fatma CHIHAOUI
CV de Fatma CHIHAOUI
 
Conception et réalisation d'une application web et mobile de e-commerce
Conception et réalisation d'une application web et mobile de e-commerceConception et réalisation d'une application web et mobile de e-commerce
Conception et réalisation d'une application web et mobile de e-commerce
 
Projet de fin d’études
Projet de fin d’études  Projet de fin d’études
Projet de fin d’études
 
Rapport du stage
Rapport du stageRapport du stage
Rapport du stage
 

Similaire à Gestion de-soutenance

Internet pour les DNL francophones
Internet pour les DNL francophonesInternet pour les DNL francophones
Internet pour les DNL francophonesCarmen Vera
 
Rapport de stage de fin d'etude l3 angelito & hasina
Rapport de stage de fin d'etude l3 angelito & hasinaRapport de stage de fin d'etude l3 angelito & hasina
Rapport de stage de fin d'etude l3 angelito & hasinaAngelito Mandimbihasina
 
Rapport de stage de fin d'etude l3 angelito & hasina
Rapport de stage de fin d'etude l3 angelito & hasinaRapport de stage de fin d'etude l3 angelito & hasina
Rapport de stage de fin d'etude l3 angelito & hasinaAngelito Mandimbihasina
 
PEPIN LISQUEUR - Gestion de logement
PEPIN LISQUEUR - Gestion de logementPEPIN LISQUEUR - Gestion de logement
PEPIN LISQUEUR - Gestion de logementLisqueurPEPIN
 
PEPIN LISQUEUR - Memoire L3 IG 2019 Vrai.pdf
PEPIN LISQUEUR - Memoire L3 IG 2019 Vrai.pdfPEPIN LISQUEUR - Memoire L3 IG 2019 Vrai.pdf
PEPIN LISQUEUR - Memoire L3 IG 2019 Vrai.pdfLisqueurPEPIN
 
Comment développer la notoriété du réseau avec les médias d’aujourd’hui?
Comment développer la notoriété du réseau avec les médias d’aujourd’hui?Comment développer la notoriété du réseau avec les médias d’aujourd’hui?
Comment développer la notoriété du réseau avec les médias d’aujourd’hui?Ramon Bartomeus
 
Dnl Francophones 8 Mars 2010
Dnl Francophones 8 Mars 2010Dnl Francophones 8 Mars 2010
Dnl Francophones 8 Mars 2010Carmen Vera
 
Le web sémantique pour mieux anticiper le futur
Le web sémantique pour mieux anticiper le futurLe web sémantique pour mieux anticiper le futur
Le web sémantique pour mieux anticiper le futurSylvain Gateau
 
Atelier : enrichir le cours par le numérique
Atelier : enrichir le cours par le numériqueAtelier : enrichir le cours par le numérique
Atelier : enrichir le cours par le numériqueDavid CORDINA
 
OPTIMISATION D’UNE APPLICATION CLIENT-SERVEUR PAR ANALYSE STATIQUE ET ESTIMAT...
OPTIMISATION D’UNE APPLICATION CLIENT-SERVEUR PAR ANALYSE STATIQUE ET ESTIMAT...OPTIMISATION D’UNE APPLICATION CLIENT-SERVEUR PAR ANALYSE STATIQUE ET ESTIMAT...
OPTIMISATION D’UNE APPLICATION CLIENT-SERVEUR PAR ANALYSE STATIQUE ET ESTIMAT...mosanda arcel monshekebia
 
Licence Professionnelle Miden - Présentation
Licence Professionnelle Miden - PrésentationLicence Professionnelle Miden - Présentation
Licence Professionnelle Miden - PrésentationLicence Pro MIDEN
 
Les apprenant 2.0, outils 2.0 et leurs utilisations
Les apprenant 2.0, outils 2.0 et leurs utilisationsLes apprenant 2.0, outils 2.0 et leurs utilisations
Les apprenant 2.0, outils 2.0 et leurs utilisationsSébastien Reinders
 
CV Matadi Kanza Patrick1
CV Matadi Kanza Patrick1CV Matadi Kanza Patrick1
CV Matadi Kanza Patrick1Patrick Matadi
 
Introduction cours master hst tic et médiation scientifique 2014
Introduction cours  master hst tic et médiation scientifique 2014Introduction cours  master hst tic et médiation scientifique 2014
Introduction cours master hst tic et médiation scientifique 2014Jean-Marie Gilliot
 
CV français Stéphane Givkovic
CV français Stéphane GivkovicCV français Stéphane Givkovic
CV français Stéphane GivkovicStéphane GIVKOVIC
 
Le web participatif, Rennes, juin 2009
Le web participatif, Rennes, juin 2009Le web participatif, Rennes, juin 2009
Le web participatif, Rennes, juin 2009Xavier Galaup
 

Similaire à Gestion de-soutenance (20)

Internet pour les DNL francophones
Internet pour les DNL francophonesInternet pour les DNL francophones
Internet pour les DNL francophones
 
Rapport de stage de fin d'etude l3 angelito & hasina
Rapport de stage de fin d'etude l3 angelito & hasinaRapport de stage de fin d'etude l3 angelito & hasina
Rapport de stage de fin d'etude l3 angelito & hasina
 
Rapport de stage de fin d'etude l3 angelito & hasina
Rapport de stage de fin d'etude l3 angelito & hasinaRapport de stage de fin d'etude l3 angelito & hasina
Rapport de stage de fin d'etude l3 angelito & hasina
 
PEPIN LISQUEUR - Gestion de logement
PEPIN LISQUEUR - Gestion de logementPEPIN LISQUEUR - Gestion de logement
PEPIN LISQUEUR - Gestion de logement
 
PEPIN LISQUEUR - Memoire L3 IG 2019 Vrai.pdf
PEPIN LISQUEUR - Memoire L3 IG 2019 Vrai.pdfPEPIN LISQUEUR - Memoire L3 IG 2019 Vrai.pdf
PEPIN LISQUEUR - Memoire L3 IG 2019 Vrai.pdf
 
CV Timothé Arroyo
CV Timothé ArroyoCV Timothé Arroyo
CV Timothé Arroyo
 
Comment développer la notoriété du réseau avec les médias d’aujourd’hui?
Comment développer la notoriété du réseau avec les médias d’aujourd’hui?Comment développer la notoriété du réseau avec les médias d’aujourd’hui?
Comment développer la notoriété du réseau avec les médias d’aujourd’hui?
 
Dnl Francophones 8 Mars 2010
Dnl Francophones 8 Mars 2010Dnl Francophones 8 Mars 2010
Dnl Francophones 8 Mars 2010
 
Réunion de rentrée du RDAC
Réunion de rentrée du RDACRéunion de rentrée du RDAC
Réunion de rentrée du RDAC
 
Le web sémantique pour mieux anticiper le futur
Le web sémantique pour mieux anticiper le futurLe web sémantique pour mieux anticiper le futur
Le web sémantique pour mieux anticiper le futur
 
Tice En Classe D Anglais
Tice En Classe D AnglaisTice En Classe D Anglais
Tice En Classe D Anglais
 
Atelier : enrichir le cours par le numérique
Atelier : enrichir le cours par le numériqueAtelier : enrichir le cours par le numérique
Atelier : enrichir le cours par le numérique
 
OPTIMISATION D’UNE APPLICATION CLIENT-SERVEUR PAR ANALYSE STATIQUE ET ESTIMAT...
OPTIMISATION D’UNE APPLICATION CLIENT-SERVEUR PAR ANALYSE STATIQUE ET ESTIMAT...OPTIMISATION D’UNE APPLICATION CLIENT-SERVEUR PAR ANALYSE STATIQUE ET ESTIMAT...
OPTIMISATION D’UNE APPLICATION CLIENT-SERVEUR PAR ANALYSE STATIQUE ET ESTIMAT...
 
Licence Professionnelle Miden - Présentation
Licence Professionnelle Miden - PrésentationLicence Professionnelle Miden - Présentation
Licence Professionnelle Miden - Présentation
 
Les apprenant 2.0, outils 2.0 et leurs utilisations
Les apprenant 2.0, outils 2.0 et leurs utilisationsLes apprenant 2.0, outils 2.0 et leurs utilisations
Les apprenant 2.0, outils 2.0 et leurs utilisations
 
CV Matadi Kanza Patrick1
CV Matadi Kanza Patrick1CV Matadi Kanza Patrick1
CV Matadi Kanza Patrick1
 
Tfc comboni
Tfc comboniTfc comboni
Tfc comboni
 
Introduction cours master hst tic et médiation scientifique 2014
Introduction cours  master hst tic et médiation scientifique 2014Introduction cours  master hst tic et médiation scientifique 2014
Introduction cours master hst tic et médiation scientifique 2014
 
CV français Stéphane Givkovic
CV français Stéphane GivkovicCV français Stéphane Givkovic
CV français Stéphane Givkovic
 
Le web participatif, Rennes, juin 2009
Le web participatif, Rennes, juin 2009Le web participatif, Rennes, juin 2009
Le web participatif, Rennes, juin 2009
 

Dernier

JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 

Dernier (8)

JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 

Gestion de-soutenance

  • 1. UNIVERSITE DE FIANARANTSOA ECOLE NATIONALE D’INFORMATIQUE MEMOIRE DE FIN D’ETUDES POUR L’OBTENTION DU DIPLOME DE LICENCE PROFESSIONNELLE EN INFORMATIQUE Parcours : Informatique Générale Intitulé : Présenté le 17 Mars 2020 Par RAZAFINDRAZAKA Vatosoa Membres du Jury :  Président : Monsieur RAMAMONJISOA Andriantiana Bertin Olivier, ProfesseurTitulaire  Examinateur : Mademoiselle RATIANANTITRA Volatiana Marielle, Assistants d’Enseignement Supérieur et de Recherche  Rapporteurs : Monsieur RALAIVAO Jean Christian, Assistant d’Enseignement Supérieur et de Recherche Monsieur GILANTE Gesazafy, Encadreur Professionnel Année Universitaire 2018-2019 CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DES SOUTENANCES
  • 2.
  • 3. I CURRICULUM VITAE RAZAFINDRAZAKA Vatosoa Née le 22 Février à Ambalataretra - Ambalavao Lot 28KIV/3605 Isada Fianarantsoa Tél: 034 63 017 07 / 032 81 785 12 E-mail : razafindrazakav@gmail.com FORMATIONS ET DIPLÔME 2018-2019 : Troisième année en Licence Professionnelle - École Nationale d’Informatique Université de Fianarantsoa Parcours : Informatique Générale (Administration de Systèmes et Réseaux, Génie Logiciel et Base de Données) 2017-2018 : Deuxième année en Licence Professionnelle - École Nationale d’Informatique Université de Fianarantsoa Parcours : Informatique Générale (Administration de Systèmes et Réseaux, Génie Logiciel et Base de Données) 2016-2017 : Première année de Licence Professionnelle - École Nationale d’Informatique Université de Fianarantsoa Parcours : Informatique Générale (Administration de Systèmes et Réseaux, Génie Logiciel et Base de Données) 2015-2016 : Élève de la classe Terminale de Série D au Lycée Rakotoarisoa Ambositra Diplôme Obtenu : Baccalauréat Série D STAGES ET EXPÉRIENCES PROFESSIONNELLES 2019 : Stage au sein de l’école Nationale d’Informatique Fianarantsoa Thème : Application de gestion de soutenance Langage de programmation utilisé : Java Server Page, JavaScript Framework: Spring Boot, Hibernate et AngularJS SGBD : PostgreSQL Système d’exploitation : Windows 8.1 Projet au sein de l’École Nationale d’Informatique : - « Développement d’une application pour la gestion de location de voiture » Langage de programmation : Java, ASP.net, Java Server Page - « Développement d’une application hybride pour la réservation dans un restaurant »
  • 4. II Framework : Ionic - « Mise en œuvre d’un partage de fichier sous NFS et développement d’une calculatrice exploitant le protocole RPC » Système d’exploitation : Debian 9.5 Langage de programmation : C 2018 : Stage au sein de la société Socolait à Ivandry Antananarivo Thème : Conception et réalisation d’une application pour la mise en vente des produits Langage de programmation utilisé : Python Méthode : Agile Framework : Django SGBD : SQLite Système d’exploitation : Windows 10 Projet au sein de l’Ecole Nationale d’Informatique : - « Mise en œuvre de supervision à l’aide du protocole SNMP » Logiciel utilisé : Cacti - Développement d’une application web pour la gestion de location des appartements Langage de programmation utilisé : PHP5 2017 : Projet au sein de l’École Nationale d’Informatique - « Création d’un site web » Langage utilisé : HTML et CSS Langage de Script : JavaScript -Projet de fin d’année en première année de formation en licence professionnelle au sein de l’Ecole Nationale d’Informatique Thème : Développement d’une interface de configuration de réseau LAN Langage utilisé : C et C++ Outils : Qt Creator COMPÉTENCES EN INFORMATIQUE Systèmes d’exploitation : Windows XP/7/8/10, Linux Famille de distribution Linux : Ubuntu, Debian Systèmes de gestion de base de données : MySQL, PostgreSQL, SQLite Méthode de conception : MERISE Langage de modélisation : UML Langages de programmation : C et C++, Python, Java, Visual Basic Technologies web : HTML, CSS, PHP, ASP.net, JSP Frameworks : Django, Ionic Langages de Script : JavaScript, SQL Routage : Cisco Routage réseaux : routage par défaut, routage statique, RIP, OSPF Supervision: Cacti Protocol: TCI/IP, SNMP, SSH, SMTP, HTTP/HTPPS, FTP, MPLS Administration système et réseaux : Serveur DNS, FTP, WEB, Pare-feu
  • 5. III CONNAISSANCES LINGUISTIQUES Aptitude à : Comprendre à l’audition Lire Écrire et à rédiger Communiquer oralement et à parler TB B AB P TB B AB P TB B AB P TB B AB P Malagasy X X X X Français X X X X Anglais X X X X Grille d’évaluation : TB : Très Bien B : Bien AB : Assez Bien P : Passable DIVERS Loisirs : Lire, Basket, Piscine, Guitare.
  • 6. II DEDICACES Je dédie ce travail à mes chers parents jamais je ne saurais m'exprimé quant aux sacrifices et aux dévouements que vous consacrés à mon éducation et mes études. Les mots expressifs soient-ils restent faibles pour énoncer ma gratitude hautement profonde.
  • 7. III SOMMAIRE CURRICULUM VITAE .............................................................................................................I DEDICACES..............................................................................................................................II SOMMAIRE..............................................................................Error! Bookmark not defined. REMECIEMENTS...................................................................................................................VI LISTE DES FIGURES ............................................................................................................VII LISTE DES TABLEAUX ......................................................................................................... X NOMENCLATURE.................................................................................................................XI INTRODUCTION GENERALE................................................................................................1 PARTIE I. PRESENTATION GENERALE Chapitre 1. Présentation de l’Ecole Nationale d’Informatique ..............................................2 1. Information d’ordre général .......................................................................................2 2. Missions et historique.................................................................................................2 3. Organigramme institutionnel de l’ENI.......................................................................3 4. Domaine de spécialisation..........................................................................................5 5. Architecture des formations pédagogiques ................................................................6 6. Relations de l’ENI avec les entreprises et les organismes .........................................8 7. Partenariat au niveau international...........................................................................10 8. Débouchés professionnels avec des diplômés..........................................................11 9. Ressources humaines................................................................................................14 Chapitre 2. DESCRIPTION DU PROJET ...........................................................................15 1. Formulation ..............................................................................................................15 2. Objectif et besoins d’utilisateur................................................................................15 2.1. Objectif..................................................................................................................15 2.2. Besoins d’utilisateur ..............................................................................................15 3. Moyens nécessaires à la réalisation du projet...........................................................15 3.1. Moyens humains....................................................................................................15 3.2. Moyens matériels...................................................................................................15 3.3. Moyens logiciels....................................................................................................16 4. Résultats attendus .....................................................................................................16 PARTIE II. ANALYSE ET CONCEPTION Chapitre 3. ANALYSE PREALABLE.................................................................................17 1. Analyse de l’existant ................................................................................................17
  • 8. IV 1.1. Organisation actuelle .............................................................................................17 1.2. Moyens matériels et logiciels ................................................................................18 2. Critique de l’existant ................................................................................................19 2.1. Proposition des solutions....................................................................................19 3. Conception avant-projet ...........................................................................................20 3.1. Méthode de conception.......................................................................................20 3.2. Outil de modélisation .........................................................................................23 3.3. SGBD .................................................................................................................24 3.4. Langage de programmation................................................................................26 3.5. Framework utilisés .............................................................................................27 3.6. Environnement de développement .....................................................................31 Chapitre 4. ANALYSE CONCEPTUELLE.........................................................................34 1. Dictionnaire des données..........................................................................................34 2. Règles de gestion......................................................................................................35 3. Représentation et spécification des besoins .............................................................35 3.1. Diagrammes de cas d’utilisation ...........................................................................35 3.2. Priorisation des cas d’utilisations ..........................................................................38 3.3. Description textuelle de certains cas d’utilisation.................................................38 3.4. Diagrammes de séquence système pour les cas d’utilisation ................................40 4. Modélisation du domaine .........................................................................................43 Chapitre 5. CONCEPTION DETAILLEE ...........................................................................45 1. Architecture du système ...........................................................................................45 2. Diagramme de séquence de conception ...................................................................45 3. Diagramme de classe de conception pour chaque cas d’utilisation .........................48 4. Diagramme de classe de conception global..............................................................50 5. Diagramme de paquetages........................................................................................51 6. Diagramme de déploiement......................................................................................52 PARTIE III. REALISATION Chapitre 6. MISE EN PLACE DE L’ENVIRONNEMENT DE DEVELOPPEMENT ...48 1. Installation et configuration des outils .....................................................................48 1.1. Installation de Visual Paradigm..........................................................................48 1.2. Installation et configuration de xampp ...............................................................50 1.3. Installation et configuration de l’IDE Spring Tool Suite v4 ..............................52
  • 9. V 1.4. Architecture de l’application ..............................................................................55 Chapitre 7. DEVELOPPEMENT DE L’APPLICATION....................................................58 1. Création de la base de données.................................................................................58 2. Codage de l’application............................................................................................65 3. Présentation de l’application ....................................................................................79 CONCLUSION ET PERSPECTIVES .....................................................................................84 REFERENCES BIBLIOGRAPHIQUES .................................................................................IX REFERENCES WEBOGRAPHIQUES .................................................................................... X GLOSSAIRE ............................................................................................................................XI ANNEXES ..............................................................................................................................XII TABLE DE MATIERES ........................................................................................................XIII RESUME............................................................................................................................... XVI ABSTRACT.......................................................................................................................... XVI
  • 10. VI REMECIEMENTS Je tiens particulièrement à remercier :  Monsieur RAFAMANTANANTSOA Fontaine, Professeur à l’Université de Fianarantsoa, Président de l’Université de Fianarantsoa, pour la bonne organisation de l’année universitaire ;  Monsieur RAMAMONJISOA Bertin Olivier Andriantiana, Professeur Titulaire à l’Université de Fianarantsoa, Directeur de l’Ecole Nationale d’Informatique, pour tous ses efforts à garder à tout prix l’honneur de l’Ecole en tant que pépinière des élites informaticiennes malgaches.  Monsieur RALAIVAO Jean Christian, Responsable de Parcours « Génie Logiciel et Base de Données », en tant qu’encadreur pédagogique.  Monsieur GILANTE Gesazafy, Responsable de Parcours « Informatique Générale » en tant qu’encadreur professionnel  Monsieur RABETAFIKA Louis Haja, Chef du département de la formation théorique de Ecole Nationale d’Informatique pour son agréable accueil et précieux conseils.  Monsieur ANDRIAMAMPANDRY Ranaivoson Tina et Madame RAMANITRA Rosa, secrétaires de la mention Informatique à l’Ecole Nationale d’Informatique pour leur agréable accueil. Je profite de cette occasion pour remercier :  Les membres du jury, tous les enseignants de l’Ecole Nationale d’Informatique, pour m’avoir enseigné et donné des cours intéressants.  L’ensemble du personnel administrative et technique de l’Ecole Nationale d’Informatique, pour leur aimable collaboration et leurs diverses contributions,  Ma famille et à tous ceux qui ont participé à la réalisation de ce stage, pour leur soutien et leur aide.
  • 11. VII LISTE DES FIGURES Figure 1: Organigramme de l’Ecole Nationale d’Informatique. ................................................4 Figure 2: Diagramme de flux de la société...............................................................................18 Figure 3: Caractéristiques de J2EE...........................................................................................27 Figure 4: Caractéristiques de Spring Boot................................................................................29 Figure 5: Caractéristiques de Hibernate. ..................................................................................29 Figure 6; Caractéristiques de JAVA. ........................................................................................31 Figure 7: Diagramme de cas d’utilisation globale....................................................................38 Figure 8: Diagramme de séquence pour le cas d’utilisation « s’authentifier ». .......................40 Figure 9: Diagramme de séquence pour le cas d’utilisation « ajouter service ». .....................41 Figure 10: Diagramme de séquence pour le cas d’utilisation « modifier service ». ................41 Figure 11: Diagramme de séquence pour le cas d’utilisation « supprimer service ». ..............42 Figure 12: Diagramme de séquence pour le cas d’utilisation « gérer calendrier ». .................43 Figure 13: Modèle de domaine.................................................................................................44 Figure 14: modèle MVC...........................................................................................................45 Figure 15: Diagramme de séquence conception pour le cas d’utilisation « s’authentifier »....46 Figure 16: Diagramme de séquence conception pour le cas d’utilisation « Ajouter service ». 46 Figure 17: Diagramme de séquence conception pour le cas d’utilisation « Modifier service ». ..................................................................................................................................................47 Figure 18: Diagramme de séquence conception pour le cas d’utilisation « supprimer service ». ..................................................................................................................................................48 Figure 19: Diagramme de classe conception « s’authentifier ». ..............................................48 Figure 20: Diagramme de classe conception « gérer étudiant »...............................................49 Figure 21: Diagramme de classe conception « gérer enseignant ». .........................................49 Figure 22: Diagramme de classe conception « gérer jury ». ....................................................49 Figure 23: Diagramme de classe conception « gérer calendrier »............................................50 Figure 24: Diagramme de classe conception globale. ..............................................................51 Figure 25: Diagramme de paquetage........................................................................................52 Figure 26: Diagramme de déploiement. ...................................................................................53 Figure 27: Installation de Visual Paradigm. .............................................................................48 Figure 28: Installation de Visual Paradigm setup.....................................................................49 Figure 29: Fin de réglage de l'installation de Visual Paradigm................................................49 Figure 30: Fin de l'installation de Visual Paradigm. ................................................................50 Figure 31: Début de l’installation de XAMPP. ........................................................................50 Figure 32: Fin de l’installation de XAMPP..............................................................................51 Figure 33: Configuration de l’installation de XAMPP.............................................................51 Figure 34: Interface du control panel de XAMPP....................................................................52 Figure 35: Installation de JDK. ................................................................................................53 Figure 36: Progression de l'installation de JAVA. ...................................................................53 Figure 37: Configuration de l'installation de JRE. ...................................................................54 Figure 38: Fin de l'installation de JAVA SE. ...........................................................................54 Figure 39: Dossier d'installation de Spring Tool Suite.............................................................55
  • 12. VII I Figure 40: Lancement de Spring Tool Suite.............................................................................55 Figure 41: Architecture de l’application...................................................................................56 Figure 42: Architecture de l'application partie Backend. .........................................................57 Figure 43: Architecture de l'application partie Frontend..........................................................57 Figure 44: Interface de PgAdmin. ............................................................................................58 Figure 45: Demande de mot de passe d'authentification de PgAdmin4. ..................................58 Figure 46: Authentification du PgAdmin.................................................................................59 Figure 47: Interface d'option de création de base de données. .................................................59 Figure 48; Création de la base de données « gestionapi »........................................................60 Figure 49: Création de la table « jury ». ...................................................................................61 Figure 50: Création de la table « étudiant ». ............................................................................61 Figure 51: Création de la table « enseignant ». ........................................................................62 Figure 52: Création de la table « theme ».................................................................................62 Figure 53: Création de la table « niveau »................................................................................62 Figure 54: Création de la table « parcours ».............................................................................63 Figure 55: Création de la table « etablissement ».....................................................................63 Figure 56: Création de la table « annee ». ................................................................................63 Figure 57: Création de la table « service ». ..............................................................................64 Figure 58: Création de la table « utilisateur ». .........................................................................64 Figure 59: Création de la table « calendrier ». .........................................................................65 Figure 60: Code du modèle d'une table « theme ». ..................................................................66 Figure 61: Code de « repository annee »..................................................................................67 Figure 62: Code liste de table « jury ». ....................................................................................67 Figure 63: Code pour créer un jury. .........................................................................................67 Figure 64: Code de modification du jury. ................................................................................68 Figure 65: Code de suppression du jury. ..................................................................................68 Figure 66: Code d’exécution de partie Backend. .....................................................................68 Figure 67: Création de la table jury partie affichage. ...............................................................69 Figure 68: Code de service de table jury. .................................................................................70 Figure 69: Code de création de lien de table jury.....................................................................71 Figure 70: Code de routing module de création du jury...........................................................72 Figure 71: Code de module de création de jury. ......................................................................72 Figure 72: Code de component généré automatiquement. .......................................................73 Figure 73: Code component de création de jury. .....................................................................74 Figure 74: Code html de l'authentification de l'application......................................................75 Figure 75: Code html de l'accueil de l'application. ..................................................................76 Figure 76: Code html du jury ...................................................................................................77 Figure 77: Code html de l'étudiant. ..........................................................................................78 Figure 78: Code html de l'enseignant. ......................................................................................79 Figure 79: Authentification. .....................................................................................................80 Figure 80: Page d’accueil. ........................................................................................................81 Figure 81: Interface du menu jury. ...........................................................................................81 Figure 82: Interface du menu étudiant......................................................................................82 Figure 83: Interface du menu enseignant. ................................................................................82
  • 13. IX Figure 84: Interface du menu calendrier ..................................................................................83 Figure 85: Procès-verbal..........................................................................................................XII
  • 14. X LISTE DES TABLEAUX Tableau 1: Organisation du système de formation pédagogique de l’Ecole. .............................5 Tableau 2: Architecture des études correspondant au système LMD. .......................................7 Tableau 3: Liste des formations existantes à l’ENI....................................................................8 Tableau 4: Débouchés professionnels éventuels des diplômés. ...............................................13 Tableau 5: Caractéristiques de l’ordinateur utilisé...................................................................16 Tableau 6: Caractéristiques des logiciels utilisés. ....................................................................16 Tableau 7: les moyens matériels...............................................................................................18 Tableau 8: les moyens logiciels................................................................................................18 Tableau 9: Avantages et inconvénients des solutions proposées. ............................................19 Tableau 10: Comparaison entre MERISE et XP. .....................................................................20 Tableau 11: comparaison entre Win ‘Design et Visual Paradigm. ..........................................23 Tableau 12: Comparaison des SGBD. ......................................................................................25 Tableau 13: Comparaison entre PHP et J2EE. .........................................................................26 Tableau 14: Comparaison entre Spring Boot, Hibernate et Struts. ..........................................27 Tableau 15: Comparaison entre AngularJS et ReactJS. ...........................................................30 Tableau 16: Comparaison entre Spring Tool Suite et NetBeans. .............................................31 Tableau 17: Comparaison entre VS Code et Sublime Text......................................................32 Tableau 18: Dictionnaire des données......................................................................................34 Tableau 19: Besoins fonctionnels des acteurs. .........................................................................36 Tableau 20: priorisation des cas d’utilisations. ........................................................................38
  • 15. XI NOMENCLATURE API Application Programming Interface DB2 DataBase 2 ENI Ecole Nationale d’informatique GV Grille d’évaluation J2EE Java 2 Enterprise Edition JVM Java Virtual Machine HDD Hard Disk Drive HTTP HyperText Transfert Protocol HTML HyperText Markup Language MESupRES Ministère de l’Enseignement Supérieur et de la REcherche Scientifique MVC Modèle-Vue-Contrôleur MySQL My Structured Query Language ORM Object Relational Mapping PostgreSQL Postgres Structured Query Language PV Procès-verbal RG Règle de Gestion Sap DB Sap DataBase SGBD Système de Gestion de Base de Données Spring JMS Spring Java Message Service Spring WS Spring Web Service STS Spring Tool Suite SQL Structured Query Language UML Unified Modeling Language UP Unified Process
  • 16. XII XAMPP X Apache, MySQL, PHP and Perl
  • 17. 1 INTRODUCTION GENERALE Dans le cadre de la formation à l’Ecole Nationale d’Informatique, les étudiants ont été amenés à finaliser leur formation de Licence professionnelle par un stage de trois mois. Ce stage permet de confronter l’enseignement théorique reçu pendant les cours et les connaissances acquises lors des précédentes expériences professionnels et des problématiques plus générales propres au fonctionnement d’une organisation. Pour notre part, le stage de fin d’études s’est déroulé au sein de l’Ecole Nationale d’Informatique même, plus précisément dans le bureau du Responsable de Mention. L’objectif de ce stage est la conception et la réalisation d’une application pour la gestion de la soutenance. Pour ce faire, on utilise une méthode pour la conception, un langage pour le développement de l’application et le SGBD pour la base de données. Ces éléments qui peuvent paraîtres évidents d’un point de vue théorique, sont en pratique, difficiles à mettre en place et à exploiter. Ce projet a donc débuté par une phase de compréhension et de formulation pour ensuite s’appuyer sur l’analyse. Cette méthodologie a été dictée par des contraintes et des objectifs de réalisation. La conception du système s’est ensuite faite, formellement, sur la base des résultats de l’analyse validée par les personnels du Responsable de Mention. Ensuite la réalisation s’est déroulée comme prévu. Ce mémoire propose, dans la première partie, la présentation du cadre de stage en présentant l’Ecole Nationale d’Informatique. Ensuite, dans la seconde partie, l’analyse préalable composée de l’analyse de l’existant suivi de la conception avant-projet et l’analyse conceptuelle en effectuant la synthèse des besoins suivant les étapes de la méthode utilisée. Et enfin, dans la dernière partie, la réalisation tout en exposant la présentation, suivi ensuite du développement.
  • 19. 2 Chapitre 1. Présentation de l’Ecole Nationale d’Informatique 1. Information d’ordre général L’Ecole Nationale d’Informatique, en abrégé ENI, est un établissement d’enseignement supérieur rattaché académiquement et administrativement à l’Université de Fianarantsoa. Le siège de l’Ecole se trouve à Tanambao- Antaninarenina à Fianarantsoa. L’adresse pour la prise de contact avec l’Ecole est la suivante : Ecole Nationale d’Informatique (ENI) Tanambao, Fianarantsoa. Le numéro de sa boîte postale est 1487 avec le code postal 301. Téléphone : 020 75 508 01. Son adresse électronique est la suivante : eni@univ-fianar.mg. Site Web : www.univ-fianar.mg/eni 2. Missions et historique L’ENI se positionne sur l’échiquier socio-éducatif malgache comme étant le plus puissant secteur de diffusion et de vulgarisation des connaissances et des technologies informatiques. Cette Ecole Supérieure peut être considérée aujourd’hui comme la vitrine et la pépinière des élites informaticiennes du pays. L’Ecole s’est constituée de façon progressive au sein du Centre Universitaire Régional (CUR) de Fianarantsoa. De façon formelle, l’ENI était constituée et créée au sein du (CUR) par le décret N° 83- 185 du 24 Mai 1983, comme étant le seul établissement Universitaire Professionnalisé au niveau national, destiné à former des techniciens et des Ingénieurs de haut niveau, aptes à répondre aux besoins et exigences d’Informatisation des entreprises, des sociétés et des organes implantés à Madagascar. L’ENI a pour conséquent pour mission de former des spécialistes informaticiens compétents et opérationnels de différents niveaux notamment :  En fournissant à des étudiants des connaissances de base en informatique ;  En leur transmettant le savoir-faire requis, à travers la professionnalisation des formations dispensées et en essayant une meilleure adéquation des formations par rapport aux besoins évolutifs des sociétés et des entreprises.  En initiant les étudiants aux activités de recherche dans les différents domaines des Technologies de l’information et de la communication (TIC). L’implantation de cette Ecole Supérieure de technologie de pointe dans un pays en développement et dans une Province (ou Faritany) à tissu économique et industriel faiblement développé ne l’a pourtant pas défavorisée, ni empêchée de former des spécialistes informaticiens de bon niveau, qui sont recherchés par les entreprises, les sociétés et les organismes publics et privés sur le marché de l’emploi.
  • 20. 3 La filière de formation d’Analystes Programmeurs a été mise en place à l’Ecole en 1983, et a été gelée par la suite en 1996, tandis que la filière de formation d’ingénieurs a été ouverte à l’Ecole en 1986. Dans le cadre du Programme de renforcement en l’Enseignement Supérieur (PRESUP), la filière de formation des Techniciens Supérieurs en Maintenance des Systèmes des informatiques a été mise en place en 1986 grâce à l’appui matériel et financier de la Mission Française de coopération auprès de l’Ambassade de France à Madagascar. Une formation pour l’obtention de la certification CCNA et / ou NETWORK +.appelée« CISCO Networking Academy » a été créée à l’Ecole en 2002-2003 grâce au partenariat avec CISCO SYSTEM et l’Ecole Supérieure Polytechnique d’Antananarivo (ESPA). Cependant, cette formation n’avait pas duré longtemps. Une formation de troisième cycle a été ouverte à l’Ecole a été ouverte à l’Ecole depuis l’année 2003 – 2004 grâce à la coopération académique et scientifique entre l’Université de Fianarantsoa pour le compte de l’ENI et l’Université Paul Sabatier de Toulouse (UPST). Cette filière avait pour objectif de former certains étudiants à la recherche dans les différents domaines de l’Informatique, et notamment pour préparer la relève des Enseignants-Chercheurs qui étaient en poste. Pendant l’année 2007-2008, la formation en vue de l’obtention du diplôme de Licence Professionnelle en Informatique a été mise en place à l’ENI avec les deux options suivantes de formation : - Génie Logiciel et base de Données - Administration des Système et réseaux. La mise en place à l’Ecole de ces deux options de formation devait répondre au besoin de basculement vers le système Licence – Master – Doctorat (LMD). Mais la filière de formation des Techniciens Supérieurs en Maintenance des Systèmes Informatiques a été gelée en 2009. En vue de surmonter les difficultés de limitation de l’effectif des étudiants accueillis à l’Ecole, notamment à cause du manque d’infrastructures, un système de « Formation Hybride » a été mise en place à partir de l’année 2010. Il s’agit en effet d’un système de formation semi présentielle et à distance avec l’utilisation de la visioconférence pour la formation à distance. Le système de formation hybride a été ainsi créé à Fianarantsoa ainsi qu’Université de Toliara. 3. Organigramme institutionnel de l’ENI Cet organigramme de l’Ecole est inspiré des dispositions du décret N° 83-185 du 23 Mai 1983.
  • 21. 4 L’ENI est administrée par un conseil d’Ecole, et dirigée par un directeur nommé par un décret adopté en conseil des Ministres. Le Collège des enseignants regroupant tous les enseignants-chercheurs de l’Ecole est chargé de résoudre les problèmes liés à l’organisation pédagogique des enseignements ainsi que à l’élaboration des emplois du temps. Le Conseil Scientifique propose les orientations pédagogiques et scientifiques de l’établissement, en tenant compte notamment de l’évolution du marché de travail et de l’adéquation des formations dispensées par rapport aux besoins des entreprises. 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. La figure 1 présente l’organigramme actuel de l’Ecole. Figure 1: Organigramme de l’Ecole Nationale d’Informatique. Sur cet organigramme, l’Ecole placée sous la tutelle académique et administrative de l’Université de Fianarantsoa, et dirigée par un Directeur élu par les Enseignants – Chercheurs permanents de l’Etablissement et nommé par un décret pris en Conseil des ministres pour un mandat de 3 ans.
  • 22. 5 Le Conseil de l’Ecole est l’organe délibérant de l’Ecole. Le Collège des Enseignants propose et coordonne les programmes d’activités pédagogiques. Le Conseil scientifique coordonne les programmes de recherche à mettre en œuvre à l’Ecole. Le Secrétariat principal coordonne les activités des services administratifs (Scolarité, Comptabilité, et Intendance). Conformément aux textes en vigueur régissant les Etablissements malgaches d’Enseignement Supérieur, qui sont barrés sur le système LMD, les Départements de Formation pédagogique ont été ainsi remplacés par des Mentions et des parcours. Et les chefs des Départements ont été ainsi remplacés par des responsables des mentions et les responsables des parcours. Un administrateur des Réseaux et Systèmes gère le système d’information de l’Ecole et celui de l’Université. 4. Domaine de spécialisation Les activités de formation et de recherche organisées à l’ENI portent sur les domaines suivants :  Génie logiciel et Base de Données ;  Administration des Systèmes et Réseaux ;  Informatique Générale  Modélisation informatique et mathématique des Systèmes complexes. D’une manière plus générale, les programmes des formations sont basés sur l’informatique de gestion et sur l’informatique des Systèmes et Réseaux. Et les modules de formation intègrent aussi bien des éléments d’Informatique fondamentale que des éléments d’Informatique appliquée. Le tableau 1 décrit l’organisation du système de formation pédagogique de l’Ecole. Tableau 1: Organisation du système de formation pédagogique de l’Ecole.
  • 23. 6 5. Architecture des formations pédagogiques Le recrutement des étudiants à l’ENI se fait uniquement par voie de concours d’envergure nationale en première année. Les offres de formation organisées à l’Ecole ont été validées par la Commission Nationale d’Habilitation (CNH) auprès du Ministères de l’Enseignement Supérieur et de la Recherche Scientifique selon les dispositions de l’Arrêté N°31.174/2012-MENS en date du 05 Décembre 2012. Au sein de l’ENI, il existe une seule mention (INFORMATIQUE) et trois parcours : o Génie logiciel et Base de Données ; o Administration des Systèmes et Réseaux ; o Informatique Générale L’architecture des études à trois niveaux conforment au système Licence- MasterDoctoral (LMD) permet les comparaisons et les équivalences académiques des diplômes au niveau international.  L = Licence (Bac + 3) = L1, L2, L3 = 6 semestres S1 à S6  M = Master (Bac + 5) = M1, M2 = 4 semestres S7 à S10 Le diplôme de licence est obtenu en 3 années des études après Baccalauréat. Et le diplôme de Master est obtenu en 2 ans après obtenu du diplôme de LICENCE. Le MASTER PROFESSIONNEL est un diplôme destiné à la recherche emploi au terme des études. Le MASTER RECHERCHE est un diplôme qui remplace l’ancien Diplôme d’Etudes Approfondies (DEA), et qui permet de s’inscrire directement dans une Ecole Doctorale.au terme des études.  D = Doctorat (Bac +8) Le Doctorat est un diplôme qu’on peut obtenir en 3 ans après l’obtention du diplôme de MASTER RECHERCHE. Le tableau 2 présente l’architecture des études correspondant au système LMD
  • 24. 7 DTS : Diplôme de Téchnicien Supérieur BTS : Brevet de Téchnicien Supérieur DUT : Diplôme Universitaire de Téchnicien La licence peut avoir une vocation générale ou professionnelle. Le master peut avoir une vocation professionnelle ou de recherche. Tableau 2: Architecture des études correspondant au système LMD.
  • 25. 8 Tableau 3: Liste des formations existantes à l’ENI. L’accès en première année de MASTER se fait automatiquement pour les étudiants de l’Ecole qui ont obtenu le diplôme de Licence Professionnelle. Le Master Recherche permet à son titulaire de poursuivre directement des études en doctorat et de s’inscrire directement dans une Ecole Doctorale. Les Ecoles Doctorales jouissent d’une autonomie de gestion par rapport aux Etablissements de formation universitaire. Il convient de signaler que par arrêté ministériel N° 21.626/2012 – MESupRES publié le 9 Août 2012 par la Commission National d’habilitation (CNH), l’Ecole Doctorale « Modélisation – Informatique » a été habilitée pour l’Université de Fianarantsoa. Depuis l’année universitaire 2010-2011, l’ENI s’est mise à organiser des formations hybrides en informatique dans les différentes régions (Fianarantsoa, Toliara) en raison de l’insuffisance de la capacité d’accueil des infrastructures logistiques. En effet, le système de formation hybride semi - présentielle utilise la visioconférence pour la formation à distance. Bien qu’il n’existe pas encore au niveau international de reconnaissance écrite et formelle des diplômes délivrés par l’ENI, les étudiants diplômés de l’Ecole sont plutôt bien accueillis dans les instituts universitaires étrangères (CANADA, Suisse, France…) 6. Relations de l’ENI avec les entreprises et les organismes Les stages effectués chaque année par les étudiants mettent l’Ecole en rapport permanent avec plus de 300 entreprises et organismes publics, semi-publics et privés, nationaux et internationaux.
  • 26. 9 L’Ecole dispose ainsi d’un réseau d’entreprises, de sociétés et d’organismes publics et privés qui sont des partenaires par l’accueil en stage de ses étudiants, et éventuellement pour le recrutement après l’obtention des diplômes par ces derniers. Les compétences que l’Ecole cherche à développer chez ses étudiants sont l’adaptabilité, le sens de la responsabilité, du travail en équipe, le goût de l’expérimentation et l’innovation. En effet, la vocation de l’ENI est de former des techniciens supérieurs de niveau LICENCE et des ingénieurs de type généraliste de niveau MASTER avec des qualités scientifiques, techniques et humaines reconnues, capables d’évoluer professionnellement dans des secteurs d’activité variés intégrant l’informatique. Les stages en milieu professionnel permettent de favoriser une meilleure adéquation entre les formations à l’Ecole et les besoins évolutifs du marché de l’emploi. Les principaux débouchés professionnels des diplômés de l’Ecole concernent les domaines suivants :  L’informatique de gestion d’entreprise  Les technologies de l’information et de la communication (TIC)  La sécurité informatique des réseaux  L’administration des réseaux et des systèmes  Les services bancaires et financiers, notamment le Mobile Banking  Les télécommunications et la téléphonie mobile  Les Big Data  Le commerce, la vente et l’achat, le Marketing  L’ingénierie informatique appliquée  L’écologie et le développement durable Parmi les sociétés, entreprises et organismes partenaires de l’Ecole, on peut citer : ACCENTURE Mauritius, Air Madagascar, Ambre Associates, Airtel, Agence Universitaire de la Francophonie ( AUF) , B2B, Banque Centrale, BFG-SG, BIANCO, BLUELINE, CNaPS, Bureau National de Gestion des Risques et des Catastrophes (BNGRC), CEDII-Fianarantsoa, Data Consulting, Central Test, Centre National Antiacridien, CNRE, CHU, CNRIT, COLAS, Direction Générale des Douanes, DLC, DTS/Moov, FID, FTM, GNOSYS, IBONIA, INGENOSIA, INSTAT, IOGA, JIRAMA, JOUVE, MADADEV, MAEP, MEF, MEN, MESupRES, MFB, MIC, MNINTER, Min des postes/Télécommunications et du Développement Numérique, NEOV MAD, Ny Havana, Madagascar National Parks, OMNITEC, ORANGE, OTME, PRACCESS, QMM Fort-Dauphin, SMMC, SNEDADRS Antsirabe, Sénat, Société d’Exploitation du Port de Toamasina (SEPT), SOFTWELL, Strategy Consulting, TELMA, VIVETEC, Société LAZAN’I BETSILEO, WWF … L’organisation de stage en entreprise continue non seulement à renforcer la professionnalisation des formations dispensées, mais elle continue surtout à accroître de façon exceptionnelle les opportunités d’embauche pour les diplômés de l’Ecole.
  • 27. 10 7. Partenariat au niveau international Entre 1196 et 1999, l’ENI avait bénéficié de l’assistance technique et financière 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) consacré à l’Ecole a notamment porté sur :  Une dotation en logiciels, micro-ordinateurs, équipements de laboratoire de maintenance et de matériels didactiques  La réactualisation des programmes de formation assortie du renouvellement du fonds de la bibliothèque  L’appui à la formation des formateurs  L’affectation à l’Ecole d’Assistants techniques français 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.
  • 28. 11 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é. De même que le statut de l’Ecole devrait permettre de renforcer la position concurrentielle de la Grande Ile sir l’orbite de la modélisation grâce au développement des nouvelles technologies. 8. Débouchés professionnels avec des diplômés Le chômage des jeunes diplômés universitaires fait partie des maux qui gangrènent Madagascar. L’environnement socio-politique du pays depuis 2008 jusqu’ à ce jour a fait que le chômage des diplômés est devenu massif par rapport aux établissements de formation supérieure existants. Cependant, les formations proposées par l’Ecole permettent aux diplômés d’être immédiatement opérationnels sur le marché du travail avec la connaissance d’un métier complet lié à l’informatique aux TIC. L’Ecole apporte à ses étudiants un savoir-faire et un savoir-être qui les accompagnent tout au long de leur vie professionnelle. Elle a une vocation professionnalisante. Les diplômés en LICENCE et en MASTER issus de l’ENI peuvent faire carrière dans différents secteurs. L’Ecole bénéficie aujourd’hui de 34 années d’expériences pédagogiques et de reconnaissance auprès des sociétés, des entreprises et des organismes. C’est une Ecole Supérieure de référence en matière informatique. Par conséquent, en raison de fait que l’équipe pédagogique de l’Ecole est expérimentée, les enseignants-chercheurs et les autres formateurs de l’Ecole sont dotés d’une grande expérience dans l’enseignement et dans le milieu professionnel.
  • 29. 12 L’Ecole est fière de collaborer de façon régulière avec un nombre croissant d’entreprises, de sociétés et d’organismes publics et privés à travers les stages des étudiants. Les formations dispensées à l’Ecole sont ainsi orientées vers le besoin et les attentes des entreprises et des sociétés. L’Ecole fournit à ses étudiants de niveau LICENCE et MASTER des compétences professionnelles et métiers indispensables pour les intégrer sur le marché du travail. L’Ecole s’efforce de proposer à ses étudiants une double compétence à la fois technologique et managériale combinant l’informatique de gestion ainsi que l’administration des réseaux et systèmes. 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.
  • 30. 13 Tableau 4: Débouchés professionnels éventuels des diplômés.
  • 31. 14 9. Ressources humaines  Directeur de l’Ecole : Professeur Titulaire RAMAMONJISOA Bertin Olivier  Responsable de Mention : RABETAFIKA Louis Haja  Responsable de Parcours « Génie Logiciel et Base de Données » : Monsieur RALAIVAO Jean Christian  Responsable de Parcours « Administration Systèmes et Réseaux » : Monsieur SIAKA  Responsable de Parcours « Informatique Générale » : Monsieur Gilante GESAZAFY  Nombre d’Enseignants permanents : 13 dont deux (02) Professeurs Titulaires, six (06) Maîtres de Conférences et cinq (05) Assistants d’Enseignement Supérieur et de Recherche  Nombre d’Enseignants vacataires : 10 Personnel Administratif : 23
  • 32. 15 Chapitre 2. DESCRIPTION DU PROJET Après avoir évoqué la présentation de l’Ecole Nationale d’informatique dans le chapitre précédent, nous allons voir la description du projet de façons détaillé : sa formulation, ses objectifs, les moyens en personnel et matériels nécessaires, les besoins des utilisateurs ainsi que les résultats attendus. 1. Formulation Ce stage a été effectué à l’Ecole Nationale d’Informatique au sein du département responsable de mention, Cette partie tienne une grande place dans l’Ecole, qui s’occupe à la fois la gestion du calendrier pédagogique, de la disponibilité des enseignants, du partage des sujets, de l’emploi du temps, du stage ainsi que la gestion de la soutenance. Ces activités sont aussi importantes l’une que l’autre. Mais ce projet ne concerne que la gestion de soutenance, pour suivre et faciliter le contrôle de cette dernière. 2. Objectif et besoins d’utilisateur 2.1. Objectif Le principal objectif du projet est de concevoir et réaliser une application pour la gestion des soutenances. 2.2. Besoins d’utilisateur Les besoins des utilisateurs sont :  Faire une recherche de nom de l’enseignant avec les impétrants ;  Vérification des membres du jury en cas de soutenances en parallèle ;  Etablir automatiquement les calendriers des soutenances ;  Affecter d’une manière équilibrée les impétrants aux enseignants ;  Imprimer le procès-verbal. 3. Moyens nécessaires à la réalisation du projet Pour réaliser un projet, nous avons besoin de quelques moyens : - Moyens humains - Moyens matériels - Moyens logiciels 3.1. Moyens humains - Interlocuteurs en charge du projet : Les services de l’école - Concepteur/développeur : Le stagiaire 3.2. Moyens matériels Le tableau 5 représente les caractéristiques de machine utilisée pour ce projet.
  • 33. 16 Tableau 5: Caractéristiques de l’ordinateur utilisé. Type Processeur Système d’exploitation RAM Disque Dure Ordinateur portable Core i5 Windows 8.1 64bits 8Go 500Go 3.3. Moyens logiciels Pour la bonne réalisation du projet quelques logiciels et outils ont été nécessaire, comme le tableau 6 les représente. Tableau 6: Caractéristiques des logiciels utilisés. N° Type Description Commentaire 1 Logiciel de modélisation Visual Paradigm Pour la modélisation des données 2 Serveur Xampp Pour la gestion de la base de données 3 Système de gestion de base de données PgAdmin v4 Pour l’édition visuel de base de données 4 IDE - Spring Tool Suite (Sts) pour l’Eclipse - Vs Code Pour le développement du projet 4. Résultats attendus A la fin de ce projet, le service au sein du responsable du mention aura une application permettant de visualiser : - les procédures effectués durant la préparation de soutenance - la répartition des salles et les membres de jury - le procès-verbal et la grille d’évaluation - l’équilibre des élèves soutenus des membres du jury avec la variation des fonctions de ces derniers
  • 34. PARTIE II. ANALYSE ET CONCEPTION
  • 35. 17 Chapitre 3. ANALYSE PREALABLE Ce chapitre se repose sur l’analyse de la situation existante de l’Ecole et propose des solutions afin de résoudre le manque lors de la critique de l’existante. 1. Analyse de l’existant L’analyse de l’existant est une étape de compréhension qui est indispensable dans la conception d’un système d’information dans une organisation. Il a pour objectifs de :  Comprendre le système d’information actuel de l’entreprise, et prendre connaissance dans les détails les domaines pour lesquels la société souhaite apporter des améliorations,  Déceler les anomalies, pouvant représenter un réel handicap pour le développement de l’entreprise,  Proposer des améliorations concrètes et réalisables, en se référant aux objectifs de la société et en fixant comme plan de travail le ou les domaines pour lesquels elle souhaite améliorer son revenu. 1.1. Organisation actuelle Actuellement, au sein du responsable de mention, les secrétaires sont en service de tous les enseignants. Ils sont donc soumis au contrôle et au suivi de la soutenance. Au niveau d’obtention de thème, la répartition de la salle et la date de soutenance, les procédures effectués dépendent du niveau des étudiants (les premières années en licence et les premières années en master sont dans le même cas, les deuxièmes années en licences sont différentes, les troisièmes années en licence avec les deuxièmes années en master). Une fois ces informations sont remises aux responsables de mention, ils vont partitionner les membres de jury, cela se fait manuellement avec la vérification de ces derniers. Le calendrier sera rempli avec ces informations en utilisant le Microsoft Word et Excel et sera affiché aux étudiants. Les étudiants commenceront à déposer le livre du rapport avec la grille d’évaluation et le rapport de lecture et pourront faire la soutenance, si non la soutenance sera pour la prochaine rattrapages. A la fin de la soutenance, le procès-verbal saisi et la grille d’évaluation dans la mention seront apportés à la scolarité. Le diagramme de flux est une représentation graphique destinée à présenter la demande de procès-verbal. La figure 2 représente le diagramme de flux actuel dans le service.
  • 36. 18 Figure 2: Diagramme de flux de la société. 1.2. Moyens matériels et logiciels Le tableau 7 représente les moyens matériels pour la réalisation du projet. Tableau 7: les moyens matériels. N° Désignation Caractéristiques Quantité 1 Poste de travail PC CPU AMD E1-120APU 4Go RAM4Go HD500Go Windows7 32bits 1 2 Poste de travail PC CPU AMD E1-120APU 4Go RAM4Go HD500Go Windows10 64bits 1 3 Imprimante HP LaserJet 1320 1 Le tableau 8 suivant illustre les moyens logiciels. Tableau 8: les moyens logiciels.
  • 37. 19 N° Désignation Description 1 Microsoft WORD Pour la saisie des données 2 Microsoft EXCEL Pour la saisie des données 2. Critique de l’existant La critique de l’existant est un moyen qui tente de faire apparaître les défauts et les qualités de ce qui existe déjà. Point fort : Une fois les données conservées, ils sont toujours récupérables. Points faibles : - Inégalité de nombre d’étudiants soutenus des enseignants - Perte du temps pour les traitements de données - Perte de certains fichiers - Difficulté pour une recherche des enseignants et les étudiants soutenus - Occupation de place pour la conservation des fichiers Éventuellement, aucun logiciel n’est destiné à la gestion de soutenance, le service utilise Excel et Word, cela dépend du fichier à traiter. Ce dernier est facile d’utilisation, il traite les calculs et saisie des informations mais il a ses limites quand il s’agit de sérieuses gestions comme la recherche de nombre des étudiants soutenus de chaque enseignants ou comparaison de ces informations. Utiliser Excel et Word n’est pas fiable et entraîne une perte de temps, de données vu le nombre des étudiants. 2.1. Proposition des solutions Pour répondre à la demande du personnel, on a proposé les solutions suivantes : Solution 1 : Concevoir et réaliser une application pour gérer la soutenance Solution 2 : Télécharger une application de gestion de soutenance Solution 3 : Acheter une application de gestion de soutenance Le tableau 9 présente les avantages et les inconvénients des solutions proposées. Tableau 9: Avantages et inconvénients des solutions proposées. Avantages de la solution Inconvénients Solution 1 -Application sur mesure : l’utilisation de l’application répond aux besoins réels de l’utilisateur -Application fiable -Application facile à utiliser -Le développement prend de temps pour la mise en place Solution 2 -Application prête à utiliser -Application gratuite -Besoin de formation pour l’utilisateur Solution 3 -Application prête à utiliser -Difficulté de paiement -Difficulté de la livraison -Mal adaptation parce que cette application est bien foutue
  • 38. 20 La deuxième solution consiste à télécharger un logiciel prêt à utiliser comme « GESTION DES SOUTENANCES » et la troisième solution est d’acheter un logiciel mais qui ne répond pas l’intégralité des besoins réels de la société. Donc, la solution 1 de développer une application sur mesure répond aux besoins réels de la société sera bénéfique. 3. Conception avant-projet Pour concevoir et réaliser une application, on a besoin d’utiliser une méthode de conception, un langage de développement, un SGBD et un outil de modélisation. 3.1. Méthode de conception Il existe beaucoup de méthode de conception telle que :  Les méthodes classiques comme le MERISE  Les méthodes d’agiles comme le XP Avant de faire un choix, comparons deux méthodes différentes. Le tableau 10 représente la comparaison entre merise et XP. Tableau 10: Comparaison entre MERISE et XP. MERISE XP Méthode d’approche Séquence de spécification, conception, réalisation, validation Itération, incrémentation Avantage Sépare clairement les données et le traitement S’intéresse à la satisfaction de client Inconvénient Changement très dure en cas de modification de spécification Documentation très réduites Choix et justification On a choisi la méthode XP parce qu’elle satisfait les besoins du client, ainsi que les petits ou moyens projets. On associera cette méthode avec la notation UML. Présentation de XP Extrem programming XP L’eXtrem Programming appartient à la famille de la méthode d’agile. C’est un ensemble de pratiques qui couvre une grande partie des activités de la réalisation d’un logiciel :  Planification  Organisation de l’équipe de développement  Echanges avec le client  Programmation
  • 39. 21 XP est une méthode destinée au petit projet dont le nombre de participant est réduit. Il considère que la satisfaction de 4 variables va contribuer au développement efficace d’un produit fonctionnel. Ces variables sont :  Le coût : le développement se fait par petits modules, cela permet de suivre de près les dépenses pour ne pas dépasser les budgets.  Le temps : le développement par modules permet de suivre l’évolution du développement en fonction du temps passé.  La qualité : pour XP, la qualité doit toujours être maximum. C’est la seule variable qui ne peut pas varier.  L’étendue : le nombre de fonctionnalité va dépendre du temps et du budget à disposition. C’est le client qui va décider de ce qui sera développé ou pas afin de garder la plus grande qualité possible, en restant dans les délais et les budgets. Afin de satisfaire les quatre (4) variables, XP met en évidence 4 valeurs essentielles au travers de la méthode : la communication, la simplicité, le feed-back et le courage.  La communication : c’est le moyen fondamental pour éviter les problèmes. Les pratiques que préconise l’XP imposent une communication intense. Les tests, la programmation en binôme et le jeu du planning obligent les développeurs, et les clients à communiquer.  La simplicité : la façon la plus simple d’arriver au résultat est la meilleure. Anticiper les extensions futures est une perte de temps. Une application simple sera plus facile à faire évoluer.  Le feedback : le retour d’information est primordial pour le programmeur et le client. Les tests unitaires indiquent si le code fonctionne. Les tests fonctionnels donnent l’avancement du projet. Les livraisons fréquentes permettent de tester les fonctionnalités rapidement.  Le courage : certains changements demandent beaucoup de courage. Il faut parfois changer l’architecture d’un projet, jeter du code pou en produire un meilleur ou essayer une nouvelle technique. Le courage permet de sortir d’une situation inadaptée. C’est difficile, mais la simplicité, le feedback et la communication rendent les taches accessibles. Unified Modeling Language (UML) UML est une notation permettant de modéliser un problème de façon standard. C’est un langage qui permet de représenter des modèles, mais il ne définit pas le processus d’élaboration de ces modèles. Cependant, dans le cadre de la modélisation application informatique, les auteurs d’UML préconisent d’utiliser une démarche.  Itérative et incrémentale L’idée est simple : pour modéliser (comprendre et représenter) un système complexe, il vaut mieux s’y prendre en plusieurs fois, en affirmant son analyse par étapes. Cette démarche devrait aussi s’appliquer au cycle de développement dans son ensemble, en favorisant le prototype. Le but est de mieux maîtriser la part d’inconnu et d’incertitudes qui caractérisent les systèmes complexes.
  • 40. 22  Guidée par les besoins des utilisateurs du système Ce sont les utilisateurs qui guident la définition des modèles : le périmètre du système à modéliser est défini par les besoins de ses utilisateurs. Le but du système à modéliser est de répondre aux besoins de ses utilisateurs (les utilisateurs sont les clients du système). A chaque itération de la phase de conception et de réalisation, on veille à la prise en compte des besoins des utilisateurs. A chaque itération de la phase de test, on vérifie que les besoins des utilisateurs sont satisfaits.  Centrée sur l’architecture logicielle Une architecture adaptée est la clé de voûte du succès d’un développement. Elle décrit des choix stratégiques qui déterminent en grande partie les qualités du logiciel (adaptabilité, performance, fiabilité…) D’après les auteurs d’UML, un processus de développement qui possède ces qualités devrait favoriser la réussite d’un projet. La modélisation consiste à créer une représentation simplifiée d’un problème : le modèle. Grâce au modèle, il est possible de représenter simplement un problème, un concept et le simuler. La modélisation comporte deux composantes :  L’analyse, c’est-à-dire l’étude du problème  La conception, soit la mise au point d’une solution au problème Le modèle constitue ainsi une représentation possible du système pour un point de vue donné. UML fournit un moyen astucieux permettant de représenter diverses projections d’une même représentation grâce aux vues. Une vue est constituée d’un ou plusieurs diagrammes comme :  Le diagramme de cas d’utilisation Le diagramme de cas d’utilisation permet de représenter le fonctionnement du système vis-à- vis de l’utilisateur, c’est donc une vue du système dans son environnement extérieur. Un cas d’utilisation est une manière spécifique d’utiliser un système. C’est l’image d’une fonctionnalité du système, déclenchée en réponse à la stimulation d’un acteur externe. 10. Les diagrammes des séquences Les diagrammes de séquences permettent de représenter la succession chronologique des opérations réalisées par un acteur et la réponse du système, ils font passer d’un objet à un autre pour représenter un scénario.  Les diagrammes de classes Les diagrammes de classes représentent les entités significatives du domaine. Ils expriment aussi de manière générale la structure statique d’un système, en termes de classes et de relations entre ces classes. Une classe permet de décrire un ensemble d’objets (attributs et comportements), tandis qu’une relation ou association permet de faire apparaitre des liens entre ces objets. Le diagramme de classe est un modèle permettant de décrire de manière abstraite et générale les liens entre objets.  Le diagramme de paquetage Dans le diagramme de paquetage, on trouve des paquets qui sont des éléments d’organisation des modèles du fait que, non seulement, ils regroupent les éléments de modélisation, selon des critères purement logiques mais aussi ils permettent d’encapsuler des éléments de modélisation car ils possèdent une interface. Après, ils permettent de structurer un système en catégories (vue
  • 41. 23 logique) et sous-système (vue des composants). Ils servent aussi de « briques » de base dans la construction d’une architecture. Et surtout, ils représentent le bon niveau de granularité pour la réutilisation. Enfin, les paquetages sont aussi des espaces de noms.  Le diagramme de déploiement Le diagramme de déploiement décrit la disposition physique des ressources matérielles qui composent le système et montre la répartition des composants sur ces matériels. Chaque ressource étant matérialisée par un nœud, le diagramme de déploiement précise comment les composants sont repartis sur les nœuds et quelles sont les connexions entre les composants et les nœuds. 3.2.Outil de modélisation Un outil de modélisation est utilisé pour ne pas gaspiller trop de temps sur la représentation graphique de la modélisation. Le tableau 11 compare l’outil Win ’Design et l’outil Visual Paradigm. Tableau 11: comparaison entre Win ‘Design et Visual Paradigm. Outil Avantages Inconvénients Win ‘Design Destiner au Merise, facile à utiliser Manque de fonctionnalité pour représenter UML Visual Paradigm Destiner à la notation UML Un peu difficile à utiliser, nécessite un temps d’apprentissage Choix et justification On a choisi Visual Paradigm parce qu’il s’adapte bien à la notation UML qu’on va utiliser. Présentation de Visual Paradigm Le logiciel présenté dans cette partie était déjà connu des étudiants qui ont suivi le cursus en informatique de gestion durant le cycle 2009-2012, car plusieurs professeurs ont eu recours à son utilisation pour pratiquer différents exercices dans diverses unités d’enseignements. La présentation de Visual Paradigm n’a pas été placée dans la partie théorique, car il n’expose ainsi pas des connaissances supplémentaires acquises, mais sert exclusivement à décrire sommairement l’outil et son interface au lecteur. Ce dernier aura alors une meilleure compréhension des différentes explications et références faites dans les parties théoriques et pratiques. Visual Paradigm est un éditeur qui propose une suite logicielle, constituée des outils suivants : Visual Paradigm For UML : permet la création des diagrammes UML et des modèles qui en sont à l’origine. Ceux-ci peuvent alors générer du code dans un langage de programmation déterminé. Il propose également la création d’autres types de diagrammes, comme celui qui permet la modélisation des bases de données pouvant, lui aussi, générer des canevas d’applications basés sur des Framework et Pattern mais en plus, générer du code SQL qu’il peut ensuite déployer automatiquement dans différents environnements.
  • 42. 24 Business Process Visual Architect : permet la modélisation de processus normalisés par le langage BPMN, ainsi que la génération des modèles en processus exécutables. Agilian : offre les fonctionnalités nécessaires pour gérer l’architecture de l’entreprise autour des processus, et le développement agile de logiciels. Il permet la réalisation de maquettes, la gestion des exigences, le travail collaboratif, la gestion des règles métiers ou encore la définition d’un vocabulaire commun. Platform : gère les projets de développement en équipe, de même que la maintenance, respectivement en se basant sur des propositions de la méthodologie UnifiedProcess et en offrant des solutions de gestion des problèmes et des tests. Teamwork Server : fournit un référentiel permettant le stockage des spécifications réalisées par tous les autres outils de la suite. Il assure le travail en équipe, notamment par la prise en charge des technologies de versionnions. 3.3.SGBD Le SGBD est un ensemble de services (application logiciel) permettant de gérer les bases de données, c’est-à-dire :  Permettre l’accès aux données de façon simple  Gérer les droits d’accès aux informations  Manipuler les données présentes dans la base de données (insertion, modification, suppression…) Un SGBD est donc nécessaire pour stocker les données.
  • 43. 25 Le tableau 12 représente la comparaison des SGBD Tableau 12: Comparaison des SGBD. SGBD Points forts Points faible MySQL plus rapide sur les requêtes simple Stable, rapide Riche en documentation Faciliter de déploiement et de prise en main, Léger, Multi-plateforme, Open source, Gratuit Système de gestion de base de donnée de modèle relationnel Pas de vue matérialisée, Support incomplet des triggers et procédures stockées, Ne supporte pas une énorme quantité de données ORACLE Disposition de requêtes sophistiqué Assistants performants, Accès aux données système via vue, réglages fins : tout est paramétrable, Supporte une énorme quantité de données, Multi-plateforme Administration complexe, Fort demandeur de ressources : la connexion utilisateur nécessite par exemple près de 700Ko/utilisateur, contre une petite centaine sur le serveur MS-SQL, Payant (très cher) PostgreSQL Disposition de requêtes sophistiqués et d’un optimiseur de requêtes Plus Performant, fiable Riche en documentation Plusieurs fonctionnalités Supporte une grande quantité de données Multi-plateforme, Open source, Gratuit, Système de gestion de base de données de modèle relationnel et objet Administration complexe, Sauvegarde peu évolué Choix et justification On a choisi d’utiliser le SGBD PostgreSQL vu qu’il est plus performant, fiable, riche en documentation, supporte une énorme quantité de données et supporte la fonctionnalité de l’oracle, système de gestion de base de données de modèle relationnel et objet et dispose de requêtes sophistiquées et d’un optimiseur de requêtes. Présentation de PostgreSQL
  • 44. 26 PostgreSQL est un système de gestion de base de données relationnel et objet (SGBDRO). Selon le type d’application, sa licence est libre ou propriétaire. Il fait partie des logiciels de gestion de base de données les plus appréciés au monde pour les données de grandes quantités, autant par le grand public (application web principalement) que par des professionnels, en concurrence avec Oracle et MySQL. C’est un logiciel libre développé sous double licence en fonction de l’utilisation qui en fait : dans un produit libre ou dans un produit propriétaire. 3.4.Langage de programmation Le tableau 13 montre la comparaison entre PHP et J2EE. Tableau 13: Comparaison entre PHP et J2EE. Critère J2EE PHP Paradigme Orientée objet, structurée, impérative Impératif, procédural, réflexif, langage interprété Typage Dynamique, fort, sûr Dynamique, faible Type d’application Web Web Environnement de développement Eclipse, intellij, NetBeans, JDeveloper Simple éditeur de texte, ou IDE intégré Avantages Langage typé, facile à utiliser et à maintenir Serveur léger, facile à héberger Inconvénient Serveur lourde, nécessite une importance ressource Ecriture de code gênante, variable non typée Changement de base de données, changement de code Choix et justification Après avoir fait la comparaison, on a retenu J2EE comme langage de programmation parce que c’est un langage orienté objet et simple à utiliser. Présentation de J2EE J2EE (Java 2 Enterprise Edition) est une norme proposée par la société Sun, portée par un consortium de sociétés internationales, visant à définir un standard de développement d'applications d'entreprises multi-niveaux, basées sur des composants. La figure 3 suivante montre caractéristique de J2EE.
  • 45. 27 Figure 3: Caractéristiques de J2EE. Une caractéristique particulière de J2EE est de réaliser une portabilité totale et maintenabilité du code : une application, une fois compilé fonctionnera aussi sous des stations Windows que sus Unix et autre. Cette portabilité est dû au fait que la compilation fournit un code machine intermédiaire appelé BYTECODE exécuté par son interpréteur dite une machine dite virtuelle (JVM : Java Virtual Machine) et qui, lors de l’exécution compréhensible par le microprocesseur utilisé. 3.5.Framework utilisés 3.5.1. Partie Backend Le tableau 14 montre la comparaison entre Spring Boot, Hibernate et Struts. Tableau 14: Comparaison entre Spring Boot, Hibernate et Struts. Critère Spring Boot Hibernate Struts Dernière version 2.2.3 2.1.2 2.5.22 Facilité d’apprentissage Facile Facile Moyen
  • 46. 28 Environnement de développement Eclipse, IntelliJ, NetBeans, JDeveloper, Spring Tool Suite Eclipse, IntelliJ, NetBeans, JDeveloper, Spring Tool suite Eclipse, IntelliJ, NetBeans, JDeveloper, Spring Tool Suite Open source Oui Oui Oui Générateur de CRUD Oui Oui Oui Simplicité Oui Oui Non Sécurité Oui Oui Moyen Economie espace Oui Oui Moyen Ouverture de page Très rapide Rapide Normal Choix et justification Chacun de ces Framework possède ses avantages et ses inconvénients. En tenant compte de ces études comparatives, surtout sur le temps d’apprentissage des trois Framework, nous avons optés pour le Spring Boot, Hibernate. Présentation de Spring Boot et Hibernate - Spring Boot Spring Boot est fondamentalement une extension du cadre Spring, qui élimine les configurations standard requises pour la configuration d’une application Spring.  Il adopte une vision avisée de la plateforme Spring, qui a ouvert la voie à un écosystème de développement plus rapide et plus efficace. Voici quelques-unes des fonctionnalités de Spring Boot:  Dépendances de type "starter" pour simplifier la construction et l’application Configuration :  Métriques, vérification d’hélicoptère et configuration externalisée  Configuration automatique pour la fonctionnalité Spring - autant que possible  Serveur intégré pour éviter la complexité lors du déploiement d’applications La figure 4 suivante montre caractéristique de Spring Boot.
  • 47. 29 Figure 4: Caractéristiques de Spring Boot. - Hibernate Hibernate est une solution open source de type ORM (Object Relational Mapping) qui permet de faciliter le développement de la couche persistance d'une application. Hibernate permet donc de représenter une base de données en objets Java et vice versa. Hibernate facilite la persistance et la recherche de données dans une base de données en réalisant lui-même la création des objets et les traitements de remplissage de ceux-ci en accédant à la base de données. La quantité de code ainsi épargnée est très importante d'autant que ce code est généralement fastidieux et redondant. Hibernate est très populaire notamment à cause de ses bonnes performances et de son ouverture à de nombreuses bases de données. Les bases de données supportées sont les principales du marché : DB2, Oracle, MySQL, PostgreSQL, Sybase, SQL Server, Sap DB, Interbase, et autres bases de données. La figure 5 suivante montre caractéristique de Hibernate. Figure 5: Caractéristiques de Hibernate.
  • 48. 30 3.5.2. Partie Frontend Le tableau 15 montre la comparaison entre AngularJS et ReactJS. Tableau 15: Comparaison entre AngularJS et ReactJS. Critère AngularJS ReactJS Dernière version 9. 16.12.0 Facilité d’apprentissage Facile Moyen Open source Oui Oui Web 2.0 Html 4, full jquery, ajsx, json Html4, full jquery Générateur de CRUD Oui Non Simplicité Oui Moyen Sécurité Oui Oui Economie espace Oui Non Ouverture de page Très rapide Rapide Choix et justification Chacun de ces Framework possède ses avantages et ses inconvénients. En tenant compte de ces études comparatives, surtout sur le temps d’apprentissage des deux Framework, nous avons optés pour l’AngularJS. Présentation d’AngularJS AngularJS est fondé sur l'idée que la programmation déclarative doit être utilisée pour construire les interfaces utilisateurs et les composants logiciels de câblage, tandis que la programmation impérative excelle pour exprimer la logique métier. Une page web conçue avec AngularJS suit le patron d'architecture MVC (modèle-vue- contrôleur). Ce patron a pour avantage de proposer un couplage faible entre la présentation, les données, et les composants métier. Dans un langage web, cette séparation permet de diminuer l'importance des manipulations DOM et d'améliorer la testabilité du code. Dans AngularJS, la partie « vue » est déclarée dans une version étendue du HTML traditionnel, qui comporte de nouvelles balises (tags) et attributs. Cet HTML étendu est utilisé pour déclarer une liaison de données bidirectionnelle entre les modèles et les vues. Ainsi, les données sont synchronisées automatiquement, et moins d'éléments ont besoin d'être définis en Javascript. Les modèles sont composés de plusieurs couches appelés « scopes ». Les contrôleurs dans AngularJS permettent de prototyper des actions en code JavaScript natif. La figure 6 suivante montre caractéristique de AngularJS.
  • 49. 31 Figure 6; Caractéristiques de JAVA. 3.6.Environnement de développement 3.6.1. Partie Backend Il nous faut un environnement de développement pour réaliser ce projet au niveau de serveur. Le tableau 16 représente la comparaison entre Spring Tool Suite et NetBeans. Tableau 16: Comparaison entre Spring Tool Suite et NetBeans. Spring Tool Suite NetBeans Graphique Tout Seulement l’essentielle, claire Serveur et compilateur Java intégré A installer et à configurer A télécharger Ressources Moyenne Elevée (besoin de machine à fréquence élevé) Choix et justification Graphiquement Spring Tool Suite plus léger que NetBeans, son interface est meilleure que NetBeans et c’est le logiciel conçu pour le langage spring boot, facile d’intégration donc on a choisi Spring Tool Suite. Présentation de Spring Tool Suite Spring Tool Suite, ensemble de logiciels édités par la société SpringSource, contient un environnement de développement contribuant à une meilleure productivité du développeur Spring. STS est une pièce de la stratégie "Build - Run - Manage" de SpringSource. Cette stratégie vise à nous rassurer sur la capacité de SpringSource à accompagner efficacement les différentes
  • 50. 32 étapes du cycle de vie (Développement - déploiement - monitoring) d'une application Java Entreprise basée non pas sur les spécifications JEE (jugées complexes), mais sur le modèle de développement et les différentes briques proposées par Spring (Core, Spring MVC, Spring JMS, Spring WS). Une stratégie qui amène des choix tactiques d'acquisition de sociétés et technologies comme le langage de script Groovy, le Framework Grails (au-dessus de Spring MVC + Hibernate) ou encore plus récemment d'Hyperic (outil de monitoring), désormais dans le giron SpringSource. Compilé en Java, Spring Tool Suite est disponible sous Windows, Linux, Mac OS X ou sous une version indépendante des systèmes d’exploitation (requérant une machine virtuelle Java). Un environnement Java Développement Kit JDK est requis pour le développement en J2ee. Spring Tool Suite constitue par ailleurs une plateforme qui permet le développement d’application spécifique (bibliothèque Swing). L’IDE Spring Tool Suite s’appuie sur cette plateforme. 3.6.2. Partie Frontend Dans la partie client, nous avons d’un IDE pour le développement du projet. Le tableau 17 illustre la comparaison entre le VS Code et Sublime Text. Tableau 17: Comparaison entre VS Code et Sublime Text. VS Code Sublime Text Temps de lancement Très rapide Lent Usage de RAM Beaucoup Un peu Apprentissage de raccourcis Facile à apprendre Beaucoup de temps et difficile Fonctionnalités Plusieurs Moyen Choix et justification Visual Studio Code a une interface utilisateur très conviviale et beaucoup d’option pour éditer le code et a plusieurs fonctionnalités, installable partout, multi-configurable, agréable et rapide par rapport au Sublime Text, donc on a choisi le VS Code. Présentation de Visual Studio Code Visual Studio Code (VSC) est un éditeur de code open-source, gratuit et multi-plateforme (Windows, Mac et Linux), développé par Microsoft, à ne pas confondre avec Visual Studio, l'IDE propriétaire de Microsoft. VSC est développé avec Electron et exploite des fonctionnalités d'édition avancées du projet Monaco Editor. Principalement conçu pour le développement d'application avec JavaScript, TypeScript et Node.js, l'éditeur peut s'adapter à d'autres types de langages grâce à un système d'extension bien fourni. Visual Studio Code intègre plusieurs outils facilitant la saisie de code par les développeurs comme la coloration syntaxique ou encore le système d’auto-complétions IntelliSense. En
  • 51. 33 outre, l'outil permet aux développeurs de corriger leur code et de gérer les différentes versions de leurs fichiers de travail puisqu'un module de débogage est aussi de la partie.
  • 52. 34 Chapitre 4. ANALYSE CONCEPTUELLE Ce projet concerne le domaine de la gestion de soutenance. Au début de soutenance, le responsable de ce domaine récolte toutes les informations sur le calendrier de soutenance. Pour cela, nous allons utiliser la méthode XP avec la notation UML, l’outil Visual Paradigm, PostgreSQL, le langage de programmation J2EE et le Framework Spring Boot, Hibernate, Jpa, Spring Security et AngularJS. 1. Dictionnaire des données Un dictionnaire des données est une collection de métadonnées ou de données de référence nécessaire à la conception d'une base de données relationnelle. Le dictionnaire des données du système est représenté dans la figure 18. Tableau 18: Dictionnaire des données. Nom de la rubrique Description Type Taille annee_univ Année universitaire AN 9 cal_date_sout Date de calendrier de soutenance AN 8 cal_heure_sout Heure de soutenance AN 3 cal_lieu_sout Lieu de soutenance AN 35 cal_lieu_stage Lieu de stage AN 35 cal_note_sout Note de soutenance AN 5 cal_sale_sout Sale de soutenance N 2 cal_type_memoire Type de mémoire AN 50 enseig_adr Adresse de l’enseignant AN 50 enseig_email Email de l’enseignant AN 50 enseig_grade Grade de l’enseignant AN 50 enseig_nom Nom de l’enseignant AN 50 enseig_prenom Prénoms de l’enseignant AN 50 enseig_sexe Sexe de l’enseignant A 1 enseig_tel Numéro téléphone de l’enseignant AN 13 etabli_adr Adresse de l’établissement AN 50 etabli_code_post Code postale de l’établissement N 7 etabli_nom Nom de l’établissement AN 35 etud_adr Adresse de l’étudiant AN 50 etud_email Email de l’étudiant AN 50 etud_matricule Matricule de l’étudiant AN 6 etud_nom Nom de l’étudiant AN 50 etud_num Numéro d’appel de l’étudiant N 3 etud_prenom Prénoms de l’étudiant AN 50 etud_sexe Sexe de l’étudiant A 1 etud_tel Numéro téléphone de l’étudiant AN 13 id_enseig Identifiant de l’enseignant N 2 id_annee Identifiant de l’année universitaire N 2 id_cal Identifiant de calendrier N 4 id_etabli Identifiant de l’établissement N 1 id_etud Identifiant de l’étudiant N 5 id_jury Identifiant du jury N 2
  • 53. 35 id_login Identifiant de l’utilisateur de l’application N 25 id_niveau Identifiant de niveau de l’étudiant N 1 id_parcours Identifiant de parcours N 1 id_service Identifiant de service N 1 id_theme Identifiant de thème de l’étudiant N 5 jury_nom Nom du jury AN 50 jury_prenom Prénoms du jury AN 50 jury_role Rôle du jury AN 11 niveau_nom Nom de niveau de l’étudiant AN 20 parcours_nom Nom du parcours de l’étudiant AN 15 service_adr Adresse du service AN 50 service_email Email du service AN 50 service_nom Nom du service AN 50 service_prenom Prénoms du service AN 50 service_resp Responsable du service AN 50 service_sexe Sexe du service AN 1 service_tel Numéro téléphone du service AN 13 theme_nom Nom du thème de l’étudiant AN 200 A : Alphabétique AN : alphanumérique N : numérique 2. Règles de gestion Les règles de gestion indiquent l’ensemble des liens existants sur les données manipulées, les actions effectuées par les postes de travail impliqués et les différentes formules de calcul. Les règles de gestion associées au domaine d’études sont : Rg1 : Un étudiant doit avoir un thème Rg2 : Un étudiant se trouve dans un niveau Rg3 : Un étudiant appartient à un parcours Rg4 : Plusieurs étudiants appartiennent à un établissement Rg5 : Plusieurs enseignants enseignent dans un établissement Rg6 : Un enseignant peut être un jury Rg7 : Un étudiant passe la soutenance dans une année Rg8 : Un calendrier est constitué plusieurs étudiants Rg9 : Un calendrier présente un ou plusieurs thèmes de l’étudiant Rg10 : Un calendrier constitue un parcours de l’étudiant Rg11 : Un calendrier présente un niveau de l’étudiant Rg12 : Un calendrier doit avoir un établissement Rg13 : Un calendrier constitue plusieurs jurys Rg14 : Un calendrier a plusieurs enseignants Rg15 : Un calendrier a une année 3. Représentation et spécification des besoins 3.1. Diagrammes de cas d’utilisation D’abord nous allons réunir les différents éléments pour construire le diagramme de cas d’utilisation et commençons par l’identification des acteurs, puis l’identification des cas d’utilisations et entamons par les diagrammes de cas d’utilisation proprement dit.
  • 54. 36 3.1.1. Identification des acteurs Ils sont des entités externes qui interagissent avec le système, comme une personne humaine ou un robot. Une même personne (ou robot) peut être plusieurs acteurs pour un système, c'est pourquoi les acteurs doivent surtout être décrits par leur rôle, ce rôle décrit les besoins et les capacités de l'acteur. Un acteur agit sur le système. L'activité du système a pour objectif de satisfaire les besoins de l'acteur. Les acteurs sont représentés par un pictogramme humanoïde (stick man) sous-titré par le nom de l'acteur.  Les catégories d’acteur : Un acteur peut avoir différents rôles et est amené à intervenir dans une ou plusieurs situations. Miller (2001) en identifie quatre.  Initiateur : acteur qui active le système et déclenche le cas.  Serveur : acteur aidant le système à assumer ses responsabilités.  Receveur : acteur recevant les informations du système (système de backup)  Facilitateur : acteur dont les actions sont effectuées au bénéfice d'un autre acteur Un acteur est un rôle joué par une personne ou par une chose qui interagit avec le système. Il n’est pas toujours facile de déterminer la limite du système. Par définition, les acteurs sont à l’extérieur du système Lés acteurs agissant sur notre système sont regroupés en une seule catégorie : l’utilisateur 3.1.2. Identification des cas d’utilisation Les catégories des besoins fonctionnels des acteurs peuvent être arrangées de la manière dans le tableau 19 suivante : Tableau 19: Besoins fonctionnels des acteurs. Acteur Cas d’utilisation Utilisateur S’authentifier Se connecter Se déconnecter Gérer étudiant Ajouter Modifier Supprimer Consulter liste étudiante Imprimer Gérer enseignant Ajouter Modifier Supprimer Consulter liste enseignant Consulter liste étudiante, thème et enseignant Ajouter Modifier
  • 55. 37 Supprimer Consulter Imprimer Gérer jury Ajouter Modifier Supprimer Consulter liste jury Gérer calendrier Ajouter Modifier Supprimer Consulter calendrier Imprimer 3.1.3. Diagrammes de cas d’utilisation Après ces précédentes étapes, nous avons réunis les différents éléments pour construire le diagramme de cas d’utilisation.
  • 56. 38 Voici dans cette figure 7 donc le diagramme de cas d’utilisation globale de gestion de tableau de bord. Figure 7: Diagramme de cas d’utilisation globale. 3.2. Priorisation des cas d’utilisations La priorisation des cas d’utilisations est représentée par le tableau 20 suivant. Tableau 20: priorisation des cas d’utilisations. Cas d’utilisation Acteur principale Messages reçus/ émis 1) S’authentifier Utilisateur -demande de s’authentifier -résultat d’authentification 2) Gérer étudiant -demande de gérer étudiant -résultat de la demande de gérer étudiant 3) Gérer enseignant -demande de gérer enseignant -résultat de la demande de gérer enseignant 4) Gérer jury -demande de gérer jury -résultat de la demande de gérer jury 5) Gérer calendrier -demande de gérer calendrier -résultat de la demande de gérer calendrier 3.3. Description textuelle de certains cas d’utilisation  Cas d’utilisation « s’authentifier »  Objectif : pour avoir une session pour utiliser l’application.
  • 57. 39  Acteur : utilisateur  Pré condition : l’utilisateur doit avoir un compte.  Post condition : l’utilisateur obtient une session  Scenario nominale : 1. Saisir identifiant 2. Cliquer sur le bouton se connecter 3. Obtention d’une session  Scenario d’exception : 1. Identifiant ou mot de passe incorrect 2. Serveur inaccessible  Cas d’utilisation « ajouter service »  Objectif : pour enregistrer l’information concernant un service.  Acteur : utilisateur  Pré condition : l’enseignant et le service existent.  Post condition : création service avec succès  Scenario nominale : 1. L’utilisateur doit s’authentifier 2. Il obtient un formulaire d’ajout service 3. Il remplit le formulaire et l’envoie 4. Ajout service effectué  Scenario d’exception : 1. Formulaire vide 2. Le code service existe déjà  Cas d’utilisation « modifier service »  Objectif : pour éditer l’information concernant un service.  Acteur : utilisateur  Pré condition : il existe une liste de service.  Post condition : modification de service avec succès  Scenario nominale : 1. L’utilisateur consulte la liste des services 2. Il obtient un formulaire de modification service 3. Il remplit le formulaire et l’envoie 4. Modification service effectué  Scenario d’exception : 1. Formulaire vide 2. Le code service existe déjà  Cas d’utilisation « supprimer service »  Objectif : pour effacer un service.  Acteur : utilisateur  Pré condition : il existe une liste de service.
  • 58. 40  Post condition : suppression de service avec succès  Scenario nominale : 1. L’utilisateur consulte la liste des services 2. Il obtient une confirmation de supprimer un service 3. Il confirme 4. Suppression service effectué  Cas d’utilisation « gérer calendrier »  Objectif : pour enregistrer les informations concernant le calendrier.  Acteur : utilisateur  Pré condition : l’étudiant, le thème, l’enseignant, le niveau, le parcours, le jury, la date, la salle existent.  Post condition : création de calendrier avec succès  Scenario nominale : 1. L’utilisateur demande à gérer un tableau de bord 2. Il obtient un formulaire 3. Il remplit le formulaire et l’envoie 4. Création du calendrier effectué  Scenario d’exception : 1. Formulaire vide 3.4. Diagrammes de séquence système pour les cas d’utilisation Les diagrammes de séquence représentent les messages échangés entre les objets. Il donne une notion temporelle aux messages. La figure 8 représente le diagramme de séquence pour le cas d’utilisation « s’authentifier ». Figure 8: Diagramme de séquence pour le cas d’utilisation « s’authentifier ».
  • 59. 41 La figure 9 représente le diagramme de séquence pour le cas d’utilisation « ajouter service ». Figure 9: Diagramme de séquence pour le cas d’utilisation « ajouter service ». La figure 10 représente le diagramme de séquence pour le cas d’utilisation « modifier service ». Figure 10: Diagramme de séquence pour le cas d’utilisation « modifier service ».
  • 60. 42 La figure 11 montre le diagramme de séquence pour le cas d’utilisation « supprimer service ». Figure 11: Diagramme de séquence pour le cas d’utilisation « supprimer service ». La figure 12 illustre le diagramme de séquence pour le cas d’utilisation « gérer calendrier ».
  • 61. 43 Figure 12: Diagramme de séquence pour le cas d’utilisation « gérer calendrier ». 4. Modélisation du domaine Un modèle de domaine est une visualisation des concepts d’un domaine du monde réel. L’élaboration du modèle des classes du domaine permet d’opérer une transition vers une véritable modélisation objet. L’analyse du domaine est une étape totalement séparée de l’analyse des besoins. Elle peut être menée avant, en parallèle ou après cette dernière. La phase d’analyse du domaine permet d’élaborer la première version du diagramme de classe appelée modèle du domaine. Ce modèle doit définir les classes qui modélisent les entités ou concepts présents dans le domaine de l’application. Il s’agit donc de produire un modèle des objets du monde réel dans un domaine donné. Ces entités ou concepts sont identifiés directement à partir de la connaissance du domaine ou par des entretiens avec des experts du domaine. Pour établir le diagramme, on suit les étapes suivantes :  Identifier les entités u concepts du domaine  Identifier et ajouter les associations et les attributs  Organiser et simplifier le modèle en éliminant les classes redondantes et en utilisant l’héritage  Le cas échéant, structurer les classes en paquetage selon les principes de cohérence et d’indépendance. Modèle de domaine La figure 13 présente le modèle de domaine.
  • 62. 44 Figure 13: Modèle de domaine.
  • 63. 45 Chapitre 5. CONCEPTION DETAILLEE 1. Architecture du système Nous allons adapter l’architecture MVC à l’application car c’est le plus adapté au modèle en trois tiers. L'architecture Modèle Vue Contrôleur est un motif de conception pour le développement d'applications logicielles qui sépare le modèle de données, l'interface utilisateur et la logique de contrôle. Ce motif a été mis au point en 1979 par Trygve Reenskaug, qui travaillait alors sur Small talk Xerox PARC. Dans les laboratoires de recherche Ce modèle d'architecture impose la séparation entre les données, les traitements et la présentation, ce qui donne trois parties fondamentales dans l'application finale : le modèle, la vue et le contrôleur. La figure 14 montre la représentation du modèle MVC. Figure 14: modèle MVC. 2. Diagramme de séquence de conception La figure 15 représente le diagramme de séquence conception pour le cas d’utilisation « s’authentifier ».
  • 64. 46 Figure 15: Diagramme de séquence conception pour le cas d’utilisation « s’authentifier ». La figure 16 montre le diagramme de séquence conception pour le cas d’utilisation « ajouter service ». Figure 16: Diagramme de séquence conception pour le cas d’utilisation « Ajouter service ».