SlideShare une entreprise Scribd logo
1  sur  87
Télécharger pour lire hors ligne
Page | 2
Dédicace
A mes parents,
Vous m’avez donné la vie, la tendresse et le courage pour réussir. Tout ce que je peux vous
offrir ne pourra exprimer l’amour et la reconnaissance que je porte.
En témoigne, je vous offre ce modeste travail pour vous remercier pour vos sacrifices et pour
l’affectation dont vous m’avez toujours entourés.
A mes chères sœurs et mon frère,
En témoignage de mes sincères reconnaissances pour les efforts qu’ils me consenti pour
l’accomplissement de mes études. Je leurs dédie ce modeste travail en témoignage de mon
grand amour et mon gratitude infinie.
A mes très chers ami(e)s,
En témoignage de l’amitié sincère qui nous a liées et des bons moments passés ensemble. Je
vous dédie ce travail en vous souhaitant un avenir radieux et plein de promesses.
A mes chers professeurs,
Ceux qui se dévouent sans cesse pour m’éclaircir la voie et les immenses horizons du savoir
et dont leurs efforts méritent largement mon respect, je vous remercie énormément.
Page | 3
Remerciements
C’est avec un réel plaisir que j’exprime ici mes reconnaissances à tous ceux qui ont contribué
de près ou de loin à l’élaboration de ce travail.
Je remercie Allah le tout puissant de m’avoir donné le courage et la volonté de mener à
terme ce présent travail.
J’adresse les sincères remerciements à mon cher encadrant de projet de fin d’étude Mr.
MARZOUK Abderrahim, pour leurs conseils précieux, leur soutien et leur disponibilité
tout au courant de mon stage.
Je remercie vivement Mr. LCHHAB Azeddine mon parrain de stage pour sa disponibilité
sans condition, pour ses directives, qui m’a aidé tout au long de l’élaboration de ce projet et
qui a tout fait pour me mettre dans les bonnes conditions de travail.
Je tiens à remercier également tous mes collègues dans Pluralis Consulting et Mr. GASSMI
Karim Le directeur pour leurs accueils, leurs conseils et leur écoute.
A notre Doyen, Mr. BOUAYAD qu’il trouve ici l’expression de mon profonde gratitude,
pour sa veille sur le bon déroulement de mon formation.
Mes remerciements vont aussi à l’encontre de mes chers parents qui n’ont ménagés aucun
effort et qui ne cesseront de le faire, pour me soutenir à tout moment de ma vie.
Enfin j'adresse mes plus sincères remerciements à tous les membres du jury qui m’ont honoré
par leur présence et en acceptant de juger mon travail.
Page | 4
Sommaire
Dédicace.............................................................................................................................................................. 2
Remerciements .................................................................................................................................................... 3
Sommaire............................................................................................................................................................. 4
Liste des figures................................................................................................................................................... 6
Liste des tableaux ................................................................................................................................................ 8
Introduction générale........................................................................................................................................... 9
Chapitre 1 : Contexte générale du projet...................................................................................................... 10
Introduction :................................................................................................................................................. 10
I. Présentation de la société :................................................................................................................... 10
1. Fiche technique :................................................................................................................................ 10
2. Historique : ........................................................................................................................................ 10
3. La structure organisationnelle :......................................................................................................... 11
II. Cahier des charges :............................................................................................................................... 14
1. Présentation du projet :..................................................................................................................... 14
2. Problématique : ................................................................................................................................. 14
3. Expression du besoin :........................................................................................................................ 14
4. Fonctionnalités attendus : ................................................................................................................. 15
III. Planning et conduite du projet :........................................................................................................ 17
1. Gestion de projet ............................................................................................................................... 17
2. Diagramme de GANTT....................................................................................................................... 17
IV. Langage et méthodologie de conception :........................................................................................ 19
Introduction :............................................................................................................................................. 19
1. La démarche UP-XP : ......................................................................................................................... 19
2. Phases de modélisation. .................................................................................................................... 20
3. Le formalisme UML :.......................................................................................................................... 21
4. L’outil PowerAmc :............................................................................................................................. 21
Chapitre 2 : Phase d’inception....................................................................................................................... 22
Introduction :................................................................................................................................................. 22
I. Capture des besoins : ............................................................................................................................ 22
1. Définition des besoins fonctionnels : ................................................................................................. 22
2. Les besoins non fonctionnels : ........................................................................................................... 23
3. Les principaux acteurs du système : .................................................................................................. 24
4. Regroupement des exigences par intentions d’acteurs :................................................................... 25
Page | 5
II. Diagramme de cas d’utilisation :........................................................................................................... 25
Chapitre 3 : Phase d’analyse et de conception.............................................................................................. 27
Introduction :................................................................................................................................................. 27
I. Description textuelle des cas d’utilisation :........................................................................................... 27
II. Diagramme de séquence « Boite noire » : ............................................................................................ 48
III. Diagramme d’activité : ...................................................................................................................... 60
IV. Diagramme de classe d’analyse :....................................................................................................... 65
V. Base de données :.................................................................................................................................. 66
VI. Prototype des interfaces : ................................................................................................................. 68
Chapitre 4 : Phase de réalisation. .................................................................................................................. 74
Introduction :................................................................................................................................................. 74
I. Environnement logiciel :........................................................................................................................ 74
II. Technologies et langages utilisés : ........................................................................................................ 75
III. Développement :............................................................................................................................... 77
IV. Les interfaces de l’application :......................................................................................................... 79
Conclusion générale......................................................................................................................................... 86
Bibliographie et Webographie: ...................................................................................................................... 87
Page | 6
Liste des figures
Figure Commentaire Page
Figure 1 L’organigramme de Pluralis Consulting 11
Figure 2 Les accompagnements des directeurs et des managers 12
Figure 3 Les tâches du projet 18
Figure 4 Diagramme de GANTT 18
Figure 5 Les diagrammes disponibles 21
Figure 6 Diagramme des acteurs 24
Figure 7 Diagramme de contexte statique 24
Figure 8 Diagramme de cas d’utilisation 26
Figure 9 Diagramme de séquence « Inscrire » 48
Figure 10 Diagramme de séquence « Authentifier » 49
Figure 11 Diagramme de séquence « Envoyer e-mail » 49
Figure 12 Diagramme de séquence « Gérer les certifications » 50
Figure 13 Diagramme de séquence « Gérer les formations » 51
Figure 14 Diagramme de séquence « Gérer les formateurs » 52
Figure 15 Diagramme de séquence « Gérer les gérants » 53
Figure 16 Diagramme de séquence « Gérer les compétences » 54
Figure 17 Diagramme de séquence « Gérer les inscriptions » 55
Figure 18 Diagramme de séquence « Rechercher certification» 55
Figure 19 Diagramme de séquence « Consulter certification » 56
Figure 20 Diagramme de séquence « Consulter formation » 56
Figure 21 Diagramme de séquence « Donner avis » 57
Figure 22 Diagramme de séquence « Proposer formation » 57
Figure 23 Diagramme de séquence « Recevoir les notifications » 58
Figure 24 Diagramme de séquence « Consulter les propositions » 58
Figure 25 Diagramme de séquence « Consulter les avis » 59
Figure 26 Diagramme d’activité « Authentifier » 60
Figure 27 Diagramme d’activité « Consulter certification » 60
Figure 28 Diagramme d’activité « Consulter formation » 61
Figure 29 Diagramme d’activité « Gérer certifications » 61
Figure 30 Diagramme d’activité « Gérer formations » 62
Figure 31 Diagramme d’activité « Gérer compétences » 62
Figure 32 Diagramme d’activité « Gérer gérants » 63
Figure 33 Diagramme d’activité « Gérer formateurs » 63
Figure 34 Diagramme d’activité « Gérer les inscriptions » 64
Figure 35 Diagramme d’activité « Consulter les avis/propositions » 64
Figure 36 Diagramme d’activité «Recevoir les notifications/Proposer
formation/Donner avis »
64
Figure 37 Diagramme de classe d’analyse 66
Figure 38 Modèle logique de données(MLD) 67
Figure 39 Modèle physique de données(MPD) 68
Figure 40 Interface authentifié 69
Figure 41 Interface rechercher certification 69
Figure 42 Interface consulter certification 70
Figure 43 Interfaces gérer les certifications, formations, formateurs 70
Figure 44 Interface consulter les formations 71
Figure 45 Interface gérer avis et propositions 71
Page | 7
Figure 46 Interface inscrire 72
Figure 47 Interface gérer gérants 72
Figure 48 Interface gérer inscriptions 73
Figure 49 Interface gérer les compétences 73
Figure 50 Modèle MVC (Modèle – Vue – Contrôleur) 78
Figure 51 Page d’authentification 79
Figure 52 Page de recherche 80
Figure 53 Page consulter les formations 80
Figure 54 Page consulter certification 81
Figure 55 Page consulter les avis 81
Figure 56 Page gérer les certifications 82
Figure 57 Page gérer les formations 82
Figure 58 Page d’inscription 83
Figure 59 Page gérer les formateurs 83
Figure 60 Page gérer les compétences 84
Figure 61 Page gérer les gérants 84
Figure 62 Page gérer les inscriptions 85
Figure 63 Page Consulter les propositions 85
Page | 8
Liste des tableaux
Tableau Commentaire Page
Tableau 1 Tableau des exigences 22
Tableau 2 Tableau des exigences par intention d’acteur 25
Tableau 3 Description textuelle de cas d’utilisation « Authentifier » 27
Tableau 4 Description textuelle de cas d’utilisation « Ajouter certification » 28
Tableau 5 Description textuelle de cas d’utilisation « Modifier certification » 29
Tableau 6 Description textuelle de cas d’utilisation « Supprimer certification » 30
Tableau 7 Description textuelle de cas d’utilisation « Ajouter formation » 31
Tableau 8 Description textuelle de cas d’utilisation « Modifier formation » 31
Tableau 9 Description textuelle de cas d’utilisation « Supprimer formation » 32
Tableau 10 Description textuelle de cas d’utilisation « Ajouter formateur » 33
Tableau 11 Description textuelle de cas d’utilisation « Modifier formateur » 34
Tableau 12 Description textuelle de cas d’utilisation « Supprimer formateur » 35
Tableau 13 Description textuelle de cas d’utilisation « Ajouter gérant » 36
Tableau 14 Description textuelle de cas d’utilisation « Modifier gérant » 36
Tableau 15 Description textuelle de cas d’utilisation « Supprimer gérant » 37
Tableau 16 Description textuelle de cas d’utilisation « Ajouter compétence » 38
Tableau 17 Description textuelle de cas d’utilisation « Modifier compétence » 39
Tableau 18 Description textuelle de cas d’utilisation « Supprimer compétence » 40
Tableau 19 Description textuelle de cas d’utilisation « Gérer inscriptions » 41
Tableau 20 Description textuelle de cas d’utilisation « Rechercher certification » 41
Tableau 21 Description textuelle de cas d’utilisation « Consulter certification » 42
Tableau 22 Description textuelle de cas d’utilisation « Consulter les formations » 42
Tableau 23 Description textuelle de cas d’utilisation « Donner avis » 43
Tableau 24 Description textuelle de cas d’utilisation « Proposer formation » 44
Tableau 25 Description textuelle de cas d’utilisation « Recevoir les notifications » 44
Tableau 26 Description textuelle de cas d’utilisation « Inscrire » 45
Tableau 27 Description textuelle de cas d’utilisation « Consulter les avis » 46
Tableau 28 Description textuelle de cas d’utilisation « Télécharger PDF » 46
Tableau 29 Description textuelle de cas d’utilisation « Consulter les propositions » 47
Tableau 30 Description textuelle de cas d’utilisation « Envoyer e-mail » 47
Page | 9
Introduction générale
Cette introduction fera l’objet d’une brève présentation de l’application que je vais concevoir
et réaliser, des outils et des méthodes choisis, suivi du plan général du processus de
développement.
C’est déjà quelques années que les technologies d’informations et les activités des
organisations et plus particulièrement le web ont évolué d’une façon croissante et
remarquable. Aujourd’hui, le web est un secteur en perpétuelle expansion face à l’apparition
du web 2.0 et les nouvelles technologies notamment le HTML5, JavaScript, etc.
C’est dans ce contexte que plusieurs Sociétés essayent de profiter au maximum possible de
ces technologies afin d’améliorer leurs productivité et de faire face à quelques problèmes
pénibles qui peuvent constituer un obstacle de progression.
Dans ce cadre, Pluralis Consulting souhaite développer une application web permettant de
gérer les certifications et les formations fournis par la société. La naissance de cette idée est
due à plusieurs problèmes notamment :
 La perte de temps liée à l’explication des certifications et de formations disponibles
pour chaque client.
 Déplacement des clients à la société à chaque fois pour des informations…
Mon objectif consiste à développer une application Web qui va aider les clients à consulter
les certifications et les formations d’une façon facile et rapide à partir de leurs navigateurs, en
tenant compte des compétences requis données par chaque certification et aussi l’inscription
en ligne. D’autre part les administrateurs peuvent gérer les certifications et les formations et
les inscriptions.
Outre l’originalité de l’application à développer, j’essayerai en plus d’utiliser une
méthodologie de développement assez originale, à savoir la démarche UP-XP.
J’essayerai à travers ce rapport de mettre en évidence les étapes effectuées, en analysons
chaque étape.
Page | 10
Chapitre 1 : Contexte générale du projet.
Introduction :
« Le projet est un effort complexe pour atteindre un objectif bien spécifique, devant respecter
un échéancier et un budget … »
L’étude du projet est une démarche stratégique visant à organiser le bon déroulement d’un
projet et d’assurer la conduite de toutes les phases qui le constituent.
Une étude complète et efficace conduit généralement à la réussite d’un projet. Cette étude
fera donc l’objet de notre premier chapitre qui sera consacré à la présentation du projet ainsi
que la définition de notre langage et méthodologie de développement.
I. Présentation de la société :
1. Fiche technique :
 Raison sociale : PLURALIS CONSILTING
 Date de création : 07/09/2006
 Forme juridique : SARL
 Capital Social : 200000 DH
 Adresse : 30 RUE AZIZ BELLAL QUARTIER MAARIF CASABLANCA
 Patente : 357711969
 Registre commercial : 154901
 C.N.S.S : 7330450
 Identifiant fiscal : 1104463
2. Historique :
La société PLURALIS CONSULTING a été créée en 2006, dirigée par Mr GASSEMI
KARIM. Cette société offre un portefeuille complet de services, y compris des services-
conseils stratégiques en informatique et en management, des services d'intégration de
systèmes, de formation et certification de compétences technologiques.
PLURALIS CONSULTING accompagne les entreprises (Publiques & Privées) pour la
création de la performance :
 En mettant en place les bonnes pratiques de Gouvernance Organisationnelle ;
Page | 11
 En offrant des services, solutions et outils de gestion à forte valeur ajoutée ;
 En offrant des actions de formation pour la maîtrise des Technologies de
l’Information et de la Communication (TIC) ;
 En offrant des actions de formation et d’accompagnement au niveau managérial ;
 En proposant des solutions de Coaching pour les Managers & Directeurs.
3. La structure organisationnelle :
a. L’organisme :
Figure 1 : L’organigramme de Pluralis Consulting.
b. Les services :
- Services : conseils, services et solutions :
Pôle 1 : Conseils et services :
Pluralis Consulting met à la disposition de ses clients son savoir-faire pour leur assister à
mieux détecter les risques potentiellement liés à leurs activités, et identifier les moyens à
mettre en œuvre afin d’améliorer l’efficacité et la performance de leurs entreprises.
Ce pôle consiste à donner des conseils et services, en gestion et gouvernance d’Entreprise :
 Elaboration et formalisation de la stratégie
 Alignement du SI sur les besoins de l’entreprise
 Elaboration des Processus Organisationnels
 Management et pilotage des projets
 Gestion des risques
Directeur général
(Conseils, services, et solutions)
Responsable formations
et certifications
Assistante
Administrative
Responsable commercial
Page | 12
 Etude d’opportunité des projets et Retour sur Investissement
 Pilotage des projets par rapport aux objectifs
 Elaboration des termes de références
 Contrôle et suivi des travaux
 Benchmarking de solutions
 Veille technologique
 Réalisation des schémas Directeurs des SI (système d’information)
 Audit Sécuritaire des SI
 Mise en Place des Bonnes Pratiques de Gouvernance
 Gestion des Infrastructures SI
 Tierce Maintenance Applicative
Pôle 2 : Solutions :
Il s’agit de proposer des solutions et des outils de gestion à forte valeur ajoutée.
Solutions ayant une relation avec Le SI et l’organisation :
Solutions de gestion : Accompagnement au choix et mise en place de l’ERP.
Solutions de gestion de projet et programmes (MGP+) : Accompagnement à la mise en place
d’une structure de gestion de projet.
Solution de centre de support : Mise en place d’une solution de support et d’un SPOC.
Solutions qui reposent sur le coaching des Directeurs et Managers :
Figure 2 : Les accompagnements des directeurs et des managers.
Page | 13
- Service : Formations et certifications :
Pole 1 : Formations :
Pluralis est le fruit de plusieurs expériences dans le domaine de la formation et le
développement des compétences technologiques. L'informatique évolue en permanence pour
offrir aux entreprises des gains de productivité et outiller leur performance.
Pluralis Consulting propose une offre de formation variée comprenant :
 Le management des Systèmes d’information
 Gestion de projet
 Développement logiciel
 Réseaux et sécurité
 Système d’exploitation
 Serveurs et Applications
Pole 2 : Certifications :
Le centre de certification des compétences est un centre de certification informatique. A ce
titre, Pluralis Consulting abrite plusieurs plate formes de certifications reconnues au niveau
international (Prometric - Pearson Vue - Exin - Certiport).
- Service : Assistant Administratif :
L’assistant administratif joue un rôle important puisque c’est lui qui s’occupe de toute
l’organisation interne et des relations externes de Pluralis Consulting. L'assistant
administratif accomplit toutes les tâches administratives nécessaires au bon fonctionnement
de l’entreprise. C’est un service rattaché aux responsables et au directeur.
- Service : Commercial :
Le Responsable Commercial élabore et propose à la direction générale la politique
commerciale de l'entreprise. Il détermine les orientations stratégiques, les objectifs à atteindre
et les moyens à mettre en place, après analyse et évaluation des différentes composantes du
marché.
Page | 14
II. Cahier des charges :
1. Présentation du projet :
Mon projet est né afin de simplifier non seulement la gestion des certifications ou bien des
formations, mais aussi la possibilité d’inscription en ligne, suivre les dernières offres et
proposer d’autres formations, ce qui permet d’avoir une bonne communication avec le client.
2. Problématique :
Il est à noter que l’inscription de chaque nouveau client est toujours manuelle, ce qui
nécessite des efforts considérables de la part de responsable en vue d’aider le client.
Pour combler cette lacune, le directeur recommande la remise en place d’urgence d’une
application informatique pour améliorer la méthode de la consultation des clients et par la
même occasion la gestion des certifications et formations.
3. Expression du besoin :
La société veut offrir un meilleur service à leurs clients et leurs employées à l'aide d'une
application web qui donne à un client la possibilité de :
 Consulter les certifications et les formations.
 Inscrire pour passer une certification ou à une formation.
 Propose une formation.
 Donner avis.
 Inscrire pour recevoir les dernières offres.
Et aux gérant la possibilité de :
 Gérer les certifications (ajouter, modifier, supprimer).
 Gérer les formations (ajouter, modifier, supprimer).
 Gérer les formateurs (ajouter, modifier, supprimer).
 Gérer les compétences (ajouter, modifier, supprimer).
 Gérer les inscriptions (consulter, valider).
 Consulter les avis et les propositions.
Et au administrateur la possibilité de :
 Gérer les gérants (ajouter, modifier, supprimer).
Page | 15
4. Fonctionnalités attendus :
Consulter les certifications :
Avant la consultation une recherche faite par le client. Par un mot clé signifie le nom de la
certification, par le domaine, par la technologie, ou bien par le code.
Après qu’un utilisateur rempli un des champs, deux, trois ou bien quatre un recherche dans la
base de données renvoie une liste contient les noms des certifications. Le client peut choisir
la certification qui l’intéresse et la consulter, si le client intéresse par la certification peut
inscrire pour passer l’examen chez la société, télécharger un PDF contient les mêmes
informations et aussi consulter la certification prérequis et les certifications qui peut les
passer après.
Consulter les formations :
Une liste contient les formations disponible chez la société affichent avec les dates de départ
et de fin, le client peut s’inscrire à une formation, télécharger un PDF ou bien proposer
d’autre formations.
Inscrire :
Après qu’un client choisie l’inscription à une formation ou bien certification, il doit remplir
un formulaire, avant que les informations envoyées une vérification des champs fait, si le
client entre des informations déjà existe ou bien des champs vide un message d’erreur
renvoie sinon l’inscription va enregistrée et un message de succès affiche.
Donner un avis:
Pour qu’un client donner leurs avis sur n’importe quoi, il doit introduire son email et leur
avis au premier temps une vérification des champs faite avant d’envoyer l’avis.
Recevoir les dernières offres :
Un client peut inscrire pour recevoir les dernières offres, pour cela il doit introduire son
email, au premier temps une vérification des champs faite avant d’envoyer l’avis.
Gérer les certifications, les formations et les formateurs:
La gestion de certifications, formations et les formateurs effectuées par les gérants qui sont
chargés de faire un suivi en temps réel de tout changement d’informations des certifications
ou bien des formations.
Page | 16
 Pour l’ajout d’une nouvelle certification, formation ou formateur fait de la même
manière, le gérant doit remplir un formulaire, avant que les informations envoyées
une vérification des champs fait, si le gérant entrer un code déjà existe pour la
certification ou bien un email déjà existe pour le formateur un message d’erreur
renvoie sinon on l’ajoute, on envoie un e-mail au client et on renvoie un message
de succès.
 S’il veut modifie, il va choisie le nom, et va modifier les autres informations une
vérification des champs faite avant l’envoie du formulaire.
 Pour la suppression le gérant choisir le nom, un message de validation doit être
affiché pour valider la suppression, après la validation une requête envoie à la base
de données
- Pour les certifications et les formations une vérification des inscriptions faite
avant la suppression.
- Pour les certifications une suppression des compétences faite.
- Pour le formateur un message de d’erreur affiché si le formateur est lié avec
une ou plusieurs formations, sinon la suppression est validé.
Gérer les inscriptions :
La gestion des inscriptions effectuées par les gérants, Après la consultation des inscriptions
le gérant vérifie les informations et valide l’inscription d’un client qui va recevoir un
message de confirmation dans leur courrier.
Gérer les compétences:
La gestion de compétences aussi effectuées par les gérants, au premier temps une liste de
certifications affiche au gérant qui va choisie une certification, après la sélection un table
contiennent les compétences de la certification affiche avec la possibilité de modifier ou
supprimer une compétence et aussi ajouter une nouvelle compétence.
Gérer les gérants:
La gestion de gérants effectuées par l’admin qui peut ajouter, modifier ou bien supprimer les
gérants, au premier temps un table contiennent tous les gérants affiche avec la possibilité de
modifier ou supprimer un gérant et aussi ajouter une nouveau gérant.
Page | 17
 L’ajout d’un nouveau gérant demande de remplir deux champs (login, password)
une vérification des champs faite si le login est déjà existé un message d’erreur
affiche sinon l’ajout va être enregistré et un message de succès affiche.
 La modification demande d’entrée l’ancien mot de passe et le nouveau mot de
passe, si l’ancien mot de passe est incorrect un message d’erreur affiche sinon la
modification va être enregistrée et un message de succès affiche.
 La suppression demande une confirmation de la part de l’admin.
Gérer les inscriptions :
La gestion des inscriptions effectuées par les gérants, Après la consultation des inscriptions
un gérant vérifie les informations entrées par le client et valide l’inscription ce qui signifié
l’envoie un email de confirmation au client.
Consulter les avis et les propositions :
La consultation des avis et des propositions faite à la même manière, Au premier une liste
des avis ou des propositions affichent au gérant avec la possibilité de supprimer l’avis ou la
proposition.
III. Planning et conduite du projet :
1. Gestion de projet
La gestion de projet est une démarche visant à organiser de bout en bout le bon déroulement
d’un projet. Lorsque la gestion de projet porte sur un ensemble de projets concourant à un
même objectif, on parle de gestion de programme.
Le management de projet est un management qui se caractérise par :
 L'irréversibilité des opérations des participants.
 Un fort degré de liberté des actions des participants.
 Une organisation vouée à être évolutive et temporaire.
 Des flux de trésorerie d'investissement pouvant être négatifs.
 Une forte influence de variables exogènes sur le projet.
2. Diagramme de GANTT
Le diagramme de Gantt (Harmonogram Adamieckiego) est un outil utilisé (souvent en
complément d'un réseau PERT) en ordonnancement et gestion de projet et permettant de
visualiser dans le temps les diverses tâches liées composant un projet (il s'agit d'une
Page | 18
représentation d'un graphe connexe, value et orienté). Il permet de représenter graphiquement
l'avancement du projet.
Le premier diagramme de ce type (appelé Harmonogram Adamieckiego) fut réalisé par
ingénieur polonais Karol Adamiecki en 1896. Il l'a décrit en 1931, mais la langue de
publication n'a pas permis la reconnaissance internationale de son idée. Pour cette raison le
concept a été nommé après Henry L. Gantt, ingénieur américain, qui a publié la description
du diagramme en 1910.
Dans mon projet j’ai utilisé l’outil Gantt Project [1].
Les tâches :
Figure 3 : Les tâches du projet.
Diagramme de GANTT :
Figure 4 : Diagramme de GANTT.
Page | 19
IV. Langage et méthodologie de conception :
Introduction :
Pour bien conduire mon projet et m’assurer du bon déroulement des différentes phases, j’ai
opté la démarche UP-XP [2] comme une méthodologie de conception et de développement.
Après le choix de la méthodologie, j’ai besoin d’un langage de modélisation UML comme un
langage de modélisation.
Mon choix s’est basé sur les points forts de ce langage notamment sa standardisation et les
divers diagrammes qu’il propose. Aussi UML présente le meilleur outil pour schématiser des
systèmes complexes sous un format graphique et textuel simplifié et normalisé.
En effet UML n’est ni un processus ni une démarche, d’où il fallait choisir une méthodologie
de conception et de développement que nous devons l’adopter.
1. La démarche UP-XP :
L’objectif de la démarche UP-XP est de pouvoir analyser est concevoir un logiciel orienté
objet évolutif et ayant l’aptitude à s’adapter aux éventuels changements que peut connaitre
le métier de l’entreprise à l’avenir en plusieurs niveaux : Fiscale, productif, organisationnel,
juridique, etc.
UP- Unified Process :
La méthode du Processus Unifié (UP pour Unified Process) est un processus de
développement itératif et incrémental, ce qui signifie que le projet est découpé en phases très
courtes à l’issue de chacune desquelles une nouvelle version incrémentée est livrée.
Il s’agit d’une démarche s’appuyant sur la modélisation UML pour la description de
l’architecture du logiciel (fonctionnelle, logicielle et physique) et la mise au point de cas
d’utilisation permettant de décrire les besoins et exigences des utilisateurs.
XP-eXtreme Programming :
La méthode XP (pour eXtreme Programming) définit un certain nombre de bonnes pratiques
permettant de développer un logiciel dans des conditions optimales en plaçant le client du
cœur du processus de développement, en relation étroite avec le client.
L’eXtreme Programming est notamment basé sur les concepts suivants :
 Les équipes de développement travaille directement avec le client sur des cycles très
courts d’une à deux semaines maximum.
Page | 20
 L’équipe livraison de versions du logiciel interviennent très tôt et à une fréquence élevée
pour maximiser l’impact des retours utilisateurs.
 L’équipe de développement travaille en collaboration totale sur la base de binôme …
 Le code est tester et nettoyé tout au long du processus de développement.
 Des indicateurs permettent de mesure l’avancement du projet afin de permettre de mettre
à jour.
2. Phases de modélisation.
Phase d’inception : Recensement et définition des besoins.
C’est la phase ayant comme principal objectif l’identification des principaux acteurs
interagissent avec le système et les fonctionnalités attendues de celui-ci.
Dans un premier temps, nous allons lister l’ensemble des exigences issues du cahier des
charges. Chaque exigence sera recensée et elle pourra être étudiée ultérieurement.
Ces exigences seront regroupées par intentions d’acteur, puis un diagramme de contexte
statique sera établi.
A ce stade, nous pouvons déjà construire un diagramme de cas d’utilisation de notre projet.
Phase d’analyse et de conception :
Il s’agit d’une phase itérative qui vise à analyser et comprendre chaque fonctionnalité
attendue du système en examinant toutes les scénarios compte des scénarios exceptionnels et
des erreurs.
Une description détaillée est faites pour chaque use case, qui peut être complétée par un
diagramme d’activité qui consolide les différents scénarios possibles.
Nous allons réaliser un diagramme de séquence boîte noir correspond au système (Ici c’est
un diagramme de séquence par scénario, ou la boite noir correspond au système informatique
à développer).
A partir des diagrammes de séquences et des descriptions textuelles, nous réaliserons les
diagrammes d’activités et le diagramme de classe d’analyse.
Phase de réalisation :
Dans cette phase nous déduirons à partir du diagramme de classe d’analyse le modèle
logique de donnée pour la création de la base de données et ceci en appliquant les règles de
passages.
Page | 21
3. Le formalisme UML :
UML est considéré comme le langage standard de conception orienté objet, il est un
formalisme et pas une méthode. Il s’en duit qu’il définit un ensemble d’éléments de
modélisation et une notation graphique pour modéliser les systèmes et ne décrit pas les
étapes à suivre pour le faire.
Les raisons qui nous ont poussés à adopter UML dans notre projet se résume en :
UML offre un outil prêt à l’emploi basé sue une modélisation visuelle qui permet d’échanger
des modèles compréhensibles.
Si on développe aves des langages orienté objet, il est plus approprié de concevoir avec des
formalismes Orienté Objet.
Figure 5:Les diagrammes disponibles.
4. L’outil PowerAmc :
PowerAmc [3] est un logiciel de modélisation. Il permet de
modéliser les traitements informatiques et leurs bases de
données associées en n’importe quelles modèles
informatiques. Il reste un des seuls qui permet de travailler
avec la méthode Merise, cela permet d’améliorer la
modélisation, les processus, le coût et la production d’application.
PowerAmc offre des méthodes efficaces d’analyse d’impact, de gestion des changements et
des techniques avancées de gestion des métadonnées.
Page | 22
La combinaison des techniques de modélisation et de la gestion des données confère à
PowerAmc des fonctions uniques lui permettant de prendre en charge tous les
environnements architecturaux. Le référentiel de métadonnées de PowerAmc permet
également à toutes les parties prenantes de l’entreprise de collaborer et de communiquer
efficacement. Ces dernières peuvent ainsi réagir plus rapidement face aux changements et
garantir une meilleure capacité d’adaptation de l’entreprise.
Chapitre 2 : Phase d’inception.
Introduction :
Cette phase consiste à comprendre le contexte du système. Il s’agit de déterminer les
fonctionnalités et les acteurs les plus pertinents, de préciser les risques les plus critiques et
d’identifier les cas d’utilisation initiaux. Ceci dit, notre description va sembler trop détaillée
pour une première phase de processus.
I. Capture des besoins :
1. Définition des besoins fonctionnels :
Il s'agit des fonctionnalités du système. Ce sont les besoins spécifiant un comportement
d'entrée / sortie du Système.
Le système à concevoir doit permettre à l’utilisateur d’effectuer les opérations suivantes:
Référence Fonction
R1 Rechercher certification par mot
R2 Rechercher certification par domaine
R3 Rechercher certification par technologie
R4 Rechercher certification par code
R5 Consulter certification
R6 Consulter la certification prérequis
R7 Consulter les certifications après
R8 Télécharger un PDF de certification
R9 Inscrire pour passer une certification
R10 Consulter les formations
R11 Télécharger un PDF de formation
R12 Inscrire à une formation
R13 Donner l’avis sur formation
R14 Proposer formation
R15 Recevoir les notifications
R16 Authentifier
R17 Ajouter certification
Page | 23
R18 Modifier certification
R19 Supprimer certification
R20 Ajouter compétence
R21 Modifier compétence
R22 Supprimer compétence
R23 Ajouter formation
R24 Modifier formation
R25 Supprimer formation
R26 Ajouter gérant
R27 Modifier gérant
R28 Supprimer gérant
R29 Ajouter formateur
R30 Modifier formateur
R31 Supprimer formateur
R32 Consulter les inscrits aux certifications
R33 Valider l’inscription d’un client à une certification
R34 Consulter les avis
R35 Consulter les propositions
R36 Consulter les inscrits aux formations
R37 Valider l’inscription d’un client à une formation
R38 Envoyer un e-mail
Tableau 1 : Tableau des exigences.
2. Les besoins non fonctionnels :
Les besoins non fonctionnels concernent les contraintes à prendre en considération pour
mettre en place une solution adéquate aux attentes des concepteurs des architectures
dynamiques.
Mon application doit nécessairement assurer ces besoins :
 L’extensibilité : dans le cadre de ce travail, l'application devra être extensible, c'est-à-
dire qu'il pourra y avoir une possibilité d'ajouter ou de modifier de nouvelles
fonctionnalités.
 La sécurité : l’application devra être hautement sécurisée, les informations ne devront
pas être accessibles à tout le monde, c'est-à-dire qu’il existe des fonctionnalités
accessibles par un identifiant et un mot de passe attribué à une personne physique.
 L’interface : avoir une application qui respecte les principes des Interfaces
Homme/Machine (IHM) tels que l'ergonomie et la fiabilité.
 La performance : l’application devra être performante c'est-à-dire que le système
doit réagir dans un délai précis, quel que soit l’action de l’utilisateur.
 La convivialité : l’application doit être simple et facile à manipuler même par des non
experts.
Page | 24
3. Les principaux acteurs du système :
Figure 6 : Diagramme des acteurs.
Client : celui qui n’a pas besoin de s’authentifier pour utiliser leurs fonctionnalités, il peut
rechercher, consulter, télécharger des PDF et proposer des formations ainsi donner des avis et
recevoir des notifications.
Gérant : celui qui est chargé de gérer les certifications, les formations les formateurs et les
inscriptions des clients, aussi consulter les avis et les propositions des clients.
Administrateur : C’est le seul qui peut ajouter, modifier ou supprimer des gérants.
Figure 7 : Diagramme de contexte statique.
Ce diagramme nous permet de préciser au départ la nature du système (Mono
utilisateur/Multi utilisateur) par rapport aux interactions des acteurs à un instant t.
Page | 25
4. Regroupement des exigences par intentions d’acteurs :
Référence Fonction Intention d’acteur Acteur
R1 Rechercher certification par mot Rechercher certification Client
R2 Rechercher certification par domaine Rechercher Certification Client
R3 Rechercher certification par technologie Rechercher certification Client
R4 Rechercher certification par code Rechercher certification Client
R5 Consulter certification Consulter certification Client
R6 Consulter la certification prérequis Consulter certification Client
R7 Consulter les certifications après Consulter certification Client
R8 Télécharger un PDF de certification Télécharger PDF Client
R9 Inscrire pour passer une certification Inscrire Client
R10 Consulter les formations Consulter les formations Client
R11 Télécharger un PDF de formation Télécharger PDF Client
R12 Inscrire à une formation Inscrire Client
R13 Donner l’avis Donner l’avis Client
R14 Proposer formation Proposer formation Client
R15 Recevoir les notifications Recevoir les notifications Client
R16 Authentifier Authentifier Gérant
R17 Ajouter certification Gérer certification Gérant
R18 Modifier certification Gérer certification Gérant
R19 Supprimer certification Gérer certification Gérant
R20 Ajouter compétence Gérer compétence Gérant
R21 Modifier compétence Gérer compétence Gérant
R22 Supprimer compétence Gérer compétence Gérant
R23 Ajouter formation Gérer formation Gérant
R24 Modifier formation Gérer formation Gérant
R25 Supprimer formation Gérer formation Gérant
R26 Ajouter gérant Gérer gérant Admin
R27 Modifier gérant Gérer gérant Admin
R28 Supprimer gérant Gérer gérant Admin
R29 Ajouter formateur Gérer formateur Gérant
R30 Modifier formateur Gérer formateur Gérant
R31 Supprimer formateur Gérer formateur Gérant
R32 Consulter les inscrits aux certifications Gérer les inscriptions Gérant
R33 Valider l’inscription d’un client à une certification Gérer les inscriptions Gérant
R34 Consulter les avis Consulter les avis Gérant
R35 Consulter les propositions Consulter les propositions Gérant
R36 Consulter les inscrits aux formations Gérer les inscriptions Gérant
R37 Valider l’inscription d’un client à une formation Gérer les inscriptions Gérant
R38 Envoyer un e-mail Envoyer un e-mail Gérant
Tableau 2 : Tableau des exigences par intention d’acteur.
II. Diagramme de cas d’utilisation :
Le diagramme de cas d'utilisation décrit les utilisations requises d'un système, ou ce qu'un
système est supposé faire. Les principaux concepts de ce diagramme sont les acteurs, cas
Page | 26
d'utilisation et sujets. Un sujet représente un système avec lequel les acteurs et autres sujets
interagissent.
Figure 8 : Diagramme de cas d’utilisation.
Page | 27
Chapitre 3 : Phase d’analyse et de conception.
Introduction :
Cette phase poursuit la tache entamée dans la phase d’inception, cette phase vise à identifier
et décrire la majorité des besoins utilisateurs, construire l’architecture de base du système et
lever les risques majeurs du projet.
Au niveau de cette phase, j’analyse les différents cas d’utilisation puis j’essaye de les
détaillées pour comprendre chaque fonctionnalité attendue du système en examinant toutes
les scénarios compte des scénarios exceptionnels et des erreurs.
I. Description textuelle des cas d’utilisation :
Pour rendre notre diagramme des cas d’utilisation plus lisible et afin de décrire le
comportement d’un système, les concepteurs d’UML proposent l’utilisation d’une technique
nommé la description textuelle des cas d’utilisation.
1. Authentifier :
Nom de cas
d’utilisation :
Authentifier.
Objectif : Accès aux fonctionnalités attribuées.
Acteurs
principaux :
Gérant.
Rôle de cas
d’utilisation
Ce scénario permet au gérant de s’identifier auprès du
système et d’accéder aux fonctionnalités qui lui sont
attribuées.
Pré-condition : Existence des données dans la base de données.
Post-
condition :
Affichage de la page d’accueil.
Scénario
nominal :
Action des
acteurs
Action du système
1. consulter page
d’authentification
.
2. Afficher page
d’authentification.
3. Introduire Login
et Mot de passe.
4. Vérifier Login et mot de
passe.
5. Valider et afficher la page
d’accueil.
Tableau 3 : Description textuelle de cas d’utilisation « Authentifier ».
Les enchainements alternatifs :
A1 : Login ou Mot de passe erroné
Page | 28
L’enchainement A1 démarre au point 4 du scénario nominal.
5-le système indique à l’utilisateur que le login ou le mot de passe est erroné.
Le scénario nominal reprend au point 3.
A2 : Les champs de saisie sont vides
L’enchainement A2 démarre au point 4 du scénario nominal.
5-le système demande aux utilisateurs de remplir les champs.
Le scénario nominal reprend au point 3.
Les enchainements d’exception :
E1 : Le système ne répond pas
L’enchainement E1 démarre au point 1 du scénario nominal.
2- le système ne répond pas.
Le cas d’utilisation se termine en échec.
2. Gérer les certifications :
Ajouter certification :
Nom de cas
d’utilisation :
Ajouter certification.
Objectif : Effectuer une gestion des certifications.
Acteurs
principaux :
Gérant.
Rôle de cas
d’utilisation
Ce scénario permet au gérant d’ajouter une nouvelle
certification.
Pré-
condition :
Authentification préalable.
Post-
condition :
Une nouvelle certification ajoutée.
Scénario
nominal :
Action des acteurs Action du système
1. Authentification.
2. Demander le
formulaire d’ajout.
3. Afficher le
formulaire.
4. Remplir les champs. 5. Vérifier les
données saisies.
6. Enregistrer la
certification.
7. Envoyer une
notification aux
clients.
8. Afficher un
message de succès.
Tableau 4 : Description textuelle de cas d’utilisation « Ajouter certification ».
Page | 29
Les enchainements alternatifs :
A1 : Données manquants
L’enchainement A1 démarre au point 5 du scénario nominal.
6- le système affiche un message d’erreur.
Le scénario nominal reprend au point 4.
Modifier certification :
Nom de cas
d’utilisation :
Modifier certification.
Objectif : Effectuer une gestion des certifications.
Acteurs
principaux :
Gérant.
Rôle de cas
d’utilisation
Ce scénario permet au gérant de modifier une certification.
Pré-
condition :
Authentification préalable.
Post-
condition :
Une certification bien modifiée.
Scénario
nominal :
Action des acteurs Action du système
1. Authentification.
2. Sélectionner une
certification.
3. Afficher le
formulaire avec les
informations de la
certification.
4. Modifier les champs. 5. Vérifier les
données saisies.
6. Mise à jour de la
certification.
7. Notifier les clients.
8. Afficher un
message de
succès.
Tableau 5 : Description textuelle de cas d’utilisation « Modifier certification ».
Les enchainements alternatifs :
A1 : Aucune certification trouvée
L’enchainement A1 démarre au point 3 du scénario nominal.
4- le système arrête le scénario nominal.
Le scénario s’arrête.
A2 : Données manquants
L’enchainement A2 démarre au point 5 du scénario nominal.
Page | 30
6- le système affiche un message d’erreur.
Le scénario nominal reprend au point 4.
Supprimer certification :
Nom de cas
d’utilisation :
Supprimer certification.
Objectif : Effectuer une gestion des certifications.
Acteurs
principaux :
Gérant.
Rôle de cas
d’utilisation
Ce scénario permet au gérant de supprimer une
certification.
Pré-
condition :
Authentification préalable.
Post-
condition :
Une certification bien supprimée.
Scénario
nominal :
Action des acteurs Action du système
1. Authentification.
2. Sélectionner une
certification.
3. Afficher un
message de
confirmation.
4. Valider son choix. 5. Supprimer les
inscriptions de la
certification.
6. Supprimer la
certification.
7. Afficher un
message de succès.
Tableau 6 : Description textuelle de cas d’utilisation « Supprimer certification ».
Les enchainements alternatifs :
A1 : Aucune certification trouvée
L’enchainement A1 démarre au point 3 du scénario nominal.
4- le système arrête le scénario nominal.
Le scénario s’arrête.
A2 : L’utilisateur annule la suppression
L’enchainement A2 démarre au point 3 du scénario nominal.
4- le système affiche arrête le scénario nominal.
Le scénario nominal s’arrête.
Page | 31
3. Gérer les formations :
Ajouter Formation :
Nom de cas
d’utilisation :
Ajouter formation.
Objectif : Effectuer une gestion des formations.
Acteurs
principaux :
Gérant.
Rôle de cas
d’utilisation
Ce scénario permet au gérant d’ajouter une formation.
Pré-
condition :
Authentification préalable.
Post-
condition :
Une nouvelle formation ajoutée.
Scénario
nominal :
Action des acteurs Action du système
1. Authentification.
2. Demander le
formulaire d’ajout.
3. Afficher le
formulaire.
4. Remplir les champs. 5. Vérifier les
données saisies.
6. Enregistrer la
formation.
7. Notifier les clients.
8. Afficher un
message de succès.
Tableau 7 : Description textuelle de cas d’utilisation « Ajouter formation ».
Les enchainements alternatifs :
A1 : Données manquants
L’enchainement A1 démarre au point 5 du scénario nominal.
6- le système affiche un message d’erreur.
Le scénario nominal reprend au point 4.
Modifier formation :
Nom de cas
d’utilisation :
Modifier formation.
Objectif : Effectuer une gestion des formations.
Acteurs
principaux :
Gérant.
Rôle de cas
d’utilisation
Ce scénario permet au gérant de modifier une formation.
Pré-
condition :
Authentification préalable.
Post-
condition :
Une formation bien modifiée.
Scénario Action des acteurs Action du système
Page | 32
nominal : 1. Authentification.
2. Sélectionner une
formation.
3. Afficher le
formulaire avec les
informations de la
formation.
4. Modifier les champs. 5. Vérifier les
données saisies.
6. Mise à jour de la
formation.
7. Afficher un
message de
succès.
Tableau 8 : Description textuelle de cas d’utilisation « Modifier formation ».
Les enchainements alternatifs :
A1 : Aucune formation trouvée
L’enchainement A1 démarre au point 3 du scénario nominal.
4- le système arrête le scénario nominal.
Le scénario s’arrête.
A2 : Données manquants
L’enchainement A2 démarre au point 5 du scénario nominal.
6- le système affiche un message d’erreur.
Le scénario nominal reprend au point 4.
Supprimer formation :
Nom de cas
d’utilisation :
Supprimer formation.
Objectif : Effectuer une gestion des formations.
Acteurs
principaux :
Gérant.
Rôle de cas
d’utilisation
Ce scénario permet au gérant de supprimer une formation.
Pré-
condition :
Authentification préalable.
Post-
condition :
Une formation bien supprimer et archivée.
Scénario
nominal :
Action des acteurs Action du système
1. Authentification.
2. Sélectionner une
formation.
3. Afficher un
message de
confirmation.
Page | 33
4. Valider son choix. 5. Supprimer les
inscriptions à la
formation.
6. Supprimer la
formation.
7. Afficher un
message de succès.
Tableau 9 : Description textuelle de cas d’utilisation « Supprimer formation ».
Les enchainements alternatifs :
A1 : Aucune formation trouvée
L’enchainement A1 démarre au point 3 du scénario nominal.
4- le système arrête le scénario nominal.
Le scénario s’arrête.
A2 : L’utilisateur annule la suppression
L’enchainement A2 démarre au point 3 du scénario nominal.
4- le système affiche arrête le scénario nominal.
Le scénario s’arrête.
4. Gérer les formateurs :
Ajouter formateur :
Nom de cas
d’utilisation :
Ajouter formateur.
Objectif : Effectuer une gestion des enseignants.
Acteurs
principaux :
Gérant.
Rôle de cas
d’utilisation
Ce scénario permet au gérant d’ajouter un formateur.
Pré-
condition :
Authentification préalable.
Post-
condition :
Un nouvel formateur ajouté.
Scénario
nominal :
Action des acteurs Action du système
1. Authentification.
2. Demander le
formulaire d’ajout.
3. Afficher le
formulaire.
4. Remplir les champs. 5. Vérifier les
données saisies.
6. Enregistrer le
formateur.
7. Afficher un
message de succès.
Page | 34
Tableau 10 : Description textuelle de cas d’utilisation « Ajouter formateur ».
Les enchainements alternatifs :
A1 : Données manquants
L’enchainement A1 démarre au point 5 du scénario nominal.
6- le système affiche un message d’erreur.
Le scénario nominal reprend au point 4.
Modifier formateur :
Nom de cas
d’utilisation :
Modifier formateur.
Objectif : Effectuer une gestion des formateurs.
Acteurs
principaux :
Gérant.
Rôle de cas
d’utilisation
Ce scénario permet au gérant de modifier un formateur.
Pré-
condition :
Authentification préalable.
Post-
condition :
Un formateur bien modifié.
Scénario
nominal :
Action des acteurs Action du système
1. Authentification.
2. Sélectionner un
enseignant.
3. Afficher le
formulaire avec les
informations de
l’enseignant.
4. Modifier les champs. 5. Vérifier les
données saisies.
6. Mise à jour du
formateur.
7. Afficher un
message de
succès.
Tableau 11 : Description textuelle de cas d’utilisation « Modifier formateur ».
Les enchainements alternatifs :
A1 : Aucun enseignant trouvé
L’enchainement A1 démarre au point 2 du scénario nominal.
3- le système arrête le scénario nominal.
Le scénario s’arrête.
A2 : Données manquants
L’enchainement A2 démarre au point 5 du scénario nominal.
Page | 35
6- le système affiche un message d’erreur.
Le scénario nominal reprend au point 4.
Supprimer formateur :
Nom de cas
d’utilisation :
Supprimer formateur.
Objectif : Effectuer une gestion des formateurs.
Acteurs
principaux :
Gérant.
Rôle de cas
d’utilisation
Ce scénario permet au gérant de supprimer un formateur.
Pré-
condition :
Authentification préalable.
Post-
condition :
Un formateur bien supprimé.
Scénario
nominal :
Action des acteurs Action du système
1. Authentification.
2. Sélectionner un
enseignant.
3. Afficher un
message de
confirmation.
4. Valider son choix. 5. Vérifier la
dépendance avec
des formations.
6. Supprimer le
formateur.
7. Afficher un
message de succès.
Tableau : Description textuelle de cas d’utilisation « Supprimer formateur».
Les enchainements alternatifs :
A1 : Aucun enseignant trouvé
L’enchainement A1 démarre au point 2 du scénario nominal.
3- le système arrête le scénario nominal.
Le scénario s’arrête.
A2 : L’utilisateur annulé la suppression
L’enchainement A2 démarre au point 3 du scénario nominal.
4- le système affiche arrête le scénario nominal.
Le scénario s’arrête.
A3 : Le formateur est déjà lié avec des formations
L’enchainement A3 démarre au point 5 du scénario nominal.
Page | 36
7- le système passe au point 2 du scénario nominal.
Le scénario s’arrête.
5. Gérer les gérants :
Ajouter gérant :
Nom de cas
d’utilisation :
Ajouter gérant.
Objectif : Effectuer une gestion des gérants.
Acteurs
principaux :
Admin.
Rôle de cas
d’utilisation
Ce scénario permet à l’admin d’ajouter un gérant.
Pré-
condition :
Authentification préalable.
Post-
condition :
Un nouveau gérant ajouté.
Scénario
nominal :
Action des acteurs Action du système
1. Authentification. 2. Afficher la liste des
gérants.
3. Cliquer sur le
bouton ajouter
gérant.
4. Remplir les
informations.
5. Vérifier les
données saisies.
6. Enregistrer le
gérant.
7. Afficher un
message de succès.
Tableau 13 : Description textuelle de cas d’utilisation « Ajouter gérant ».
Les enchainements alternatifs :
A1 : Données manquants
L’enchainement A1 démarre au point 5 du scénario nominal.
6- le système affiche un message d’erreur.
Le scénario nominal reprend au point 4.
Modifier gérant :
Nom de cas
d’utilisation :
Modifier gérant.
Objectif : Effectuer une gestion des gérants.
Acteurs
principaux :
Admin.
Rôle de cas
d’utilisation
Ce scénario permet à l’admin de modifier un gérant.
Pré-
condition :
Authentification préalable.
Page | 37
Post-
condition :
Un gérant bien modifié.
Scénario
nominal :
Action des acteurs Action du système
1. Authentification. 2. Afficher la liste des
gérants.
3. Cliquer sur le
bouton modifier
gérant.
4. Entrer le nouveau
mot de passe.
5. Vérifier le mot de
passe.
6. Enregistrer les
modifications.
7. Afficher un
message de succès.
Tableau 14 : Description textuelle de cas d’utilisation « Modifier gérant ».
Les enchainements alternatifs :
A1 : Aucun gérant trouvé
L’enchainement A1 démarre au point 2 du scénario nominal.
3- le système arrête le scénario nominal.
Le scénario s’arrête.
A2 : Données manquants
L’enchainement A2 démarre au point 5 du scénario nominal.
6- le système affiche un message d’erreur.
Le scénario nominal reprend au point 4.
Supprimer gérant :
Nom de cas
d’utilisation :
Supprimer gérant.
Objectif : Effectuer une gestion des enseignants.
Acteurs
principaux :
Admin.
Rôle de cas
d’utilisation
Ce scénario permet à l’admin de supprimer un gérant.
Pré-
condition :
Authentification préalable.
Post-
condition :
Un gérant bien supprimé.
Scénario
nominal :
Action des acteurs Action du système
1. Authentification. 2. Afficher la liste des
gérants.
3. Cliquer sur le
bouton supprimer
4. Afficher un
message de
Page | 38
gérant. confirmation.
5. Valider son choix. 6. Vérifier les
données saisies.
7. Supprimer le
gérant.
8. Afficher un
message de succès.
Tableau 15: Description textuelle de cas d’utilisation « Supprimer gérant ».
Les enchainements alternatifs :
A1 : Aucun gérant trouvé
L’enchainement A1 démarre au point 2 du scénario nominal.
3- le système arrête le scénario nominal.
Le scénario s’arrête.
A2 : L’utilisateur annule la suppression
L’enchainement A2 démarre au point 4 du scénario nominal.
5- le système affiche arrête le scénario nominal.
Le scénario s’arrête.
6. Gérer les compétences :
Ajouter compétence :
Nom de cas
d’utilisation :
Ajouter compétence.
Objectif : Effectuer une gestion des compétences.
Acteurs
principaux :
Gérant.
Rôle de cas
d’utilisation
Ce scénario permet au gérant d’ajouter une compétence.
Pré-
condition :
Authentification préalable.
Post-
condition :
Une nouvelle compétence ajoutée.
Scénario
nominal :
Action des acteurs Action du système
1. Authentification.
2. Sélectionner une
certification.
3. Afficher la liste des
compétences.
Page | 39
4. Cliquer sur le
bouton ajouter
compétence.
5. Remplir les
informations.
6. Vérifier les
données saisies.
7. Enregistrer la
compétence.
8. Afficher un
message de succès.
Tableau 16 : Description textuelle de cas d’utilisation « Ajouter compétence ».
Les enchainements alternatifs :
A1 : Données manquants
L’enchainement A1 démarre au point 6 du scénario nominal.
7- le système affiche un message d’erreur.
Le scénario nominal reprend au point 5.
Modifier compétence :
Nom de cas
d’utilisation :
Modifier compétence.
Objectif : Effectuer une gestion des compétences.
Acteurs
principaux :
Gérant.
Rôle de cas
d’utilisation
Ce scénario permet au gérant de modifier un gérant.
Pré-
condition :
Authentification préalable.
Post-
condition :
Une compétence bien modifiée.
Scénario
nominal :
Action des acteurs Action du système
1. Authentification.
2. Sélectionner une
certification.
3. Afficher la liste des
compétences.
4. Cliquer sur le
bouton modifier
compétences.
5. Entrer la nouvelle
valeur.
6. Vérifier le champ.
7. Enregistrer les
modifications.
8. Afficher un
message de succès.
Tableau 17 : Description textuelle de cas d’utilisation « Modifier compétence ».
Les enchainements alternatifs :
A1 : Aucune compétence trouvée
L’enchainement A1 démarre au point 2 du scénario nominal.
3- le système arrête le scénario nominal.
Le scénario s’arrête.
Page | 40
A2 : Données manquants
L’enchainement A2 démarre au point 6 du scénario nominal.
6-le système affiche un message d’erreur.
Le scénario nominal reprend au point 5.
Supprimer compétence :
Nom de cas
d’utilisation :
Supprimer compétence.
Objectif : Effectuer une gestion des compétences.
Acteurs
principaux :
Gérant.
Rôle de cas
d’utilisation
Ce scénario permet au gérant de supprimer une
compétence.
Pré-
condition :
Authentification préalable.
Post-
condition :
Une compétence bien supprimée.
Scénario
nominal :
Action des acteurs Action du système
1. Authentification.
2. Sélectionner une
certification.
3. Afficher la liste des
compétences.
4. Cliquer sur le
bouton supprimer
compétence.
5. Afficher un
message de
confirmation.
6. Valider son choix. 7. Supprimer la
compétence.
8. Afficher un
message de succès.
Tableau 18 : Description textuelle de cas d’utilisation « Supprimer compétence ».
Les enchainements alternatifs :
A1 : Aucune compétence trouvée
L’enchainement A1 démarre au point 2 du scénario nominal.
3- le système arrête le scénario nominal.
Le scénario s’arrête.
A2 : L’utilisateur annule la suppression
L’enchainement A2 démarre au point 5 du scénario nominal.
6- le système affiche arrête le scénario nominal.
Le scénario s’arrête.
Page | 41
7. Gérer les inscriptions :
Nom de cas
d’utilisation :
Gérer les inscriptions.
Objectif : Effectuer une consultation des inscriptions aux certifications
ou formations et les validées.
Acteurs
principaux :
Gérant.
Rôle de cas
d’utilisation
Ce scénario permet au gérant de consulter la liste des
inscrits aux certifications ou aux formations et validée une
ou plusieurs.
Pré-
condition :
Authentification préalable.
Post-
condition :
Message de confirmation envoyé au client.
Scénario
nominal :
Action des acteurs Action du système
1. Authentification.
2. Sélectionner
formation/Certification.
3. Afficher la liste
des inscrits.
4. Valider une inscription. 5. Valider
l’inscription.
6. Envoyer un e-
mail de
confirmation au
client.
7. Message de
succès.
Tableau 19 : Description textuelle de cas d’utilisation « Gérer inscriptions ».
Les enchainements alternatifs :
A1 : Aucune inscription trouvée
L’enchainement A1 démarre au point 3 du scénario nominal.
4- le système arrête le scénario nominal.
Le scénario s’arrête.
8. Rechercher certification :
Nom de cas
d’utilisation :
Rechercher certification.
Objectif : Effectuer une recherche de certifications.
Acteurs
principaux :
Client.
Rôle de cas
d’utilisation
Ce scénario permet au client de rechercher une
certification.
Pré-condition : Liste des certifications existes.
Page | 42
Post-
condition :
Les certifications sont bien affichées.
Scénario
nominal :
Action des
acteurs
Action du système
1. Demande la
page de
recherche.
2. Afficher la page.
3. Remplir les
informations.
4. Vérification des
champs.
5. Liste des certifications.
Tableau 20 : Description textuelle de cas d’utilisation « Rechercher certification ».
Les enchainements alternatifs :
A1 : Données manquants
L’enchainement A1 démarre au point 4 du scénario nominal.
5- le système affiche un message d’erreur.
Le scénario nominal reprend au point 3.
9. Consulter certification :
Nom de cas
d’utilisation :
Consulter certification.
Objectif : Consulter une certification.
Acteurs
principaux :
Client.
Rôle de cas
d’utilisation
Ce scénario permet au client de consulter une certification.
Pré-condition : Le client vient de faire une recherche.
Post-
condition :
Les informations de la certification sont bien affichées.
Scénario
nominal :
Action des
acteurs
Action du système
1. Demande la
page de
certification.
2. Afficher la page.
Tableau 21 : Description textuelle de cas d’utilisation « Consulter certification ».
10.Consulter les formations :
Nom de cas
d’utilisation :
Consulter les formations.
Objectif : Consulter les formations.
Acteurs
principaux :
Client.
Rôle de cas Ce scénario permet au client de consulter une formation.
Page | 43
d’utilisation
Pré-condition : Existence des formations.
Post-
condition :
Les formations ont bien affichées.
Scénario
nominal :
Action des
acteurs
Action du système
1. Demande la
liste des
formations.
2. Afficher la liste.
3. Cliquer pour
consulter une
formation.
4. Consultation de la
formation.
Tableau 22 : Description textuelle de cas d’utilisation « Consulter les formations ».
Les enchainements alternatifs :
A1 : Aucune formation trouvée
L’enchainement A1 démarre au point 2 du scénario nominal.
3- le système affiche un message d’erreur.
Le scénario nominal arrête.
11.Donner avis :
Nom de cas
d’utilisation :
Donner avis.
Objectif : Donner un avis.
Acteurs
principaux :
Client.
Rôle de cas
d’utilisation
Ce scénario permet au client la possibilité de donné son
avis.
Pré-condition :
Post-
condition :
L’avis est bien enregistré.
Scénario
nominal :
Action des
acteurs
Action du système
1. Cliquer sur
donné un avis.
2. Afficher le formulaire.
3. Remplir les
champs.
4. Vérifier les champs.
5. Enregistrer l’avis.
6. Afficher un message de
succès.
Tableau 23 : Description textuelle de cas d’utilisation « Donner avis ».
Les enchainements alternatifs :
Page | 44
A1 : Données manquants.
L’enchainement A1 démarre au point 3 du scénario nominal.
4- le système affiche un message d’erreur.
Le scénario nominal reprend le point 2.
12.Proposer formation :
Nom de cas
d’utilisation :
Proposer formation.
Objectif : Proposer une formation n’existe pas.
Acteurs
principaux :
Client.
Rôle de cas
d’utilisation
Ce scénario permet au client la possibilité de proposer une
formation qui n’existe pas.
Pré-condition : Consulter une formation.
Post-
condition :
La proposition est bien enregistrée.
Scénario
nominal :
Action des
acteurs
Action du système
1. Cliquer sur
proposer
formation.
2. Afficher le formulaire.
3. Remplir les
champs.
4. Vérifier les champs.
5. Enregistrer la
proposition.
6. Afficher un message de
succès.
Tableau 24 : Description textuelle de cas d’utilisation « Proposer formation ».
Les enchainements alternatifs :
A1 : Données manquants.
L’enchainement A1 démarre au point 4 du scénario nominal.
5- le système affiche un message d’erreur.
Le scénario nominal reprend le point 3.
13.Recevoir les notifications :
Nom de cas
d’utilisation :
Recevoir les notifications.
Objectif : Recevoir les derniers certifications et formations.
Acteurs
principaux :
Client.
Rôle de cas
d’utilisation
Ce scénario permet au client d’inscrire pour recevoir les
derniers certifications et formations et offres.
Page | 45
Pré-condition :
Post-
condition :
L’inscription est bien faite.
Scénario
nominal :
Action des
acteurs
Action du système
1. Remplir les
champs.
2. Vérifier les champs.
3. Enregistrer l’inscription.
4. Afficher un message de
succès.
Tableau 25 : Description textuelle de cas d’utilisation « Recevoir les notifications ».
Les enchainements alternatifs :
A1 : Données manquants.
L’enchainement A1 démarre au point 2 du scénario nominal.
3- le système affiche un message d’erreur.
Le scénario nominal reprend le point 1.
14.Inscrire :
Nom de cas
d’utilisation :
Inscrire.
Objectif : L’inscription à une formation, pour passer une certification
ou bien pour proposer formation.
Acteurs
principaux :
Client.
Rôle de cas
d’utilisation
Ce scénario permet au client d’inscrire à une formation,
pour passer une certification ou bien pour proposer
formation.
Pré-condition : ----
Post-
condition :
L’inscription est bien faite.
Scénario
nominal :
Action des
acteurs
Action du système
1. Demande la
page
d’inscription.
2. Afficher le formulaire.
3. Remplir les
champs.
4. Vérifier les champs.
5. Enregistrer l’inscription.
6. Afficher un message de
succès.
Tableau 26 : Description textuelle de cas d’utilisation « Inscrire ».
Les enchainements alternatifs :
A1 : Données manquants.
L’enchainement A1 démarre au point 4 du scénario nominal.
Page | 46
5- le système affiche un message d’erreur.
Le scénario nominal reprend le point 3.
15.Consulter les avis :
Nom de cas
d’utilisation :
Consulter les avis.
Objectif : Consultation des avis de clients.
Acteurs
principaux :
Gérant.
Rôle de cas
d’utilisation
Ce scénario permet au gérant de consulter les avis des
clients.
Pré-condition : Authentification préalable.
Post-
condition :
Les avis sont bien affichés.
Scénario
nominal :
Action des
acteurs
Action du système
1. Demande la
liste des avis.
2. Afficher les avis.
3. Demande le
répond à un
avis.
4. Afficher le formulaire.
5. Remplir les
informations.
6. Vérifier les champs.
7. Envoyer e-mail au
client.
8. Supprimer l’avis.
9. Afficher un message de
succès.
Tableau 27 : Description textuelle de cas d’utilisation « Consulter les avis ».
Les enchainements alternatifs :
A1 : Données manquants.
L’enchainement A1 démarre au point 6 du scénario nominal.
7- le système affiche un message d’erreur.
Le scénario nominal reprend le point 5.
16.Télécharger PDF :
Nom de cas
d’utilisation :
Télécharger un PDF.
Objectif : Consulter les formations et les certifications en format
PDF.
Acteurs
principaux :
Gérant.
Rôle de cas Ce scénario permet au client Consulter et télécharger les
Page | 47
d’utilisation formations et les certifications en format PDF.
Pré-condition : Consulter une formation/certification.
Post-
condition :
Le PDF bien affiché pour le télécharger.
Scénario
nominal :
Action des
acteurs
Action du système
1. Demande la
page de PDF.
2. Afficher le PDF.
Tableau 28 : Description textuelle de cas d’utilisation « Télécharger PDF ».
17.Consulter les propositions :
Nom de cas
d’utilisation :
Consulter les propositions.
Objectif : Afficher les propositions au gérant.
Acteurs
principaux :
Gérant.
Rôle de cas
d’utilisation
Ce scénario permet au gérant de consulter les propositions
des formations des clients.
Pré-condition : Authentification préalable.
Post-
condition :
La liste des propositions est bien affichée.
Scénario
nominal :
Action des
acteurs
Action du système
1. Demande la
liste des
propositions.
2. Afficher la liste.
Tableau 29 : Description textuelle de cas d’utilisation « Consulter les propositions ».
Les enchainements alternatifs :
A1 : Le gérant supprimer une proposition.
L’enchainement A1 démarre au point 2 du scénario nominal.
3- le système affiche un message de confirmation.
4- Le gérant valide son choix.
Le scénario nominal arrête.
18.Envoyer e-mail :
Nom de cas
d’utilisation :
Envoyer e-mail.
Objectif : L’envoie d’un e-mail.
Acteurs
principaux :
Gérant.
Rôle de cas Ce scénario permet au gérant d’envoyer un email au client.
Page | 48
d’utilisation
Pré-
condition :
Demande de l’envoie.
Post-
condition :
L’e-mail est bien envoyé.
Scénario
nominal :
Action des acteurs Action du système
1. Envoyer les
informations
nécessaires.
2. Envoyer l’e-mail.
3. Afficher un
message de
succès.
Tableau 30 : Description textuelle de cas d’utilisation « Envoyer e-mail ».
II. Diagramme de séquence « Boite noire » :
Pour schématiser la vue comportementale de notre système informatique, nous faisons
recours au diagramme de séquence d’UML. Ce diagramme permet de préciser les
interactions entre l’acteur et le système avec des messages présentés dans un ordre
chronologique. Le diagramme de séquence système traite le système informatique comme
étant une boite noir. Le comportement du système est décrit vu de l’extérieur sans avoir
d’idée sur comment il le réalisera.
1. Inscrire:
Figure 9 : Diagramme de séquence « Inscrire ».
Page | 49
2. Authentifier :
Figure 10 : Diagramme de séquence « Authentifier ».
1. Envoyer e-mail :
Figure 11 : Diagramme de séquence « Envoyer e-mail ».
Page | 50
2. Gérer les certifications :
Figure 12 : Diagramme de séquence « Gérer les certifications ».
Page | 51
3. Gérer les formations :
Figure 13 : Diagramme de séquence « Gérer formations ».
Page | 52
4. Gérer les formateurs :
Figure 14 : Diagramme de séquence « Gérer les formateurs ».
Page | 53
5. Gérer les gérants :
Figure 15: Diagramme de séquence « Gérer les gérants ».
Page | 54
6. Gérer les compétences :
Figure 16 : Diagramme de séquence « Gérer les compétences ».
Page | 55
7. Gérer les inscriptions :
Figure 17 : Diagramme de séquence « Gérer les inscriptions ».
8. Rechercher certification :
Figure 18 : Diagramme de séquence « Rechercher certification».
Page | 56
9. Consulter certification :
Figure 19 : Diagramme de séquence « Consulter certification ».
Page | 57
10.Consulter formation :
Figure 20 : Diagramme de séquence « Consulter formation ».
11.Donner avis :
Figure 21: Diagramme de séquence « Donner avis ».
Page | 58
12.Proposer formation :
Figure 22 : Diagramme de séquence « Proposer formation ».
13.Recevoir les notifications :
Figure 23 : Diagramme de séquence « Recevoir les notifications ».
Page | 59
14.Consulter les propositions :
Figure 24 : Diagramme de séquence « Consulter les propositions ».
15.Consulter les avis :
Figure 25 : Diagramme de séquence « Consulter les avis ».
Page | 60
III. Diagramme d’activité :
Le diagramme d'activité est un diagramme comportemental d'UML, permettant de
représenter le déclenchement d'événements en fonction des états du système et de modéliser
des comportements pouvant être parallèles. Le diagramme d'activité est également utilisé
pour décrire un flux de travail.
1. Authentifier :
Figure 26 : Diagramme d’activité « Authentifier ».
Page | 61
2. Consulter certification :
Figure 27 : Diagramme d’activité « Consulter certification ».
3. Consulter formation :
Page | 62
Figure 28 : Diagramme d’activité « Consulter formation ».
4. Gérer les certifications :
Figure 29 : Diagramme d’activité « Gérer certifications ».
5. Gérer les formations :
Page | 63
Figure 30 : Diagramme d’activité « Gérer formations ».
6. Gérer les compétences :
Figure 31 : Diagramme d’activité « Gérer compétences ».
7. Gérer les gérants :
Figure 32 : Diagramme d’activité « Gérer gérants ».
Page | 64
8. Gérer les formateurs :
Figure 33 : Diagramme d’activité « Gérer formateurs ».
9. Gérer les inscriptions :
Figure 34 : Diagramme d’activité « Gérer les inscriptions ».
10. Consulter les avis/propositions :
Page | 65
Figure 35 : Diagramme d’activité « Consulter les avis/propositions ».
11. Recevoir les notifications/Proposer formation/Donner avis :
Figure 36 : Diagramme d’activité «Recevoir les notifications/Proposer
formation/Donner avis ».
IV. Diagramme de classe d’analyse :
Le diagramme de classes est considéré comme le plus important de la modélisation orientée
objet, il est le seul obligatoire lors d’une telle modélisation. Le diagramme de classes montre
la structure interne du système. Il permet de fournir une représentation abstraite des objets du
système qui vont interagir ensemble pour réaliser les cas d’utilisation. Il s’agit d’une vue
statique car on ne tient pas compte du facteur temporel dans le comportement du système.
Les principaux éléments de cette vue statique sont les classes et leurs relations : association,
généralisation et plusieurs types de dépendances, telles que la réalisation et l’utilisation. Une
classe-association possède les caractéristiques des associations et des classes : elle se
connecte à deux ou plusieurs classes et possède également des attributs et des opérations.
Une classe-association est caractérisée par un trait discontinu entre la classe et l’association.
Une classe est une description d'un groupe d'objets partageant un ensemble commun de
propriétés (les attributs), de comportements (les opérations ou méthodes) et de relations avec
d'autres objets (les associations et les agrégations).
Une classe de conception est composée par :
 Attribut chaque attribut d’une classe est le même pour chaque instance de cette
classe.
 Méthodes elle définit le comportement d’une classe elle-même, et non le
comportement de ses instances qui peut être différent.
Page | 66
Le schéma ci-dessous représente le diagramme de classe qu’on a établi pour la
conception du système.
Figure 37 : Diagramme de classe d’analyse.
V. Base de données :
1. Modèle logique de données :
Le modèle logique des données (MLD) précise le modèle conceptuel par des choix
organisationnels. Il s’agit d’une transcription (également appelée dérivation) du MCD dans
un formalisme adapté à une implémentation ultérieure, au niveau physique, sous forme de
base de données relationnelle ou réseau, ou autres. Les choix techniques d’implémentation
(choix d’un SGBD) ne seront effectués qu’au niveau suivant.
Page | 67
Figure 38 : Modèle logique de données(MLD).
2. Modèle physique de données :
Le modèle physique des données consiste à implémenter le modèle dans le SGBD, c'est-à-
dire le traduire dans un langage de définition de données. Le langage généralement utilisé
pour ce type d'opération est le SQL, et plus spécialement le langage de définition de données
du SQL.
Page | 68
Figure 39 : Modèle physique de données(MPD).
VI. Prototype des interfaces :
Dans le domaine du web, une technique est apparue et prend une place très importante dans
le développement des applications Web, il s’agit de prototypage. Cette technique consiste
préparer quelques interfaces graphiques de l’application en utilisant un outil de conception de
prototypage afin de mesurer le degré de satisfaction du client par rapport à la compréhension
du projet par le développeur. L’interaction qui se produit entre l’utilisateur final et le
développeur, à la suite de la discussion sur ces interfaces, permet d’ajuster les besoins et de
les concevoir de manière précise et exacte. En effet les interfaces graphique font que
l’utilisateur final soit plus interactif, précis et le poussent à mieux s’exprimer quant à ses
attentes. Ci-dessus quelques interfaces réalisées avec l’outil Balsamiq Mockups [4].
Page | 69
1. Authentifier :
Figure 40 : Interface authentifié.
2. Rechercher certification :
Figure 41 : Interface rechercher certification.
Page | 70
3. Consulter certification :
Figure 42 : Interface consulter certification.
4. Gérer certification, formation et formateur :
Figure 43 : Interfaces gérer les certifications, formations, formateurs.
Page | 71
5. Consulter les formations :
Figure 44 : Interface consulter les formations.
6. Gérer avis et propositions :
Figure 45 : Interface gérer avis et propositions.
Page | 72
7. Inscrire :
Figure 46 : Interface inscrire.
8. Gérer gérant :
Figure 47 : Interface gérer gérants.
Page | 73
9. Gérer inscriptions :
Figure 48 : Interface gérer inscriptions.
10. Gérer compétences :
Figure 49 : Interface gérer les compétences.
Page | 74
Chapitre 4 : Phase de réalisation.
Introduction :
Cette phase est la dernière phase dans le cycle de développement d’un logiciel avec la
démarche UP-XP. Cette phase est souvent appelée phase d’implémentation. Les
tâches effectuées pendant cette phase ne sont pas claires, et ils dépendent fortement du
type de déploiement du logiciel.
Pour mon projet, ce chapitre sera consacré pour la présentation des langages et outils
de programmation utilisés pour la réalisation de mon application, puis je finirai par
quelques interfaces graphiques du logiciel fourni.
I. Environnement logiciel :
Nous avons énuméré au cours de cette partie les différents outils utilisés tout au long
de ce projet pour l’étude et la mise en place de notre application.
1. Eclipse :
Eclipse IDE est un environnement de développement intégré libre (le
terme Eclipse désigne également le projet correspondant, lancé par IBM)
extensible, universel et polyvalent, permettant potentiellement de créer des
projets de développement mettant en œuvre n'importe quel langage de
programmation. Eclipse IDE est principalement écrit en Java (à l'aide de la bibliothèque
graphique SWT, d'IBM), et ce langage, grâce à des bibliothèques spécifiques, est également
utilisé pour écrire des extensions.
2. MySQL :
MySQL est un système de gestion de base de données relationnelle. Une
base de données relationnelle augmente la vitesse et la flexibilité, en
stockant des données dans des tables séparées plutôt que de mettre toutes
les données dans un secteur. Ces tables sont liées par des relations définies permettant de
combiner des données de plusieurs tables sur demande. Employer une SGBDR signifie qu'il
Page | 75
est possible d'ajouter, d'accéder, et de traiter les données stockées dans votre base de
données. SQL est ‘Structured Query Language ‘ le language normalisé le plus commun pour
accéder à des bases de données.
3. Apache tomcat :
Apache Tomcat est un conteneur web libre de servlets et JSP Java EE.
Issu du projet Jakarta, c'est un des nombreux projets de l’Apache
Software Foundation. Il implémente les spécifications des servlets et
des JSP du Java Community Process1, est paramétrable par des fichiers
XML et de propriétés, et inclut des outils pour la configuration et la gestion. Il comporte
également un serveur HTTP.
II. Technologies et langages utilisés :
1. Java EE (Java Enterprise Edition) [5]
Java Enterprise Edition, ou Java EE (anciennement J2EE), est
une spécification pour la technique Java de Oracle plus particulièrement
destinée aux applications d’entreprise. Ces applications sont
considérées dans une approche multi-niveaux1. Dans ce but, toute
implémentation de cette spécification contient un ensemble d’extensions au Framework Java
standard (JSE, Java Standard Edition) afin de faciliter notamment la création d’applications
réparties.
2. HTML
HTML (Hyper Text Markup Language / langage hypertexte) est le
langage dans lequel sont écrites les pages du web. Un site web est
constitué d’un ou plusieurs documents HTML, appelées aussi pages. Pour
se déplacer d’une page à l’autre dans nos modules on passe par
l’intermédiaire d'hyperliens. Pour ajouter des objets graphiques on utilise
le HTML d’autre part pour tester des pages web html en local, il suffit d'ouvrir le fichier dans
un navigateur. Le HTML n’est pas un langage de programmation comme le C++. Les
langages dynamiques comme PHP et JavaScript vont d' ailleurs générer des pages HTML
statiques.
Page | 76
3. JavaScript [6]
JavaScript est un langage de programmation de scripts principalement
utilisé dans les pages web interactives. C'est un langage orienté objets à
prototype, c'est-à-dire que les bases du langage et ses principales interfaces
sont fournies par des objets qui ne sont pas des instances de classes, mais
qui sont chacun équipés de constructeurs permettant de générer leurs propriétés, et
notamment une propriété de prototypage qui permet d'en générer des objets héritiers
personnalisés.
Le langage a été créé en 1995 par Brendan Eich pour le compte de Netscape
Communications Corporation. Le langage actuellement à la version 1.7 est une
implémentation du standard ECMA-262. La version 1.8 est en développement et intégrera
des éléments du langage Python. La version 2.0 du langage est prévue pour intégrer la 4e
version du standard ECMA.
4. JQuery [7]
C'est une bibliothèque (sous licence GPL) de fonctions JavaScript
permettant au programmeur de s'affranchir des tâches "bas niveau"
répétitives et qui fonctionnent sur les navigateurs les plus courants. Son
installation dans chaque page web doit être effectuée en premier par la
directive : <script type="text/javascript" src="jQuery-1.4.1.js"></script>.
5. CSS
CSS (Cascading Style Sheets) comme par exemple la couleur du fond de
la page ou le type de police même document des caractéristiques de mise
forme associées à des groupes d’éléments. Il suffit de définir par un nom
un ensemble de définitions et de caractéristiques de mise en forme, et
elles permettent notamment:
 D’obtenir une présentation homogène sur tout un site en faisant appel sur toutes les pages
à une même définition de style.
 De permettre le changement de l’aspect d’un site complet entier par la seule modification
de quelques lignes
Page | 77
 Une plus grande lisibilité du HTML, car les styles sont définis à part. Des chargements de
pages plus rapides, pour les même raison que précédemment.
6. Ajax
Ajax (Asynchronous JavaScript and XML) permet de
construire des applications Web et des sites web dynamiques
interactifs sur le poste client en se servant de différentes
technologies ajoutées aux navigateurs web.
Ajax combine JavaScript, les CSS, JSON, XML, le DOM et
le XMLHttpRequest afin d'améliorer maniabilité et confort d'utilisation des applications
internet riches.
III. Développement :
1. Choix de la plateforme Java EE :
Pour le développement de l’application, nous avons utilisé la plateforme Java EE (Java
Edition Entreprise).
Parmi les avantages de la plateforme Java EE, on peut citer :
 Technologie sans frais : Java (sur le quel est basé Java EE) est une technologie Open
Source, les outils de développement JEE sont disponibles gratuitement.
 Maintenabilité : Les applications Java EE sont plus faciles à entretenir, dans la
plupart des cas, ils sont conçus en plusieurs couches. Il est facile d'ajouter de
nouvelles fonctionnalités tierces pour les applications Java EE en raison de sa fonction
d'évolutivité.
 Indépendance : Les applications développées avec Java EE peuvent être déployées
sur la plupart des matériels disponibles. Elles offrent une flexibilité de matériel à
l'utilisateur final. Ainsi, l’utilisateur peut déployer et exécuter des applications Java
EE sur le système d'exploitation et le matériel de son choix.
2. Choix de développement
Pour le développement, nous avons appliqué le modèle Model-View-Controller (MVC).
Ce paradigme divise l’IHM (Interface Homme Machine) en un modèle (M pour modèle de
données) une vue (V pour la présentation, l’interface utilisateur) et un contrôleur (C pour la
logique de contrôle, et la gestion des événements / synchronisation), chacun ayant un rôle
précis dans l'interface.
Page | 78
L'organisation globale d'une interface graphique est souvent délicate. L'architecture MVC ne
résout pas tous les problèmes. Elle fournit souvent une première approche qui peut ensuite
être adaptée. Elle offre aussi un cadre pour structurer une application.
Ce patron d'architecture impose la séparation entre les données, la présentation et les
traitements, ce qui donne trois parties fondamentales dans l'application finale : le modèle, la
vue et le contrôleur.
Figure 50 : Modèle MVC (Modèle – Vue – Contrôleur).
 Le modèle :
Le modèle représente le comportement de l'application : traitements des données, interactions
avec la base de données, etc. Il décrit ou contient les données manipulées par l'application. Il
assure la gestion de ces données et garantit leur intégrité. Dans le cas typique d'une base de
données, c'est le modèle qui la contient. Le modèle offre des méthodes pour mettre à jour ces
données (insertion, suppression, changement de valeur). Il offre aussi des méthodes pour
récupérer ces données. Les résultats renvoyés par le modèle sont dénués de toute
présentation.
 La vue
La vue correspond à l'interface avec laquelle l'utilisateur interagit. Sa première tâche est de
présenter les résultats renvoyés par le modèle. Sa seconde tâche est de recevoir toutes les
actions de l'utilisateur (clic de souris, sélection d'une entrée, boutons, etc.). Ces différents
Page | 79
événements sont envoyés au contrôleur. La vue n'effectue aucun traitement, elle se contente
d'afficher les résultats des traitements effectués par le modèle et d'interagir avec l'utilisateur.
 Le contrôleur
Le contrôleur prend en charge la gestion des événements de synchronisation pour mettre à
jour la vue ou le modèle et les synchroniser. Il reçoit tous les événements de l'utilisateur et
enclenche les actions à effectuer. Si une action nécessite un changement des données, le
contrôleur demande la modification des données au modèle, et ce dernier notifie la vue que
les données ont changée pour qu'elle les mette à jour.
IV. Les interfaces de l’application :
1. Authentifier :
Cette interface permet au gérant d’accéder au leurs profil pour la gestion.
Figure 51 : Page d’authentification.
2. Rechercher certification :
Cette interface permet au client de rechercher une certification soit par son code, son
domaine, sa technologie ou bien un mot qui signifie la certification.
Page | 80
Figure 52 : Page de recherche.
3. Consulter formations :
Cette interface permet au client de consulter les formations.
Figure 53 : Page consulter les formations.
Page | 81
4. Consulter certification :
Après la recherche l’interface qui va afficher est la page de consultation de la certification.
Figure 54 : Page consulter certification.
5. Consulter les avis :
Cette page permet au gérant de consulter les avis et les supprimer (si aucun avis trouvés un
message va afficher).
Figure 55 : Page consulter les avis.
Page | 82
6. Gérer les certifications :
Cette page permet au gérant de gérer les certifications (ajouter, modifier, supprimer).
Figure 56 : Page gérer les certifications.
7. Gérer les formations :
Cette page permet au gérant de gérer les formations (ajouter, modifier, supprimer).
Figure 57 : Page gérer les formations.
8. Inscrire :
Cette page permet au client d’inscrire à une certification, formation ou bien pour proposer
une formation.
Page | 83
Figure 58 : Page d’inscription.
9. Gérer les formateurs :
Cette page permet au gérant de gérer les formateurs (ajouter, modifier, supprimer).
Figure 59 : Page gérer les formateurs.
Page | 84
10.Gérer les compétences :
Cette page permet au gérant de gérer les compétences (ajouter, modifier, supprimer), le
tableau montre après la sélection d’une certification.
Figure 60 : Page gérer les compétences.
11.Gérer les gérants :
Cette page permet à l’administrateur de gérer les gérants (ajouter, modifier, supprimer).
Figure 61 : Page gérer les gérants.
Page | 85
12.Gérer les inscriptions :
Cette page permet au gérant de valider les inscriptions des clients.
Figure 62 : Page gérer les inscriptions.
13.Consulter les propositions :
Cette page permet au gérant de consulter les propositions et les supprimer.
Figure 63 : Page Consulter les propositions.
Page | 86
Conclusion générale.
Dans le cadre de mon projet de fin d’étude, j’ai conçu de développer une application de
gestion des certifications et formations pour la société Pluralis Consulting. Le présent
manuscrit détaille toutes les étapes par lesquelles je suis passée pour arriver au résultat
attendu. J’ai essayé tout au long de mon travail de construire une application concrète en
utilisant la démarche UP-XP.
Ce projet m’a donné l’opportunité de s’initier à la vie professionnelle dans un milieu réel et
avoir un début d’expérience significatif, et il m’ a appris comment réussir de bonnes relations
pour assurer un travail de groupe, comment compter sur soi pour résoudre les problèmes au
cas où ils se présentent, comment être méticuleuses dans notre travail, comment être
attentives aux indications de mes supérieurs, comment être bien organisées pour accomplir
dans les meilleurs délais et meilleures conditions les tâches qui m’ont été confié.
Au cours de la réalisation de mon projet, j’ai été astreinte par quelques limites notamment, la
contrainte du temps qui était relativement un obstacle devant l’ajout de certaines autres
fonctionnalités. Cependant, il était une occasion pour mettre en évidence et déployer sur le
plan pratique mes connaissances en informatique.
Le projet peut être amélioré, en lui ajoutant quelques modules ou interfaces pour mieux
l’adopter aux besoins de l’utilisateur et pour qu’il soit toujours fiable et au niveau des progrès
atteint par la société.
Page | 87
Bibliographie et Webographie:
[1]  http://www.ganttproject.biz/download.php
[2]  « Guide de la Modélisation en UML » [Taoufiq GADI, Omar EL BEGGAR, Brahim
BOUSETTA, 2013].
[3]  http://www.clubic.com/lancer-le-telechargement-182596-0-poweramc.html
[4]  https://balsamiq.com/download/
[5]  « Les Cahiers du Programmeur JEE 5, 2éme édition » [Jérôme Molière ÉDITIONS
EYROLLES, 2007]
[6]  « JavaScript Des fondamentaux aux concepts avancés » [Emmanuel GUTIERREZ
EDITIONS ENI, 2008]
[7]  http://openclassrooms.com/courses/simplifiez-vos-developpements-javascript-avec-
jquery

Contenu connexe

Tendances

Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Sofien Benrhouma
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSAT
Siwar GUEMRI
 

Tendances (20)

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 de PFE du Diplôme de Mastère pro en Modélisation, Bases de Données et...
Rapport de PFE du Diplôme de Mastère pro en Modélisation, Bases de Données et...Rapport de PFE du Diplôme de Mastère pro en Modélisation, Bases de Données et...
Rapport de PFE du Diplôme de Mastère pro en Modélisation, Bases de Données et...
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
 
Projet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatiqueProjet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatique
 
Rapport de stage du fin d'étude
Rapport de stage du fin d'étudeRapport de stage du fin d'étude
Rapport de stage du fin d'étude
 
Conception et développement d&rsquo;une place de marché B2C
Conception et développement d&rsquo;une place de marché B2CConception et développement d&rsquo;une place de marché B2C
Conception et développement d&rsquo;une place de marché B2C
 
Projet Fin D'étude Application Mobile
Projet Fin D'étude Application MobileProjet Fin D'étude Application Mobile
Projet Fin D'étude Application Mobile
 
Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
Rapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiRapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammami
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...
 
Pfe 2015
Pfe 2015Pfe 2015
Pfe 2015
 
Conception et développement d’une plateforme d'import-export avec paiement en...
Conception et développement d’une plateforme d'import-export avec paiement en...Conception et développement d’une plateforme d'import-export avec paiement en...
Conception et développement d’une plateforme d'import-export avec paiement en...
 
Outpatient Department System (OPD)
Outpatient Department System (OPD) Outpatient Department System (OPD)
Outpatient Department System (OPD)
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSAT
 
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
 
Modele rapport pfe esprit
Modele rapport pfe  espritModele rapport pfe  esprit
Modele rapport pfe esprit
 
Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...
 
Rapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobileRapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobile
 
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
 

Similaire à Rapport pfe-ayoub mkharbach

467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
Bader Nassiri
 
392327755-Conception-Et-Realisation-d-Un-Site-Web-Et-Une-Application-Mobile-d...
392327755-Conception-Et-Realisation-d-Un-Site-Web-Et-Une-Application-Mobile-d...392327755-Conception-Et-Realisation-d-Un-Site-Web-Et-Une-Application-Mobile-d...
392327755-Conception-Et-Realisation-d-Un-Site-Web-Et-Une-Application-Mobile-d...
ElAzzabAbdeSsamad
 

Similaire à Rapport pfe-ayoub mkharbach (20)

Conception et réalisation d'une application mobile cross-platform "Taki Academy"
Conception et réalisation d'une application mobile cross-platform "Taki Academy"Conception et réalisation d'une application mobile cross-platform "Taki Academy"
Conception et réalisation d'une application mobile cross-platform "Taki Academy"
 
Pfe
PfePfe
Pfe
 
Plateforme de gestion des projets de fin d'études
Plateforme de gestion des projets de fin d'étudesPlateforme de gestion des projets de fin d'études
Plateforme de gestion des projets de fin d'études
 
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
 
Rapport final
Rapport finalRapport final
Rapport final
 
rapport-finale-ZoubairWassim.pdf
rapport-finale-ZoubairWassim.pdfrapport-finale-ZoubairWassim.pdf
rapport-finale-ZoubairWassim.pdf
 
392327755-Conception-Et-Realisation-d-Un-Site-Web-Et-Une-Application-Mobile-d...
392327755-Conception-Et-Realisation-d-Un-Site-Web-Et-Une-Application-Mobile-d...392327755-Conception-Et-Realisation-d-Un-Site-Web-Et-Une-Application-Mobile-d...
392327755-Conception-Et-Realisation-d-Un-Site-Web-Et-Une-Application-Mobile-d...
 
Rapport PFE
Rapport PFERapport PFE
Rapport PFE
 
Etiquetage morphosyntaxique de l’arabe avec Nooj
Etiquetage morphosyntaxique de l’arabe avec NoojEtiquetage morphosyntaxique de l’arabe avec Nooj
Etiquetage morphosyntaxique de l’arabe avec Nooj
 
Rapport PFE Ahmed BEN JEMIA
Rapport PFE Ahmed BEN JEMIARapport PFE Ahmed BEN JEMIA
Rapport PFE Ahmed BEN JEMIA
 
pfe final.docx
pfe final.docxpfe final.docx
pfe final.docx
 
Rapport_pfe_licence_ISAMM
Rapport_pfe_licence_ISAMMRapport_pfe_licence_ISAMM
Rapport_pfe_licence_ISAMM
 
Chatbot arabe-dialectale-covid19
Chatbot arabe-dialectale-covid19Chatbot arabe-dialectale-covid19
Chatbot arabe-dialectale-covid19
 
Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...
Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...
Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...
 
Rapport PFE
Rapport PFERapport PFE
Rapport PFE
 
Développement et conception d'une application de générateur des QR Code Dynam...
Développement et conception d'une application de générateur des QR Code Dynam...Développement et conception d'une application de générateur des QR Code Dynam...
Développement et conception d'une application de générateur des QR Code Dynam...
 
Rapport_PFE_Securite (1).pdf
Rapport_PFE_Securite (1).pdfRapport_PFE_Securite (1).pdf
Rapport_PFE_Securite (1).pdf
 
Torkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitorin...
Torkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitorin...Torkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitorin...
Torkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitorin...
 
orkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitoring...
orkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitoring...orkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitoring...
orkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitoring...
 
Pfe master fst_final_decembre2015
Pfe master fst_final_decembre2015Pfe master fst_final_decembre2015
Pfe master fst_final_decembre2015
 

Rapport pfe-ayoub mkharbach

  • 1.
  • 2. Page | 2 Dédicace A mes parents, Vous m’avez donné la vie, la tendresse et le courage pour réussir. Tout ce que je peux vous offrir ne pourra exprimer l’amour et la reconnaissance que je porte. En témoigne, je vous offre ce modeste travail pour vous remercier pour vos sacrifices et pour l’affectation dont vous m’avez toujours entourés. A mes chères sœurs et mon frère, En témoignage de mes sincères reconnaissances pour les efforts qu’ils me consenti pour l’accomplissement de mes études. Je leurs dédie ce modeste travail en témoignage de mon grand amour et mon gratitude infinie. A mes très chers ami(e)s, En témoignage de l’amitié sincère qui nous a liées et des bons moments passés ensemble. Je vous dédie ce travail en vous souhaitant un avenir radieux et plein de promesses. A mes chers professeurs, Ceux qui se dévouent sans cesse pour m’éclaircir la voie et les immenses horizons du savoir et dont leurs efforts méritent largement mon respect, je vous remercie énormément.
  • 3. Page | 3 Remerciements C’est avec un réel plaisir que j’exprime ici mes reconnaissances à tous ceux qui ont contribué de près ou de loin à l’élaboration de ce travail. Je remercie Allah le tout puissant de m’avoir donné le courage et la volonté de mener à terme ce présent travail. J’adresse les sincères remerciements à mon cher encadrant de projet de fin d’étude Mr. MARZOUK Abderrahim, pour leurs conseils précieux, leur soutien et leur disponibilité tout au courant de mon stage. Je remercie vivement Mr. LCHHAB Azeddine mon parrain de stage pour sa disponibilité sans condition, pour ses directives, qui m’a aidé tout au long de l’élaboration de ce projet et qui a tout fait pour me mettre dans les bonnes conditions de travail. Je tiens à remercier également tous mes collègues dans Pluralis Consulting et Mr. GASSMI Karim Le directeur pour leurs accueils, leurs conseils et leur écoute. A notre Doyen, Mr. BOUAYAD qu’il trouve ici l’expression de mon profonde gratitude, pour sa veille sur le bon déroulement de mon formation. Mes remerciements vont aussi à l’encontre de mes chers parents qui n’ont ménagés aucun effort et qui ne cesseront de le faire, pour me soutenir à tout moment de ma vie. Enfin j'adresse mes plus sincères remerciements à tous les membres du jury qui m’ont honoré par leur présence et en acceptant de juger mon travail.
  • 4. Page | 4 Sommaire Dédicace.............................................................................................................................................................. 2 Remerciements .................................................................................................................................................... 3 Sommaire............................................................................................................................................................. 4 Liste des figures................................................................................................................................................... 6 Liste des tableaux ................................................................................................................................................ 8 Introduction générale........................................................................................................................................... 9 Chapitre 1 : Contexte générale du projet...................................................................................................... 10 Introduction :................................................................................................................................................. 10 I. Présentation de la société :................................................................................................................... 10 1. Fiche technique :................................................................................................................................ 10 2. Historique : ........................................................................................................................................ 10 3. La structure organisationnelle :......................................................................................................... 11 II. Cahier des charges :............................................................................................................................... 14 1. Présentation du projet :..................................................................................................................... 14 2. Problématique : ................................................................................................................................. 14 3. Expression du besoin :........................................................................................................................ 14 4. Fonctionnalités attendus : ................................................................................................................. 15 III. Planning et conduite du projet :........................................................................................................ 17 1. Gestion de projet ............................................................................................................................... 17 2. Diagramme de GANTT....................................................................................................................... 17 IV. Langage et méthodologie de conception :........................................................................................ 19 Introduction :............................................................................................................................................. 19 1. La démarche UP-XP : ......................................................................................................................... 19 2. Phases de modélisation. .................................................................................................................... 20 3. Le formalisme UML :.......................................................................................................................... 21 4. L’outil PowerAmc :............................................................................................................................. 21 Chapitre 2 : Phase d’inception....................................................................................................................... 22 Introduction :................................................................................................................................................. 22 I. Capture des besoins : ............................................................................................................................ 22 1. Définition des besoins fonctionnels : ................................................................................................. 22 2. Les besoins non fonctionnels : ........................................................................................................... 23 3. Les principaux acteurs du système : .................................................................................................. 24 4. Regroupement des exigences par intentions d’acteurs :................................................................... 25
  • 5. Page | 5 II. Diagramme de cas d’utilisation :........................................................................................................... 25 Chapitre 3 : Phase d’analyse et de conception.............................................................................................. 27 Introduction :................................................................................................................................................. 27 I. Description textuelle des cas d’utilisation :........................................................................................... 27 II. Diagramme de séquence « Boite noire » : ............................................................................................ 48 III. Diagramme d’activité : ...................................................................................................................... 60 IV. Diagramme de classe d’analyse :....................................................................................................... 65 V. Base de données :.................................................................................................................................. 66 VI. Prototype des interfaces : ................................................................................................................. 68 Chapitre 4 : Phase de réalisation. .................................................................................................................. 74 Introduction :................................................................................................................................................. 74 I. Environnement logiciel :........................................................................................................................ 74 II. Technologies et langages utilisés : ........................................................................................................ 75 III. Développement :............................................................................................................................... 77 IV. Les interfaces de l’application :......................................................................................................... 79 Conclusion générale......................................................................................................................................... 86 Bibliographie et Webographie: ...................................................................................................................... 87
  • 6. Page | 6 Liste des figures Figure Commentaire Page Figure 1 L’organigramme de Pluralis Consulting 11 Figure 2 Les accompagnements des directeurs et des managers 12 Figure 3 Les tâches du projet 18 Figure 4 Diagramme de GANTT 18 Figure 5 Les diagrammes disponibles 21 Figure 6 Diagramme des acteurs 24 Figure 7 Diagramme de contexte statique 24 Figure 8 Diagramme de cas d’utilisation 26 Figure 9 Diagramme de séquence « Inscrire » 48 Figure 10 Diagramme de séquence « Authentifier » 49 Figure 11 Diagramme de séquence « Envoyer e-mail » 49 Figure 12 Diagramme de séquence « Gérer les certifications » 50 Figure 13 Diagramme de séquence « Gérer les formations » 51 Figure 14 Diagramme de séquence « Gérer les formateurs » 52 Figure 15 Diagramme de séquence « Gérer les gérants » 53 Figure 16 Diagramme de séquence « Gérer les compétences » 54 Figure 17 Diagramme de séquence « Gérer les inscriptions » 55 Figure 18 Diagramme de séquence « Rechercher certification» 55 Figure 19 Diagramme de séquence « Consulter certification » 56 Figure 20 Diagramme de séquence « Consulter formation » 56 Figure 21 Diagramme de séquence « Donner avis » 57 Figure 22 Diagramme de séquence « Proposer formation » 57 Figure 23 Diagramme de séquence « Recevoir les notifications » 58 Figure 24 Diagramme de séquence « Consulter les propositions » 58 Figure 25 Diagramme de séquence « Consulter les avis » 59 Figure 26 Diagramme d’activité « Authentifier » 60 Figure 27 Diagramme d’activité « Consulter certification » 60 Figure 28 Diagramme d’activité « Consulter formation » 61 Figure 29 Diagramme d’activité « Gérer certifications » 61 Figure 30 Diagramme d’activité « Gérer formations » 62 Figure 31 Diagramme d’activité « Gérer compétences » 62 Figure 32 Diagramme d’activité « Gérer gérants » 63 Figure 33 Diagramme d’activité « Gérer formateurs » 63 Figure 34 Diagramme d’activité « Gérer les inscriptions » 64 Figure 35 Diagramme d’activité « Consulter les avis/propositions » 64 Figure 36 Diagramme d’activité «Recevoir les notifications/Proposer formation/Donner avis » 64 Figure 37 Diagramme de classe d’analyse 66 Figure 38 Modèle logique de données(MLD) 67 Figure 39 Modèle physique de données(MPD) 68 Figure 40 Interface authentifié 69 Figure 41 Interface rechercher certification 69 Figure 42 Interface consulter certification 70 Figure 43 Interfaces gérer les certifications, formations, formateurs 70 Figure 44 Interface consulter les formations 71 Figure 45 Interface gérer avis et propositions 71
  • 7. Page | 7 Figure 46 Interface inscrire 72 Figure 47 Interface gérer gérants 72 Figure 48 Interface gérer inscriptions 73 Figure 49 Interface gérer les compétences 73 Figure 50 Modèle MVC (Modèle – Vue – Contrôleur) 78 Figure 51 Page d’authentification 79 Figure 52 Page de recherche 80 Figure 53 Page consulter les formations 80 Figure 54 Page consulter certification 81 Figure 55 Page consulter les avis 81 Figure 56 Page gérer les certifications 82 Figure 57 Page gérer les formations 82 Figure 58 Page d’inscription 83 Figure 59 Page gérer les formateurs 83 Figure 60 Page gérer les compétences 84 Figure 61 Page gérer les gérants 84 Figure 62 Page gérer les inscriptions 85 Figure 63 Page Consulter les propositions 85
  • 8. Page | 8 Liste des tableaux Tableau Commentaire Page Tableau 1 Tableau des exigences 22 Tableau 2 Tableau des exigences par intention d’acteur 25 Tableau 3 Description textuelle de cas d’utilisation « Authentifier » 27 Tableau 4 Description textuelle de cas d’utilisation « Ajouter certification » 28 Tableau 5 Description textuelle de cas d’utilisation « Modifier certification » 29 Tableau 6 Description textuelle de cas d’utilisation « Supprimer certification » 30 Tableau 7 Description textuelle de cas d’utilisation « Ajouter formation » 31 Tableau 8 Description textuelle de cas d’utilisation « Modifier formation » 31 Tableau 9 Description textuelle de cas d’utilisation « Supprimer formation » 32 Tableau 10 Description textuelle de cas d’utilisation « Ajouter formateur » 33 Tableau 11 Description textuelle de cas d’utilisation « Modifier formateur » 34 Tableau 12 Description textuelle de cas d’utilisation « Supprimer formateur » 35 Tableau 13 Description textuelle de cas d’utilisation « Ajouter gérant » 36 Tableau 14 Description textuelle de cas d’utilisation « Modifier gérant » 36 Tableau 15 Description textuelle de cas d’utilisation « Supprimer gérant » 37 Tableau 16 Description textuelle de cas d’utilisation « Ajouter compétence » 38 Tableau 17 Description textuelle de cas d’utilisation « Modifier compétence » 39 Tableau 18 Description textuelle de cas d’utilisation « Supprimer compétence » 40 Tableau 19 Description textuelle de cas d’utilisation « Gérer inscriptions » 41 Tableau 20 Description textuelle de cas d’utilisation « Rechercher certification » 41 Tableau 21 Description textuelle de cas d’utilisation « Consulter certification » 42 Tableau 22 Description textuelle de cas d’utilisation « Consulter les formations » 42 Tableau 23 Description textuelle de cas d’utilisation « Donner avis » 43 Tableau 24 Description textuelle de cas d’utilisation « Proposer formation » 44 Tableau 25 Description textuelle de cas d’utilisation « Recevoir les notifications » 44 Tableau 26 Description textuelle de cas d’utilisation « Inscrire » 45 Tableau 27 Description textuelle de cas d’utilisation « Consulter les avis » 46 Tableau 28 Description textuelle de cas d’utilisation « Télécharger PDF » 46 Tableau 29 Description textuelle de cas d’utilisation « Consulter les propositions » 47 Tableau 30 Description textuelle de cas d’utilisation « Envoyer e-mail » 47
  • 9. Page | 9 Introduction générale Cette introduction fera l’objet d’une brève présentation de l’application que je vais concevoir et réaliser, des outils et des méthodes choisis, suivi du plan général du processus de développement. C’est déjà quelques années que les technologies d’informations et les activités des organisations et plus particulièrement le web ont évolué d’une façon croissante et remarquable. Aujourd’hui, le web est un secteur en perpétuelle expansion face à l’apparition du web 2.0 et les nouvelles technologies notamment le HTML5, JavaScript, etc. C’est dans ce contexte que plusieurs Sociétés essayent de profiter au maximum possible de ces technologies afin d’améliorer leurs productivité et de faire face à quelques problèmes pénibles qui peuvent constituer un obstacle de progression. Dans ce cadre, Pluralis Consulting souhaite développer une application web permettant de gérer les certifications et les formations fournis par la société. La naissance de cette idée est due à plusieurs problèmes notamment :  La perte de temps liée à l’explication des certifications et de formations disponibles pour chaque client.  Déplacement des clients à la société à chaque fois pour des informations… Mon objectif consiste à développer une application Web qui va aider les clients à consulter les certifications et les formations d’une façon facile et rapide à partir de leurs navigateurs, en tenant compte des compétences requis données par chaque certification et aussi l’inscription en ligne. D’autre part les administrateurs peuvent gérer les certifications et les formations et les inscriptions. Outre l’originalité de l’application à développer, j’essayerai en plus d’utiliser une méthodologie de développement assez originale, à savoir la démarche UP-XP. J’essayerai à travers ce rapport de mettre en évidence les étapes effectuées, en analysons chaque étape.
  • 10. Page | 10 Chapitre 1 : Contexte générale du projet. Introduction : « Le projet est un effort complexe pour atteindre un objectif bien spécifique, devant respecter un échéancier et un budget … » L’étude du projet est une démarche stratégique visant à organiser le bon déroulement d’un projet et d’assurer la conduite de toutes les phases qui le constituent. Une étude complète et efficace conduit généralement à la réussite d’un projet. Cette étude fera donc l’objet de notre premier chapitre qui sera consacré à la présentation du projet ainsi que la définition de notre langage et méthodologie de développement. I. Présentation de la société : 1. Fiche technique :  Raison sociale : PLURALIS CONSILTING  Date de création : 07/09/2006  Forme juridique : SARL  Capital Social : 200000 DH  Adresse : 30 RUE AZIZ BELLAL QUARTIER MAARIF CASABLANCA  Patente : 357711969  Registre commercial : 154901  C.N.S.S : 7330450  Identifiant fiscal : 1104463 2. Historique : La société PLURALIS CONSULTING a été créée en 2006, dirigée par Mr GASSEMI KARIM. Cette société offre un portefeuille complet de services, y compris des services- conseils stratégiques en informatique et en management, des services d'intégration de systèmes, de formation et certification de compétences technologiques. PLURALIS CONSULTING accompagne les entreprises (Publiques & Privées) pour la création de la performance :  En mettant en place les bonnes pratiques de Gouvernance Organisationnelle ;
  • 11. Page | 11  En offrant des services, solutions et outils de gestion à forte valeur ajoutée ;  En offrant des actions de formation pour la maîtrise des Technologies de l’Information et de la Communication (TIC) ;  En offrant des actions de formation et d’accompagnement au niveau managérial ;  En proposant des solutions de Coaching pour les Managers & Directeurs. 3. La structure organisationnelle : a. L’organisme : Figure 1 : L’organigramme de Pluralis Consulting. b. Les services : - Services : conseils, services et solutions : Pôle 1 : Conseils et services : Pluralis Consulting met à la disposition de ses clients son savoir-faire pour leur assister à mieux détecter les risques potentiellement liés à leurs activités, et identifier les moyens à mettre en œuvre afin d’améliorer l’efficacité et la performance de leurs entreprises. Ce pôle consiste à donner des conseils et services, en gestion et gouvernance d’Entreprise :  Elaboration et formalisation de la stratégie  Alignement du SI sur les besoins de l’entreprise  Elaboration des Processus Organisationnels  Management et pilotage des projets  Gestion des risques Directeur général (Conseils, services, et solutions) Responsable formations et certifications Assistante Administrative Responsable commercial
  • 12. Page | 12  Etude d’opportunité des projets et Retour sur Investissement  Pilotage des projets par rapport aux objectifs  Elaboration des termes de références  Contrôle et suivi des travaux  Benchmarking de solutions  Veille technologique  Réalisation des schémas Directeurs des SI (système d’information)  Audit Sécuritaire des SI  Mise en Place des Bonnes Pratiques de Gouvernance  Gestion des Infrastructures SI  Tierce Maintenance Applicative Pôle 2 : Solutions : Il s’agit de proposer des solutions et des outils de gestion à forte valeur ajoutée. Solutions ayant une relation avec Le SI et l’organisation : Solutions de gestion : Accompagnement au choix et mise en place de l’ERP. Solutions de gestion de projet et programmes (MGP+) : Accompagnement à la mise en place d’une structure de gestion de projet. Solution de centre de support : Mise en place d’une solution de support et d’un SPOC. Solutions qui reposent sur le coaching des Directeurs et Managers : Figure 2 : Les accompagnements des directeurs et des managers.
  • 13. Page | 13 - Service : Formations et certifications : Pole 1 : Formations : Pluralis est le fruit de plusieurs expériences dans le domaine de la formation et le développement des compétences technologiques. L'informatique évolue en permanence pour offrir aux entreprises des gains de productivité et outiller leur performance. Pluralis Consulting propose une offre de formation variée comprenant :  Le management des Systèmes d’information  Gestion de projet  Développement logiciel  Réseaux et sécurité  Système d’exploitation  Serveurs et Applications Pole 2 : Certifications : Le centre de certification des compétences est un centre de certification informatique. A ce titre, Pluralis Consulting abrite plusieurs plate formes de certifications reconnues au niveau international (Prometric - Pearson Vue - Exin - Certiport). - Service : Assistant Administratif : L’assistant administratif joue un rôle important puisque c’est lui qui s’occupe de toute l’organisation interne et des relations externes de Pluralis Consulting. L'assistant administratif accomplit toutes les tâches administratives nécessaires au bon fonctionnement de l’entreprise. C’est un service rattaché aux responsables et au directeur. - Service : Commercial : Le Responsable Commercial élabore et propose à la direction générale la politique commerciale de l'entreprise. Il détermine les orientations stratégiques, les objectifs à atteindre et les moyens à mettre en place, après analyse et évaluation des différentes composantes du marché.
  • 14. Page | 14 II. Cahier des charges : 1. Présentation du projet : Mon projet est né afin de simplifier non seulement la gestion des certifications ou bien des formations, mais aussi la possibilité d’inscription en ligne, suivre les dernières offres et proposer d’autres formations, ce qui permet d’avoir une bonne communication avec le client. 2. Problématique : Il est à noter que l’inscription de chaque nouveau client est toujours manuelle, ce qui nécessite des efforts considérables de la part de responsable en vue d’aider le client. Pour combler cette lacune, le directeur recommande la remise en place d’urgence d’une application informatique pour améliorer la méthode de la consultation des clients et par la même occasion la gestion des certifications et formations. 3. Expression du besoin : La société veut offrir un meilleur service à leurs clients et leurs employées à l'aide d'une application web qui donne à un client la possibilité de :  Consulter les certifications et les formations.  Inscrire pour passer une certification ou à une formation.  Propose une formation.  Donner avis.  Inscrire pour recevoir les dernières offres. Et aux gérant la possibilité de :  Gérer les certifications (ajouter, modifier, supprimer).  Gérer les formations (ajouter, modifier, supprimer).  Gérer les formateurs (ajouter, modifier, supprimer).  Gérer les compétences (ajouter, modifier, supprimer).  Gérer les inscriptions (consulter, valider).  Consulter les avis et les propositions. Et au administrateur la possibilité de :  Gérer les gérants (ajouter, modifier, supprimer).
  • 15. Page | 15 4. Fonctionnalités attendus : Consulter les certifications : Avant la consultation une recherche faite par le client. Par un mot clé signifie le nom de la certification, par le domaine, par la technologie, ou bien par le code. Après qu’un utilisateur rempli un des champs, deux, trois ou bien quatre un recherche dans la base de données renvoie une liste contient les noms des certifications. Le client peut choisir la certification qui l’intéresse et la consulter, si le client intéresse par la certification peut inscrire pour passer l’examen chez la société, télécharger un PDF contient les mêmes informations et aussi consulter la certification prérequis et les certifications qui peut les passer après. Consulter les formations : Une liste contient les formations disponible chez la société affichent avec les dates de départ et de fin, le client peut s’inscrire à une formation, télécharger un PDF ou bien proposer d’autre formations. Inscrire : Après qu’un client choisie l’inscription à une formation ou bien certification, il doit remplir un formulaire, avant que les informations envoyées une vérification des champs fait, si le client entre des informations déjà existe ou bien des champs vide un message d’erreur renvoie sinon l’inscription va enregistrée et un message de succès affiche. Donner un avis: Pour qu’un client donner leurs avis sur n’importe quoi, il doit introduire son email et leur avis au premier temps une vérification des champs faite avant d’envoyer l’avis. Recevoir les dernières offres : Un client peut inscrire pour recevoir les dernières offres, pour cela il doit introduire son email, au premier temps une vérification des champs faite avant d’envoyer l’avis. Gérer les certifications, les formations et les formateurs: La gestion de certifications, formations et les formateurs effectuées par les gérants qui sont chargés de faire un suivi en temps réel de tout changement d’informations des certifications ou bien des formations.
  • 16. Page | 16  Pour l’ajout d’une nouvelle certification, formation ou formateur fait de la même manière, le gérant doit remplir un formulaire, avant que les informations envoyées une vérification des champs fait, si le gérant entrer un code déjà existe pour la certification ou bien un email déjà existe pour le formateur un message d’erreur renvoie sinon on l’ajoute, on envoie un e-mail au client et on renvoie un message de succès.  S’il veut modifie, il va choisie le nom, et va modifier les autres informations une vérification des champs faite avant l’envoie du formulaire.  Pour la suppression le gérant choisir le nom, un message de validation doit être affiché pour valider la suppression, après la validation une requête envoie à la base de données - Pour les certifications et les formations une vérification des inscriptions faite avant la suppression. - Pour les certifications une suppression des compétences faite. - Pour le formateur un message de d’erreur affiché si le formateur est lié avec une ou plusieurs formations, sinon la suppression est validé. Gérer les inscriptions : La gestion des inscriptions effectuées par les gérants, Après la consultation des inscriptions le gérant vérifie les informations et valide l’inscription d’un client qui va recevoir un message de confirmation dans leur courrier. Gérer les compétences: La gestion de compétences aussi effectuées par les gérants, au premier temps une liste de certifications affiche au gérant qui va choisie une certification, après la sélection un table contiennent les compétences de la certification affiche avec la possibilité de modifier ou supprimer une compétence et aussi ajouter une nouvelle compétence. Gérer les gérants: La gestion de gérants effectuées par l’admin qui peut ajouter, modifier ou bien supprimer les gérants, au premier temps un table contiennent tous les gérants affiche avec la possibilité de modifier ou supprimer un gérant et aussi ajouter une nouveau gérant.
  • 17. Page | 17  L’ajout d’un nouveau gérant demande de remplir deux champs (login, password) une vérification des champs faite si le login est déjà existé un message d’erreur affiche sinon l’ajout va être enregistré et un message de succès affiche.  La modification demande d’entrée l’ancien mot de passe et le nouveau mot de passe, si l’ancien mot de passe est incorrect un message d’erreur affiche sinon la modification va être enregistrée et un message de succès affiche.  La suppression demande une confirmation de la part de l’admin. Gérer les inscriptions : La gestion des inscriptions effectuées par les gérants, Après la consultation des inscriptions un gérant vérifie les informations entrées par le client et valide l’inscription ce qui signifié l’envoie un email de confirmation au client. Consulter les avis et les propositions : La consultation des avis et des propositions faite à la même manière, Au premier une liste des avis ou des propositions affichent au gérant avec la possibilité de supprimer l’avis ou la proposition. III. Planning et conduite du projet : 1. Gestion de projet La gestion de projet est une démarche visant à organiser de bout en bout le bon déroulement d’un projet. Lorsque la gestion de projet porte sur un ensemble de projets concourant à un même objectif, on parle de gestion de programme. Le management de projet est un management qui se caractérise par :  L'irréversibilité des opérations des participants.  Un fort degré de liberté des actions des participants.  Une organisation vouée à être évolutive et temporaire.  Des flux de trésorerie d'investissement pouvant être négatifs.  Une forte influence de variables exogènes sur le projet. 2. Diagramme de GANTT Le diagramme de Gantt (Harmonogram Adamieckiego) est un outil utilisé (souvent en complément d'un réseau PERT) en ordonnancement et gestion de projet et permettant de visualiser dans le temps les diverses tâches liées composant un projet (il s'agit d'une
  • 18. Page | 18 représentation d'un graphe connexe, value et orienté). Il permet de représenter graphiquement l'avancement du projet. Le premier diagramme de ce type (appelé Harmonogram Adamieckiego) fut réalisé par ingénieur polonais Karol Adamiecki en 1896. Il l'a décrit en 1931, mais la langue de publication n'a pas permis la reconnaissance internationale de son idée. Pour cette raison le concept a été nommé après Henry L. Gantt, ingénieur américain, qui a publié la description du diagramme en 1910. Dans mon projet j’ai utilisé l’outil Gantt Project [1]. Les tâches : Figure 3 : Les tâches du projet. Diagramme de GANTT : Figure 4 : Diagramme de GANTT.
  • 19. Page | 19 IV. Langage et méthodologie de conception : Introduction : Pour bien conduire mon projet et m’assurer du bon déroulement des différentes phases, j’ai opté la démarche UP-XP [2] comme une méthodologie de conception et de développement. Après le choix de la méthodologie, j’ai besoin d’un langage de modélisation UML comme un langage de modélisation. Mon choix s’est basé sur les points forts de ce langage notamment sa standardisation et les divers diagrammes qu’il propose. Aussi UML présente le meilleur outil pour schématiser des systèmes complexes sous un format graphique et textuel simplifié et normalisé. En effet UML n’est ni un processus ni une démarche, d’où il fallait choisir une méthodologie de conception et de développement que nous devons l’adopter. 1. La démarche UP-XP : L’objectif de la démarche UP-XP est de pouvoir analyser est concevoir un logiciel orienté objet évolutif et ayant l’aptitude à s’adapter aux éventuels changements que peut connaitre le métier de l’entreprise à l’avenir en plusieurs niveaux : Fiscale, productif, organisationnel, juridique, etc. UP- Unified Process : La méthode du Processus Unifié (UP pour Unified Process) est un processus de développement itératif et incrémental, ce qui signifie que le projet est découpé en phases très courtes à l’issue de chacune desquelles une nouvelle version incrémentée est livrée. Il s’agit d’une démarche s’appuyant sur la modélisation UML pour la description de l’architecture du logiciel (fonctionnelle, logicielle et physique) et la mise au point de cas d’utilisation permettant de décrire les besoins et exigences des utilisateurs. XP-eXtreme Programming : La méthode XP (pour eXtreme Programming) définit un certain nombre de bonnes pratiques permettant de développer un logiciel dans des conditions optimales en plaçant le client du cœur du processus de développement, en relation étroite avec le client. L’eXtreme Programming est notamment basé sur les concepts suivants :  Les équipes de développement travaille directement avec le client sur des cycles très courts d’une à deux semaines maximum.
  • 20. Page | 20  L’équipe livraison de versions du logiciel interviennent très tôt et à une fréquence élevée pour maximiser l’impact des retours utilisateurs.  L’équipe de développement travaille en collaboration totale sur la base de binôme …  Le code est tester et nettoyé tout au long du processus de développement.  Des indicateurs permettent de mesure l’avancement du projet afin de permettre de mettre à jour. 2. Phases de modélisation. Phase d’inception : Recensement et définition des besoins. C’est la phase ayant comme principal objectif l’identification des principaux acteurs interagissent avec le système et les fonctionnalités attendues de celui-ci. Dans un premier temps, nous allons lister l’ensemble des exigences issues du cahier des charges. Chaque exigence sera recensée et elle pourra être étudiée ultérieurement. Ces exigences seront regroupées par intentions d’acteur, puis un diagramme de contexte statique sera établi. A ce stade, nous pouvons déjà construire un diagramme de cas d’utilisation de notre projet. Phase d’analyse et de conception : Il s’agit d’une phase itérative qui vise à analyser et comprendre chaque fonctionnalité attendue du système en examinant toutes les scénarios compte des scénarios exceptionnels et des erreurs. Une description détaillée est faites pour chaque use case, qui peut être complétée par un diagramme d’activité qui consolide les différents scénarios possibles. Nous allons réaliser un diagramme de séquence boîte noir correspond au système (Ici c’est un diagramme de séquence par scénario, ou la boite noir correspond au système informatique à développer). A partir des diagrammes de séquences et des descriptions textuelles, nous réaliserons les diagrammes d’activités et le diagramme de classe d’analyse. Phase de réalisation : Dans cette phase nous déduirons à partir du diagramme de classe d’analyse le modèle logique de donnée pour la création de la base de données et ceci en appliquant les règles de passages.
  • 21. Page | 21 3. Le formalisme UML : UML est considéré comme le langage standard de conception orienté objet, il est un formalisme et pas une méthode. Il s’en duit qu’il définit un ensemble d’éléments de modélisation et une notation graphique pour modéliser les systèmes et ne décrit pas les étapes à suivre pour le faire. Les raisons qui nous ont poussés à adopter UML dans notre projet se résume en : UML offre un outil prêt à l’emploi basé sue une modélisation visuelle qui permet d’échanger des modèles compréhensibles. Si on développe aves des langages orienté objet, il est plus approprié de concevoir avec des formalismes Orienté Objet. Figure 5:Les diagrammes disponibles. 4. L’outil PowerAmc : PowerAmc [3] est un logiciel de modélisation. Il permet de modéliser les traitements informatiques et leurs bases de données associées en n’importe quelles modèles informatiques. Il reste un des seuls qui permet de travailler avec la méthode Merise, cela permet d’améliorer la modélisation, les processus, le coût et la production d’application. PowerAmc offre des méthodes efficaces d’analyse d’impact, de gestion des changements et des techniques avancées de gestion des métadonnées.
  • 22. Page | 22 La combinaison des techniques de modélisation et de la gestion des données confère à PowerAmc des fonctions uniques lui permettant de prendre en charge tous les environnements architecturaux. Le référentiel de métadonnées de PowerAmc permet également à toutes les parties prenantes de l’entreprise de collaborer et de communiquer efficacement. Ces dernières peuvent ainsi réagir plus rapidement face aux changements et garantir une meilleure capacité d’adaptation de l’entreprise. Chapitre 2 : Phase d’inception. Introduction : Cette phase consiste à comprendre le contexte du système. Il s’agit de déterminer les fonctionnalités et les acteurs les plus pertinents, de préciser les risques les plus critiques et d’identifier les cas d’utilisation initiaux. Ceci dit, notre description va sembler trop détaillée pour une première phase de processus. I. Capture des besoins : 1. Définition des besoins fonctionnels : Il s'agit des fonctionnalités du système. Ce sont les besoins spécifiant un comportement d'entrée / sortie du Système. Le système à concevoir doit permettre à l’utilisateur d’effectuer les opérations suivantes: Référence Fonction R1 Rechercher certification par mot R2 Rechercher certification par domaine R3 Rechercher certification par technologie R4 Rechercher certification par code R5 Consulter certification R6 Consulter la certification prérequis R7 Consulter les certifications après R8 Télécharger un PDF de certification R9 Inscrire pour passer une certification R10 Consulter les formations R11 Télécharger un PDF de formation R12 Inscrire à une formation R13 Donner l’avis sur formation R14 Proposer formation R15 Recevoir les notifications R16 Authentifier R17 Ajouter certification
  • 23. Page | 23 R18 Modifier certification R19 Supprimer certification R20 Ajouter compétence R21 Modifier compétence R22 Supprimer compétence R23 Ajouter formation R24 Modifier formation R25 Supprimer formation R26 Ajouter gérant R27 Modifier gérant R28 Supprimer gérant R29 Ajouter formateur R30 Modifier formateur R31 Supprimer formateur R32 Consulter les inscrits aux certifications R33 Valider l’inscription d’un client à une certification R34 Consulter les avis R35 Consulter les propositions R36 Consulter les inscrits aux formations R37 Valider l’inscription d’un client à une formation R38 Envoyer un e-mail Tableau 1 : Tableau des exigences. 2. Les besoins non fonctionnels : Les besoins non fonctionnels concernent les contraintes à prendre en considération pour mettre en place une solution adéquate aux attentes des concepteurs des architectures dynamiques. Mon application doit nécessairement assurer ces besoins :  L’extensibilité : dans le cadre de ce travail, l'application devra être extensible, c'est-à- dire qu'il pourra y avoir une possibilité d'ajouter ou de modifier de nouvelles fonctionnalités.  La sécurité : l’application devra être hautement sécurisée, les informations ne devront pas être accessibles à tout le monde, c'est-à-dire qu’il existe des fonctionnalités accessibles par un identifiant et un mot de passe attribué à une personne physique.  L’interface : avoir une application qui respecte les principes des Interfaces Homme/Machine (IHM) tels que l'ergonomie et la fiabilité.  La performance : l’application devra être performante c'est-à-dire que le système doit réagir dans un délai précis, quel que soit l’action de l’utilisateur.  La convivialité : l’application doit être simple et facile à manipuler même par des non experts.
  • 24. Page | 24 3. Les principaux acteurs du système : Figure 6 : Diagramme des acteurs. Client : celui qui n’a pas besoin de s’authentifier pour utiliser leurs fonctionnalités, il peut rechercher, consulter, télécharger des PDF et proposer des formations ainsi donner des avis et recevoir des notifications. Gérant : celui qui est chargé de gérer les certifications, les formations les formateurs et les inscriptions des clients, aussi consulter les avis et les propositions des clients. Administrateur : C’est le seul qui peut ajouter, modifier ou supprimer des gérants. Figure 7 : Diagramme de contexte statique. Ce diagramme nous permet de préciser au départ la nature du système (Mono utilisateur/Multi utilisateur) par rapport aux interactions des acteurs à un instant t.
  • 25. Page | 25 4. Regroupement des exigences par intentions d’acteurs : Référence Fonction Intention d’acteur Acteur R1 Rechercher certification par mot Rechercher certification Client R2 Rechercher certification par domaine Rechercher Certification Client R3 Rechercher certification par technologie Rechercher certification Client R4 Rechercher certification par code Rechercher certification Client R5 Consulter certification Consulter certification Client R6 Consulter la certification prérequis Consulter certification Client R7 Consulter les certifications après Consulter certification Client R8 Télécharger un PDF de certification Télécharger PDF Client R9 Inscrire pour passer une certification Inscrire Client R10 Consulter les formations Consulter les formations Client R11 Télécharger un PDF de formation Télécharger PDF Client R12 Inscrire à une formation Inscrire Client R13 Donner l’avis Donner l’avis Client R14 Proposer formation Proposer formation Client R15 Recevoir les notifications Recevoir les notifications Client R16 Authentifier Authentifier Gérant R17 Ajouter certification Gérer certification Gérant R18 Modifier certification Gérer certification Gérant R19 Supprimer certification Gérer certification Gérant R20 Ajouter compétence Gérer compétence Gérant R21 Modifier compétence Gérer compétence Gérant R22 Supprimer compétence Gérer compétence Gérant R23 Ajouter formation Gérer formation Gérant R24 Modifier formation Gérer formation Gérant R25 Supprimer formation Gérer formation Gérant R26 Ajouter gérant Gérer gérant Admin R27 Modifier gérant Gérer gérant Admin R28 Supprimer gérant Gérer gérant Admin R29 Ajouter formateur Gérer formateur Gérant R30 Modifier formateur Gérer formateur Gérant R31 Supprimer formateur Gérer formateur Gérant R32 Consulter les inscrits aux certifications Gérer les inscriptions Gérant R33 Valider l’inscription d’un client à une certification Gérer les inscriptions Gérant R34 Consulter les avis Consulter les avis Gérant R35 Consulter les propositions Consulter les propositions Gérant R36 Consulter les inscrits aux formations Gérer les inscriptions Gérant R37 Valider l’inscription d’un client à une formation Gérer les inscriptions Gérant R38 Envoyer un e-mail Envoyer un e-mail Gérant Tableau 2 : Tableau des exigences par intention d’acteur. II. Diagramme de cas d’utilisation : Le diagramme de cas d'utilisation décrit les utilisations requises d'un système, ou ce qu'un système est supposé faire. Les principaux concepts de ce diagramme sont les acteurs, cas
  • 26. Page | 26 d'utilisation et sujets. Un sujet représente un système avec lequel les acteurs et autres sujets interagissent. Figure 8 : Diagramme de cas d’utilisation.
  • 27. Page | 27 Chapitre 3 : Phase d’analyse et de conception. Introduction : Cette phase poursuit la tache entamée dans la phase d’inception, cette phase vise à identifier et décrire la majorité des besoins utilisateurs, construire l’architecture de base du système et lever les risques majeurs du projet. Au niveau de cette phase, j’analyse les différents cas d’utilisation puis j’essaye de les détaillées pour comprendre chaque fonctionnalité attendue du système en examinant toutes les scénarios compte des scénarios exceptionnels et des erreurs. I. Description textuelle des cas d’utilisation : Pour rendre notre diagramme des cas d’utilisation plus lisible et afin de décrire le comportement d’un système, les concepteurs d’UML proposent l’utilisation d’une technique nommé la description textuelle des cas d’utilisation. 1. Authentifier : Nom de cas d’utilisation : Authentifier. Objectif : Accès aux fonctionnalités attribuées. Acteurs principaux : Gérant. Rôle de cas d’utilisation Ce scénario permet au gérant de s’identifier auprès du système et d’accéder aux fonctionnalités qui lui sont attribuées. Pré-condition : Existence des données dans la base de données. Post- condition : Affichage de la page d’accueil. Scénario nominal : Action des acteurs Action du système 1. consulter page d’authentification . 2. Afficher page d’authentification. 3. Introduire Login et Mot de passe. 4. Vérifier Login et mot de passe. 5. Valider et afficher la page d’accueil. Tableau 3 : Description textuelle de cas d’utilisation « Authentifier ». Les enchainements alternatifs : A1 : Login ou Mot de passe erroné
  • 28. Page | 28 L’enchainement A1 démarre au point 4 du scénario nominal. 5-le système indique à l’utilisateur que le login ou le mot de passe est erroné. Le scénario nominal reprend au point 3. A2 : Les champs de saisie sont vides L’enchainement A2 démarre au point 4 du scénario nominal. 5-le système demande aux utilisateurs de remplir les champs. Le scénario nominal reprend au point 3. Les enchainements d’exception : E1 : Le système ne répond pas L’enchainement E1 démarre au point 1 du scénario nominal. 2- le système ne répond pas. Le cas d’utilisation se termine en échec. 2. Gérer les certifications : Ajouter certification : Nom de cas d’utilisation : Ajouter certification. Objectif : Effectuer une gestion des certifications. Acteurs principaux : Gérant. Rôle de cas d’utilisation Ce scénario permet au gérant d’ajouter une nouvelle certification. Pré- condition : Authentification préalable. Post- condition : Une nouvelle certification ajoutée. Scénario nominal : Action des acteurs Action du système 1. Authentification. 2. Demander le formulaire d’ajout. 3. Afficher le formulaire. 4. Remplir les champs. 5. Vérifier les données saisies. 6. Enregistrer la certification. 7. Envoyer une notification aux clients. 8. Afficher un message de succès. Tableau 4 : Description textuelle de cas d’utilisation « Ajouter certification ».
  • 29. Page | 29 Les enchainements alternatifs : A1 : Données manquants L’enchainement A1 démarre au point 5 du scénario nominal. 6- le système affiche un message d’erreur. Le scénario nominal reprend au point 4. Modifier certification : Nom de cas d’utilisation : Modifier certification. Objectif : Effectuer une gestion des certifications. Acteurs principaux : Gérant. Rôle de cas d’utilisation Ce scénario permet au gérant de modifier une certification. Pré- condition : Authentification préalable. Post- condition : Une certification bien modifiée. Scénario nominal : Action des acteurs Action du système 1. Authentification. 2. Sélectionner une certification. 3. Afficher le formulaire avec les informations de la certification. 4. Modifier les champs. 5. Vérifier les données saisies. 6. Mise à jour de la certification. 7. Notifier les clients. 8. Afficher un message de succès. Tableau 5 : Description textuelle de cas d’utilisation « Modifier certification ». Les enchainements alternatifs : A1 : Aucune certification trouvée L’enchainement A1 démarre au point 3 du scénario nominal. 4- le système arrête le scénario nominal. Le scénario s’arrête. A2 : Données manquants L’enchainement A2 démarre au point 5 du scénario nominal.
  • 30. Page | 30 6- le système affiche un message d’erreur. Le scénario nominal reprend au point 4. Supprimer certification : Nom de cas d’utilisation : Supprimer certification. Objectif : Effectuer une gestion des certifications. Acteurs principaux : Gérant. Rôle de cas d’utilisation Ce scénario permet au gérant de supprimer une certification. Pré- condition : Authentification préalable. Post- condition : Une certification bien supprimée. Scénario nominal : Action des acteurs Action du système 1. Authentification. 2. Sélectionner une certification. 3. Afficher un message de confirmation. 4. Valider son choix. 5. Supprimer les inscriptions de la certification. 6. Supprimer la certification. 7. Afficher un message de succès. Tableau 6 : Description textuelle de cas d’utilisation « Supprimer certification ». Les enchainements alternatifs : A1 : Aucune certification trouvée L’enchainement A1 démarre au point 3 du scénario nominal. 4- le système arrête le scénario nominal. Le scénario s’arrête. A2 : L’utilisateur annule la suppression L’enchainement A2 démarre au point 3 du scénario nominal. 4- le système affiche arrête le scénario nominal. Le scénario nominal s’arrête.
  • 31. Page | 31 3. Gérer les formations : Ajouter Formation : Nom de cas d’utilisation : Ajouter formation. Objectif : Effectuer une gestion des formations. Acteurs principaux : Gérant. Rôle de cas d’utilisation Ce scénario permet au gérant d’ajouter une formation. Pré- condition : Authentification préalable. Post- condition : Une nouvelle formation ajoutée. Scénario nominal : Action des acteurs Action du système 1. Authentification. 2. Demander le formulaire d’ajout. 3. Afficher le formulaire. 4. Remplir les champs. 5. Vérifier les données saisies. 6. Enregistrer la formation. 7. Notifier les clients. 8. Afficher un message de succès. Tableau 7 : Description textuelle de cas d’utilisation « Ajouter formation ». Les enchainements alternatifs : A1 : Données manquants L’enchainement A1 démarre au point 5 du scénario nominal. 6- le système affiche un message d’erreur. Le scénario nominal reprend au point 4. Modifier formation : Nom de cas d’utilisation : Modifier formation. Objectif : Effectuer une gestion des formations. Acteurs principaux : Gérant. Rôle de cas d’utilisation Ce scénario permet au gérant de modifier une formation. Pré- condition : Authentification préalable. Post- condition : Une formation bien modifiée. Scénario Action des acteurs Action du système
  • 32. Page | 32 nominal : 1. Authentification. 2. Sélectionner une formation. 3. Afficher le formulaire avec les informations de la formation. 4. Modifier les champs. 5. Vérifier les données saisies. 6. Mise à jour de la formation. 7. Afficher un message de succès. Tableau 8 : Description textuelle de cas d’utilisation « Modifier formation ». Les enchainements alternatifs : A1 : Aucune formation trouvée L’enchainement A1 démarre au point 3 du scénario nominal. 4- le système arrête le scénario nominal. Le scénario s’arrête. A2 : Données manquants L’enchainement A2 démarre au point 5 du scénario nominal. 6- le système affiche un message d’erreur. Le scénario nominal reprend au point 4. Supprimer formation : Nom de cas d’utilisation : Supprimer formation. Objectif : Effectuer une gestion des formations. Acteurs principaux : Gérant. Rôle de cas d’utilisation Ce scénario permet au gérant de supprimer une formation. Pré- condition : Authentification préalable. Post- condition : Une formation bien supprimer et archivée. Scénario nominal : Action des acteurs Action du système 1. Authentification. 2. Sélectionner une formation. 3. Afficher un message de confirmation.
  • 33. Page | 33 4. Valider son choix. 5. Supprimer les inscriptions à la formation. 6. Supprimer la formation. 7. Afficher un message de succès. Tableau 9 : Description textuelle de cas d’utilisation « Supprimer formation ». Les enchainements alternatifs : A1 : Aucune formation trouvée L’enchainement A1 démarre au point 3 du scénario nominal. 4- le système arrête le scénario nominal. Le scénario s’arrête. A2 : L’utilisateur annule la suppression L’enchainement A2 démarre au point 3 du scénario nominal. 4- le système affiche arrête le scénario nominal. Le scénario s’arrête. 4. Gérer les formateurs : Ajouter formateur : Nom de cas d’utilisation : Ajouter formateur. Objectif : Effectuer une gestion des enseignants. Acteurs principaux : Gérant. Rôle de cas d’utilisation Ce scénario permet au gérant d’ajouter un formateur. Pré- condition : Authentification préalable. Post- condition : Un nouvel formateur ajouté. Scénario nominal : Action des acteurs Action du système 1. Authentification. 2. Demander le formulaire d’ajout. 3. Afficher le formulaire. 4. Remplir les champs. 5. Vérifier les données saisies. 6. Enregistrer le formateur. 7. Afficher un message de succès.
  • 34. Page | 34 Tableau 10 : Description textuelle de cas d’utilisation « Ajouter formateur ». Les enchainements alternatifs : A1 : Données manquants L’enchainement A1 démarre au point 5 du scénario nominal. 6- le système affiche un message d’erreur. Le scénario nominal reprend au point 4. Modifier formateur : Nom de cas d’utilisation : Modifier formateur. Objectif : Effectuer une gestion des formateurs. Acteurs principaux : Gérant. Rôle de cas d’utilisation Ce scénario permet au gérant de modifier un formateur. Pré- condition : Authentification préalable. Post- condition : Un formateur bien modifié. Scénario nominal : Action des acteurs Action du système 1. Authentification. 2. Sélectionner un enseignant. 3. Afficher le formulaire avec les informations de l’enseignant. 4. Modifier les champs. 5. Vérifier les données saisies. 6. Mise à jour du formateur. 7. Afficher un message de succès. Tableau 11 : Description textuelle de cas d’utilisation « Modifier formateur ». Les enchainements alternatifs : A1 : Aucun enseignant trouvé L’enchainement A1 démarre au point 2 du scénario nominal. 3- le système arrête le scénario nominal. Le scénario s’arrête. A2 : Données manquants L’enchainement A2 démarre au point 5 du scénario nominal.
  • 35. Page | 35 6- le système affiche un message d’erreur. Le scénario nominal reprend au point 4. Supprimer formateur : Nom de cas d’utilisation : Supprimer formateur. Objectif : Effectuer une gestion des formateurs. Acteurs principaux : Gérant. Rôle de cas d’utilisation Ce scénario permet au gérant de supprimer un formateur. Pré- condition : Authentification préalable. Post- condition : Un formateur bien supprimé. Scénario nominal : Action des acteurs Action du système 1. Authentification. 2. Sélectionner un enseignant. 3. Afficher un message de confirmation. 4. Valider son choix. 5. Vérifier la dépendance avec des formations. 6. Supprimer le formateur. 7. Afficher un message de succès. Tableau : Description textuelle de cas d’utilisation « Supprimer formateur». Les enchainements alternatifs : A1 : Aucun enseignant trouvé L’enchainement A1 démarre au point 2 du scénario nominal. 3- le système arrête le scénario nominal. Le scénario s’arrête. A2 : L’utilisateur annulé la suppression L’enchainement A2 démarre au point 3 du scénario nominal. 4- le système affiche arrête le scénario nominal. Le scénario s’arrête. A3 : Le formateur est déjà lié avec des formations L’enchainement A3 démarre au point 5 du scénario nominal.
  • 36. Page | 36 7- le système passe au point 2 du scénario nominal. Le scénario s’arrête. 5. Gérer les gérants : Ajouter gérant : Nom de cas d’utilisation : Ajouter gérant. Objectif : Effectuer une gestion des gérants. Acteurs principaux : Admin. Rôle de cas d’utilisation Ce scénario permet à l’admin d’ajouter un gérant. Pré- condition : Authentification préalable. Post- condition : Un nouveau gérant ajouté. Scénario nominal : Action des acteurs Action du système 1. Authentification. 2. Afficher la liste des gérants. 3. Cliquer sur le bouton ajouter gérant. 4. Remplir les informations. 5. Vérifier les données saisies. 6. Enregistrer le gérant. 7. Afficher un message de succès. Tableau 13 : Description textuelle de cas d’utilisation « Ajouter gérant ». Les enchainements alternatifs : A1 : Données manquants L’enchainement A1 démarre au point 5 du scénario nominal. 6- le système affiche un message d’erreur. Le scénario nominal reprend au point 4. Modifier gérant : Nom de cas d’utilisation : Modifier gérant. Objectif : Effectuer une gestion des gérants. Acteurs principaux : Admin. Rôle de cas d’utilisation Ce scénario permet à l’admin de modifier un gérant. Pré- condition : Authentification préalable.
  • 37. Page | 37 Post- condition : Un gérant bien modifié. Scénario nominal : Action des acteurs Action du système 1. Authentification. 2. Afficher la liste des gérants. 3. Cliquer sur le bouton modifier gérant. 4. Entrer le nouveau mot de passe. 5. Vérifier le mot de passe. 6. Enregistrer les modifications. 7. Afficher un message de succès. Tableau 14 : Description textuelle de cas d’utilisation « Modifier gérant ». Les enchainements alternatifs : A1 : Aucun gérant trouvé L’enchainement A1 démarre au point 2 du scénario nominal. 3- le système arrête le scénario nominal. Le scénario s’arrête. A2 : Données manquants L’enchainement A2 démarre au point 5 du scénario nominal. 6- le système affiche un message d’erreur. Le scénario nominal reprend au point 4. Supprimer gérant : Nom de cas d’utilisation : Supprimer gérant. Objectif : Effectuer une gestion des enseignants. Acteurs principaux : Admin. Rôle de cas d’utilisation Ce scénario permet à l’admin de supprimer un gérant. Pré- condition : Authentification préalable. Post- condition : Un gérant bien supprimé. Scénario nominal : Action des acteurs Action du système 1. Authentification. 2. Afficher la liste des gérants. 3. Cliquer sur le bouton supprimer 4. Afficher un message de
  • 38. Page | 38 gérant. confirmation. 5. Valider son choix. 6. Vérifier les données saisies. 7. Supprimer le gérant. 8. Afficher un message de succès. Tableau 15: Description textuelle de cas d’utilisation « Supprimer gérant ». Les enchainements alternatifs : A1 : Aucun gérant trouvé L’enchainement A1 démarre au point 2 du scénario nominal. 3- le système arrête le scénario nominal. Le scénario s’arrête. A2 : L’utilisateur annule la suppression L’enchainement A2 démarre au point 4 du scénario nominal. 5- le système affiche arrête le scénario nominal. Le scénario s’arrête. 6. Gérer les compétences : Ajouter compétence : Nom de cas d’utilisation : Ajouter compétence. Objectif : Effectuer une gestion des compétences. Acteurs principaux : Gérant. Rôle de cas d’utilisation Ce scénario permet au gérant d’ajouter une compétence. Pré- condition : Authentification préalable. Post- condition : Une nouvelle compétence ajoutée. Scénario nominal : Action des acteurs Action du système 1. Authentification. 2. Sélectionner une certification. 3. Afficher la liste des compétences.
  • 39. Page | 39 4. Cliquer sur le bouton ajouter compétence. 5. Remplir les informations. 6. Vérifier les données saisies. 7. Enregistrer la compétence. 8. Afficher un message de succès. Tableau 16 : Description textuelle de cas d’utilisation « Ajouter compétence ». Les enchainements alternatifs : A1 : Données manquants L’enchainement A1 démarre au point 6 du scénario nominal. 7- le système affiche un message d’erreur. Le scénario nominal reprend au point 5. Modifier compétence : Nom de cas d’utilisation : Modifier compétence. Objectif : Effectuer une gestion des compétences. Acteurs principaux : Gérant. Rôle de cas d’utilisation Ce scénario permet au gérant de modifier un gérant. Pré- condition : Authentification préalable. Post- condition : Une compétence bien modifiée. Scénario nominal : Action des acteurs Action du système 1. Authentification. 2. Sélectionner une certification. 3. Afficher la liste des compétences. 4. Cliquer sur le bouton modifier compétences. 5. Entrer la nouvelle valeur. 6. Vérifier le champ. 7. Enregistrer les modifications. 8. Afficher un message de succès. Tableau 17 : Description textuelle de cas d’utilisation « Modifier compétence ». Les enchainements alternatifs : A1 : Aucune compétence trouvée L’enchainement A1 démarre au point 2 du scénario nominal. 3- le système arrête le scénario nominal. Le scénario s’arrête.
  • 40. Page | 40 A2 : Données manquants L’enchainement A2 démarre au point 6 du scénario nominal. 6-le système affiche un message d’erreur. Le scénario nominal reprend au point 5. Supprimer compétence : Nom de cas d’utilisation : Supprimer compétence. Objectif : Effectuer une gestion des compétences. Acteurs principaux : Gérant. Rôle de cas d’utilisation Ce scénario permet au gérant de supprimer une compétence. Pré- condition : Authentification préalable. Post- condition : Une compétence bien supprimée. Scénario nominal : Action des acteurs Action du système 1. Authentification. 2. Sélectionner une certification. 3. Afficher la liste des compétences. 4. Cliquer sur le bouton supprimer compétence. 5. Afficher un message de confirmation. 6. Valider son choix. 7. Supprimer la compétence. 8. Afficher un message de succès. Tableau 18 : Description textuelle de cas d’utilisation « Supprimer compétence ». Les enchainements alternatifs : A1 : Aucune compétence trouvée L’enchainement A1 démarre au point 2 du scénario nominal. 3- le système arrête le scénario nominal. Le scénario s’arrête. A2 : L’utilisateur annule la suppression L’enchainement A2 démarre au point 5 du scénario nominal. 6- le système affiche arrête le scénario nominal. Le scénario s’arrête.
  • 41. Page | 41 7. Gérer les inscriptions : Nom de cas d’utilisation : Gérer les inscriptions. Objectif : Effectuer une consultation des inscriptions aux certifications ou formations et les validées. Acteurs principaux : Gérant. Rôle de cas d’utilisation Ce scénario permet au gérant de consulter la liste des inscrits aux certifications ou aux formations et validée une ou plusieurs. Pré- condition : Authentification préalable. Post- condition : Message de confirmation envoyé au client. Scénario nominal : Action des acteurs Action du système 1. Authentification. 2. Sélectionner formation/Certification. 3. Afficher la liste des inscrits. 4. Valider une inscription. 5. Valider l’inscription. 6. Envoyer un e- mail de confirmation au client. 7. Message de succès. Tableau 19 : Description textuelle de cas d’utilisation « Gérer inscriptions ». Les enchainements alternatifs : A1 : Aucune inscription trouvée L’enchainement A1 démarre au point 3 du scénario nominal. 4- le système arrête le scénario nominal. Le scénario s’arrête. 8. Rechercher certification : Nom de cas d’utilisation : Rechercher certification. Objectif : Effectuer une recherche de certifications. Acteurs principaux : Client. Rôle de cas d’utilisation Ce scénario permet au client de rechercher une certification. Pré-condition : Liste des certifications existes.
  • 42. Page | 42 Post- condition : Les certifications sont bien affichées. Scénario nominal : Action des acteurs Action du système 1. Demande la page de recherche. 2. Afficher la page. 3. Remplir les informations. 4. Vérification des champs. 5. Liste des certifications. Tableau 20 : Description textuelle de cas d’utilisation « Rechercher certification ». Les enchainements alternatifs : A1 : Données manquants L’enchainement A1 démarre au point 4 du scénario nominal. 5- le système affiche un message d’erreur. Le scénario nominal reprend au point 3. 9. Consulter certification : Nom de cas d’utilisation : Consulter certification. Objectif : Consulter une certification. Acteurs principaux : Client. Rôle de cas d’utilisation Ce scénario permet au client de consulter une certification. Pré-condition : Le client vient de faire une recherche. Post- condition : Les informations de la certification sont bien affichées. Scénario nominal : Action des acteurs Action du système 1. Demande la page de certification. 2. Afficher la page. Tableau 21 : Description textuelle de cas d’utilisation « Consulter certification ». 10.Consulter les formations : Nom de cas d’utilisation : Consulter les formations. Objectif : Consulter les formations. Acteurs principaux : Client. Rôle de cas Ce scénario permet au client de consulter une formation.
  • 43. Page | 43 d’utilisation Pré-condition : Existence des formations. Post- condition : Les formations ont bien affichées. Scénario nominal : Action des acteurs Action du système 1. Demande la liste des formations. 2. Afficher la liste. 3. Cliquer pour consulter une formation. 4. Consultation de la formation. Tableau 22 : Description textuelle de cas d’utilisation « Consulter les formations ». Les enchainements alternatifs : A1 : Aucune formation trouvée L’enchainement A1 démarre au point 2 du scénario nominal. 3- le système affiche un message d’erreur. Le scénario nominal arrête. 11.Donner avis : Nom de cas d’utilisation : Donner avis. Objectif : Donner un avis. Acteurs principaux : Client. Rôle de cas d’utilisation Ce scénario permet au client la possibilité de donné son avis. Pré-condition : Post- condition : L’avis est bien enregistré. Scénario nominal : Action des acteurs Action du système 1. Cliquer sur donné un avis. 2. Afficher le formulaire. 3. Remplir les champs. 4. Vérifier les champs. 5. Enregistrer l’avis. 6. Afficher un message de succès. Tableau 23 : Description textuelle de cas d’utilisation « Donner avis ». Les enchainements alternatifs :
  • 44. Page | 44 A1 : Données manquants. L’enchainement A1 démarre au point 3 du scénario nominal. 4- le système affiche un message d’erreur. Le scénario nominal reprend le point 2. 12.Proposer formation : Nom de cas d’utilisation : Proposer formation. Objectif : Proposer une formation n’existe pas. Acteurs principaux : Client. Rôle de cas d’utilisation Ce scénario permet au client la possibilité de proposer une formation qui n’existe pas. Pré-condition : Consulter une formation. Post- condition : La proposition est bien enregistrée. Scénario nominal : Action des acteurs Action du système 1. Cliquer sur proposer formation. 2. Afficher le formulaire. 3. Remplir les champs. 4. Vérifier les champs. 5. Enregistrer la proposition. 6. Afficher un message de succès. Tableau 24 : Description textuelle de cas d’utilisation « Proposer formation ». Les enchainements alternatifs : A1 : Données manquants. L’enchainement A1 démarre au point 4 du scénario nominal. 5- le système affiche un message d’erreur. Le scénario nominal reprend le point 3. 13.Recevoir les notifications : Nom de cas d’utilisation : Recevoir les notifications. Objectif : Recevoir les derniers certifications et formations. Acteurs principaux : Client. Rôle de cas d’utilisation Ce scénario permet au client d’inscrire pour recevoir les derniers certifications et formations et offres.
  • 45. Page | 45 Pré-condition : Post- condition : L’inscription est bien faite. Scénario nominal : Action des acteurs Action du système 1. Remplir les champs. 2. Vérifier les champs. 3. Enregistrer l’inscription. 4. Afficher un message de succès. Tableau 25 : Description textuelle de cas d’utilisation « Recevoir les notifications ». Les enchainements alternatifs : A1 : Données manquants. L’enchainement A1 démarre au point 2 du scénario nominal. 3- le système affiche un message d’erreur. Le scénario nominal reprend le point 1. 14.Inscrire : Nom de cas d’utilisation : Inscrire. Objectif : L’inscription à une formation, pour passer une certification ou bien pour proposer formation. Acteurs principaux : Client. Rôle de cas d’utilisation Ce scénario permet au client d’inscrire à une formation, pour passer une certification ou bien pour proposer formation. Pré-condition : ---- Post- condition : L’inscription est bien faite. Scénario nominal : Action des acteurs Action du système 1. Demande la page d’inscription. 2. Afficher le formulaire. 3. Remplir les champs. 4. Vérifier les champs. 5. Enregistrer l’inscription. 6. Afficher un message de succès. Tableau 26 : Description textuelle de cas d’utilisation « Inscrire ». Les enchainements alternatifs : A1 : Données manquants. L’enchainement A1 démarre au point 4 du scénario nominal.
  • 46. Page | 46 5- le système affiche un message d’erreur. Le scénario nominal reprend le point 3. 15.Consulter les avis : Nom de cas d’utilisation : Consulter les avis. Objectif : Consultation des avis de clients. Acteurs principaux : Gérant. Rôle de cas d’utilisation Ce scénario permet au gérant de consulter les avis des clients. Pré-condition : Authentification préalable. Post- condition : Les avis sont bien affichés. Scénario nominal : Action des acteurs Action du système 1. Demande la liste des avis. 2. Afficher les avis. 3. Demande le répond à un avis. 4. Afficher le formulaire. 5. Remplir les informations. 6. Vérifier les champs. 7. Envoyer e-mail au client. 8. Supprimer l’avis. 9. Afficher un message de succès. Tableau 27 : Description textuelle de cas d’utilisation « Consulter les avis ». Les enchainements alternatifs : A1 : Données manquants. L’enchainement A1 démarre au point 6 du scénario nominal. 7- le système affiche un message d’erreur. Le scénario nominal reprend le point 5. 16.Télécharger PDF : Nom de cas d’utilisation : Télécharger un PDF. Objectif : Consulter les formations et les certifications en format PDF. Acteurs principaux : Gérant. Rôle de cas Ce scénario permet au client Consulter et télécharger les
  • 47. Page | 47 d’utilisation formations et les certifications en format PDF. Pré-condition : Consulter une formation/certification. Post- condition : Le PDF bien affiché pour le télécharger. Scénario nominal : Action des acteurs Action du système 1. Demande la page de PDF. 2. Afficher le PDF. Tableau 28 : Description textuelle de cas d’utilisation « Télécharger PDF ». 17.Consulter les propositions : Nom de cas d’utilisation : Consulter les propositions. Objectif : Afficher les propositions au gérant. Acteurs principaux : Gérant. Rôle de cas d’utilisation Ce scénario permet au gérant de consulter les propositions des formations des clients. Pré-condition : Authentification préalable. Post- condition : La liste des propositions est bien affichée. Scénario nominal : Action des acteurs Action du système 1. Demande la liste des propositions. 2. Afficher la liste. Tableau 29 : Description textuelle de cas d’utilisation « Consulter les propositions ». Les enchainements alternatifs : A1 : Le gérant supprimer une proposition. L’enchainement A1 démarre au point 2 du scénario nominal. 3- le système affiche un message de confirmation. 4- Le gérant valide son choix. Le scénario nominal arrête. 18.Envoyer e-mail : Nom de cas d’utilisation : Envoyer e-mail. Objectif : L’envoie d’un e-mail. Acteurs principaux : Gérant. Rôle de cas Ce scénario permet au gérant d’envoyer un email au client.
  • 48. Page | 48 d’utilisation Pré- condition : Demande de l’envoie. Post- condition : L’e-mail est bien envoyé. Scénario nominal : Action des acteurs Action du système 1. Envoyer les informations nécessaires. 2. Envoyer l’e-mail. 3. Afficher un message de succès. Tableau 30 : Description textuelle de cas d’utilisation « Envoyer e-mail ». II. Diagramme de séquence « Boite noire » : Pour schématiser la vue comportementale de notre système informatique, nous faisons recours au diagramme de séquence d’UML. Ce diagramme permet de préciser les interactions entre l’acteur et le système avec des messages présentés dans un ordre chronologique. Le diagramme de séquence système traite le système informatique comme étant une boite noir. Le comportement du système est décrit vu de l’extérieur sans avoir d’idée sur comment il le réalisera. 1. Inscrire: Figure 9 : Diagramme de séquence « Inscrire ».
  • 49. Page | 49 2. Authentifier : Figure 10 : Diagramme de séquence « Authentifier ». 1. Envoyer e-mail : Figure 11 : Diagramme de séquence « Envoyer e-mail ».
  • 50. Page | 50 2. Gérer les certifications : Figure 12 : Diagramme de séquence « Gérer les certifications ».
  • 51. Page | 51 3. Gérer les formations : Figure 13 : Diagramme de séquence « Gérer formations ».
  • 52. Page | 52 4. Gérer les formateurs : Figure 14 : Diagramme de séquence « Gérer les formateurs ».
  • 53. Page | 53 5. Gérer les gérants : Figure 15: Diagramme de séquence « Gérer les gérants ».
  • 54. Page | 54 6. Gérer les compétences : Figure 16 : Diagramme de séquence « Gérer les compétences ».
  • 55. Page | 55 7. Gérer les inscriptions : Figure 17 : Diagramme de séquence « Gérer les inscriptions ». 8. Rechercher certification : Figure 18 : Diagramme de séquence « Rechercher certification».
  • 56. Page | 56 9. Consulter certification : Figure 19 : Diagramme de séquence « Consulter certification ».
  • 57. Page | 57 10.Consulter formation : Figure 20 : Diagramme de séquence « Consulter formation ». 11.Donner avis : Figure 21: Diagramme de séquence « Donner avis ».
  • 58. Page | 58 12.Proposer formation : Figure 22 : Diagramme de séquence « Proposer formation ». 13.Recevoir les notifications : Figure 23 : Diagramme de séquence « Recevoir les notifications ».
  • 59. Page | 59 14.Consulter les propositions : Figure 24 : Diagramme de séquence « Consulter les propositions ». 15.Consulter les avis : Figure 25 : Diagramme de séquence « Consulter les avis ».
  • 60. Page | 60 III. Diagramme d’activité : Le diagramme d'activité est un diagramme comportemental d'UML, permettant de représenter le déclenchement d'événements en fonction des états du système et de modéliser des comportements pouvant être parallèles. Le diagramme d'activité est également utilisé pour décrire un flux de travail. 1. Authentifier : Figure 26 : Diagramme d’activité « Authentifier ».
  • 61. Page | 61 2. Consulter certification : Figure 27 : Diagramme d’activité « Consulter certification ». 3. Consulter formation :
  • 62. Page | 62 Figure 28 : Diagramme d’activité « Consulter formation ». 4. Gérer les certifications : Figure 29 : Diagramme d’activité « Gérer certifications ». 5. Gérer les formations :
  • 63. Page | 63 Figure 30 : Diagramme d’activité « Gérer formations ». 6. Gérer les compétences : Figure 31 : Diagramme d’activité « Gérer compétences ». 7. Gérer les gérants : Figure 32 : Diagramme d’activité « Gérer gérants ».
  • 64. Page | 64 8. Gérer les formateurs : Figure 33 : Diagramme d’activité « Gérer formateurs ». 9. Gérer les inscriptions : Figure 34 : Diagramme d’activité « Gérer les inscriptions ». 10. Consulter les avis/propositions :
  • 65. Page | 65 Figure 35 : Diagramme d’activité « Consulter les avis/propositions ». 11. Recevoir les notifications/Proposer formation/Donner avis : Figure 36 : Diagramme d’activité «Recevoir les notifications/Proposer formation/Donner avis ». IV. Diagramme de classe d’analyse : Le diagramme de classes est considéré comme le plus important de la modélisation orientée objet, il est le seul obligatoire lors d’une telle modélisation. Le diagramme de classes montre la structure interne du système. Il permet de fournir une représentation abstraite des objets du système qui vont interagir ensemble pour réaliser les cas d’utilisation. Il s’agit d’une vue statique car on ne tient pas compte du facteur temporel dans le comportement du système. Les principaux éléments de cette vue statique sont les classes et leurs relations : association, généralisation et plusieurs types de dépendances, telles que la réalisation et l’utilisation. Une classe-association possède les caractéristiques des associations et des classes : elle se connecte à deux ou plusieurs classes et possède également des attributs et des opérations. Une classe-association est caractérisée par un trait discontinu entre la classe et l’association. Une classe est une description d'un groupe d'objets partageant un ensemble commun de propriétés (les attributs), de comportements (les opérations ou méthodes) et de relations avec d'autres objets (les associations et les agrégations). Une classe de conception est composée par :  Attribut chaque attribut d’une classe est le même pour chaque instance de cette classe.  Méthodes elle définit le comportement d’une classe elle-même, et non le comportement de ses instances qui peut être différent.
  • 66. Page | 66 Le schéma ci-dessous représente le diagramme de classe qu’on a établi pour la conception du système. Figure 37 : Diagramme de classe d’analyse. V. Base de données : 1. Modèle logique de données : Le modèle logique des données (MLD) précise le modèle conceptuel par des choix organisationnels. Il s’agit d’une transcription (également appelée dérivation) du MCD dans un formalisme adapté à une implémentation ultérieure, au niveau physique, sous forme de base de données relationnelle ou réseau, ou autres. Les choix techniques d’implémentation (choix d’un SGBD) ne seront effectués qu’au niveau suivant.
  • 67. Page | 67 Figure 38 : Modèle logique de données(MLD). 2. Modèle physique de données : Le modèle physique des données consiste à implémenter le modèle dans le SGBD, c'est-à- dire le traduire dans un langage de définition de données. Le langage généralement utilisé pour ce type d'opération est le SQL, et plus spécialement le langage de définition de données du SQL.
  • 68. Page | 68 Figure 39 : Modèle physique de données(MPD). VI. Prototype des interfaces : Dans le domaine du web, une technique est apparue et prend une place très importante dans le développement des applications Web, il s’agit de prototypage. Cette technique consiste préparer quelques interfaces graphiques de l’application en utilisant un outil de conception de prototypage afin de mesurer le degré de satisfaction du client par rapport à la compréhension du projet par le développeur. L’interaction qui se produit entre l’utilisateur final et le développeur, à la suite de la discussion sur ces interfaces, permet d’ajuster les besoins et de les concevoir de manière précise et exacte. En effet les interfaces graphique font que l’utilisateur final soit plus interactif, précis et le poussent à mieux s’exprimer quant à ses attentes. Ci-dessus quelques interfaces réalisées avec l’outil Balsamiq Mockups [4].
  • 69. Page | 69 1. Authentifier : Figure 40 : Interface authentifié. 2. Rechercher certification : Figure 41 : Interface rechercher certification.
  • 70. Page | 70 3. Consulter certification : Figure 42 : Interface consulter certification. 4. Gérer certification, formation et formateur : Figure 43 : Interfaces gérer les certifications, formations, formateurs.
  • 71. Page | 71 5. Consulter les formations : Figure 44 : Interface consulter les formations. 6. Gérer avis et propositions : Figure 45 : Interface gérer avis et propositions.
  • 72. Page | 72 7. Inscrire : Figure 46 : Interface inscrire. 8. Gérer gérant : Figure 47 : Interface gérer gérants.
  • 73. Page | 73 9. Gérer inscriptions : Figure 48 : Interface gérer inscriptions. 10. Gérer compétences : Figure 49 : Interface gérer les compétences.
  • 74. Page | 74 Chapitre 4 : Phase de réalisation. Introduction : Cette phase est la dernière phase dans le cycle de développement d’un logiciel avec la démarche UP-XP. Cette phase est souvent appelée phase d’implémentation. Les tâches effectuées pendant cette phase ne sont pas claires, et ils dépendent fortement du type de déploiement du logiciel. Pour mon projet, ce chapitre sera consacré pour la présentation des langages et outils de programmation utilisés pour la réalisation de mon application, puis je finirai par quelques interfaces graphiques du logiciel fourni. I. Environnement logiciel : Nous avons énuméré au cours de cette partie les différents outils utilisés tout au long de ce projet pour l’étude et la mise en place de notre application. 1. Eclipse : Eclipse IDE est un environnement de développement intégré libre (le terme Eclipse désigne également le projet correspondant, lancé par IBM) extensible, universel et polyvalent, permettant potentiellement de créer des projets de développement mettant en œuvre n'importe quel langage de programmation. Eclipse IDE est principalement écrit en Java (à l'aide de la bibliothèque graphique SWT, d'IBM), et ce langage, grâce à des bibliothèques spécifiques, est également utilisé pour écrire des extensions. 2. MySQL : MySQL est un système de gestion de base de données relationnelle. Une base de données relationnelle augmente la vitesse et la flexibilité, en stockant des données dans des tables séparées plutôt que de mettre toutes les données dans un secteur. Ces tables sont liées par des relations définies permettant de combiner des données de plusieurs tables sur demande. Employer une SGBDR signifie qu'il
  • 75. Page | 75 est possible d'ajouter, d'accéder, et de traiter les données stockées dans votre base de données. SQL est ‘Structured Query Language ‘ le language normalisé le plus commun pour accéder à des bases de données. 3. Apache tomcat : Apache Tomcat est un conteneur web libre de servlets et JSP Java EE. Issu du projet Jakarta, c'est un des nombreux projets de l’Apache Software Foundation. Il implémente les spécifications des servlets et des JSP du Java Community Process1, est paramétrable par des fichiers XML et de propriétés, et inclut des outils pour la configuration et la gestion. Il comporte également un serveur HTTP. II. Technologies et langages utilisés : 1. Java EE (Java Enterprise Edition) [5] Java Enterprise Edition, ou Java EE (anciennement J2EE), est une spécification pour la technique Java de Oracle plus particulièrement destinée aux applications d’entreprise. Ces applications sont considérées dans une approche multi-niveaux1. Dans ce but, toute implémentation de cette spécification contient un ensemble d’extensions au Framework Java standard (JSE, Java Standard Edition) afin de faciliter notamment la création d’applications réparties. 2. HTML HTML (Hyper Text Markup Language / langage hypertexte) est le langage dans lequel sont écrites les pages du web. Un site web est constitué d’un ou plusieurs documents HTML, appelées aussi pages. Pour se déplacer d’une page à l’autre dans nos modules on passe par l’intermédiaire d'hyperliens. Pour ajouter des objets graphiques on utilise le HTML d’autre part pour tester des pages web html en local, il suffit d'ouvrir le fichier dans un navigateur. Le HTML n’est pas un langage de programmation comme le C++. Les langages dynamiques comme PHP et JavaScript vont d' ailleurs générer des pages HTML statiques.
  • 76. Page | 76 3. JavaScript [6] JavaScript est un langage de programmation de scripts principalement utilisé dans les pages web interactives. C'est un langage orienté objets à prototype, c'est-à-dire que les bases du langage et ses principales interfaces sont fournies par des objets qui ne sont pas des instances de classes, mais qui sont chacun équipés de constructeurs permettant de générer leurs propriétés, et notamment une propriété de prototypage qui permet d'en générer des objets héritiers personnalisés. Le langage a été créé en 1995 par Brendan Eich pour le compte de Netscape Communications Corporation. Le langage actuellement à la version 1.7 est une implémentation du standard ECMA-262. La version 1.8 est en développement et intégrera des éléments du langage Python. La version 2.0 du langage est prévue pour intégrer la 4e version du standard ECMA. 4. JQuery [7] C'est une bibliothèque (sous licence GPL) de fonctions JavaScript permettant au programmeur de s'affranchir des tâches "bas niveau" répétitives et qui fonctionnent sur les navigateurs les plus courants. Son installation dans chaque page web doit être effectuée en premier par la directive : <script type="text/javascript" src="jQuery-1.4.1.js"></script>. 5. CSS CSS (Cascading Style Sheets) comme par exemple la couleur du fond de la page ou le type de police même document des caractéristiques de mise forme associées à des groupes d’éléments. Il suffit de définir par un nom un ensemble de définitions et de caractéristiques de mise en forme, et elles permettent notamment:  D’obtenir une présentation homogène sur tout un site en faisant appel sur toutes les pages à une même définition de style.  De permettre le changement de l’aspect d’un site complet entier par la seule modification de quelques lignes
  • 77. Page | 77  Une plus grande lisibilité du HTML, car les styles sont définis à part. Des chargements de pages plus rapides, pour les même raison que précédemment. 6. Ajax Ajax (Asynchronous JavaScript and XML) permet de construire des applications Web et des sites web dynamiques interactifs sur le poste client en se servant de différentes technologies ajoutées aux navigateurs web. Ajax combine JavaScript, les CSS, JSON, XML, le DOM et le XMLHttpRequest afin d'améliorer maniabilité et confort d'utilisation des applications internet riches. III. Développement : 1. Choix de la plateforme Java EE : Pour le développement de l’application, nous avons utilisé la plateforme Java EE (Java Edition Entreprise). Parmi les avantages de la plateforme Java EE, on peut citer :  Technologie sans frais : Java (sur le quel est basé Java EE) est une technologie Open Source, les outils de développement JEE sont disponibles gratuitement.  Maintenabilité : Les applications Java EE sont plus faciles à entretenir, dans la plupart des cas, ils sont conçus en plusieurs couches. Il est facile d'ajouter de nouvelles fonctionnalités tierces pour les applications Java EE en raison de sa fonction d'évolutivité.  Indépendance : Les applications développées avec Java EE peuvent être déployées sur la plupart des matériels disponibles. Elles offrent une flexibilité de matériel à l'utilisateur final. Ainsi, l’utilisateur peut déployer et exécuter des applications Java EE sur le système d'exploitation et le matériel de son choix. 2. Choix de développement Pour le développement, nous avons appliqué le modèle Model-View-Controller (MVC). Ce paradigme divise l’IHM (Interface Homme Machine) en un modèle (M pour modèle de données) une vue (V pour la présentation, l’interface utilisateur) et un contrôleur (C pour la logique de contrôle, et la gestion des événements / synchronisation), chacun ayant un rôle précis dans l'interface.
  • 78. Page | 78 L'organisation globale d'une interface graphique est souvent délicate. L'architecture MVC ne résout pas tous les problèmes. Elle fournit souvent une première approche qui peut ensuite être adaptée. Elle offre aussi un cadre pour structurer une application. Ce patron d'architecture impose la séparation entre les données, la présentation et les traitements, ce qui donne trois parties fondamentales dans l'application finale : le modèle, la vue et le contrôleur. Figure 50 : Modèle MVC (Modèle – Vue – Contrôleur).  Le modèle : Le modèle représente le comportement de l'application : traitements des données, interactions avec la base de données, etc. Il décrit ou contient les données manipulées par l'application. Il assure la gestion de ces données et garantit leur intégrité. Dans le cas typique d'une base de données, c'est le modèle qui la contient. Le modèle offre des méthodes pour mettre à jour ces données (insertion, suppression, changement de valeur). Il offre aussi des méthodes pour récupérer ces données. Les résultats renvoyés par le modèle sont dénués de toute présentation.  La vue La vue correspond à l'interface avec laquelle l'utilisateur interagit. Sa première tâche est de présenter les résultats renvoyés par le modèle. Sa seconde tâche est de recevoir toutes les actions de l'utilisateur (clic de souris, sélection d'une entrée, boutons, etc.). Ces différents
  • 79. Page | 79 événements sont envoyés au contrôleur. La vue n'effectue aucun traitement, elle se contente d'afficher les résultats des traitements effectués par le modèle et d'interagir avec l'utilisateur.  Le contrôleur Le contrôleur prend en charge la gestion des événements de synchronisation pour mettre à jour la vue ou le modèle et les synchroniser. Il reçoit tous les événements de l'utilisateur et enclenche les actions à effectuer. Si une action nécessite un changement des données, le contrôleur demande la modification des données au modèle, et ce dernier notifie la vue que les données ont changée pour qu'elle les mette à jour. IV. Les interfaces de l’application : 1. Authentifier : Cette interface permet au gérant d’accéder au leurs profil pour la gestion. Figure 51 : Page d’authentification. 2. Rechercher certification : Cette interface permet au client de rechercher une certification soit par son code, son domaine, sa technologie ou bien un mot qui signifie la certification.
  • 80. Page | 80 Figure 52 : Page de recherche. 3. Consulter formations : Cette interface permet au client de consulter les formations. Figure 53 : Page consulter les formations.
  • 81. Page | 81 4. Consulter certification : Après la recherche l’interface qui va afficher est la page de consultation de la certification. Figure 54 : Page consulter certification. 5. Consulter les avis : Cette page permet au gérant de consulter les avis et les supprimer (si aucun avis trouvés un message va afficher). Figure 55 : Page consulter les avis.
  • 82. Page | 82 6. Gérer les certifications : Cette page permet au gérant de gérer les certifications (ajouter, modifier, supprimer). Figure 56 : Page gérer les certifications. 7. Gérer les formations : Cette page permet au gérant de gérer les formations (ajouter, modifier, supprimer). Figure 57 : Page gérer les formations. 8. Inscrire : Cette page permet au client d’inscrire à une certification, formation ou bien pour proposer une formation.
  • 83. Page | 83 Figure 58 : Page d’inscription. 9. Gérer les formateurs : Cette page permet au gérant de gérer les formateurs (ajouter, modifier, supprimer). Figure 59 : Page gérer les formateurs.
  • 84. Page | 84 10.Gérer les compétences : Cette page permet au gérant de gérer les compétences (ajouter, modifier, supprimer), le tableau montre après la sélection d’une certification. Figure 60 : Page gérer les compétences. 11.Gérer les gérants : Cette page permet à l’administrateur de gérer les gérants (ajouter, modifier, supprimer). Figure 61 : Page gérer les gérants.
  • 85. Page | 85 12.Gérer les inscriptions : Cette page permet au gérant de valider les inscriptions des clients. Figure 62 : Page gérer les inscriptions. 13.Consulter les propositions : Cette page permet au gérant de consulter les propositions et les supprimer. Figure 63 : Page Consulter les propositions.
  • 86. Page | 86 Conclusion générale. Dans le cadre de mon projet de fin d’étude, j’ai conçu de développer une application de gestion des certifications et formations pour la société Pluralis Consulting. Le présent manuscrit détaille toutes les étapes par lesquelles je suis passée pour arriver au résultat attendu. J’ai essayé tout au long de mon travail de construire une application concrète en utilisant la démarche UP-XP. Ce projet m’a donné l’opportunité de s’initier à la vie professionnelle dans un milieu réel et avoir un début d’expérience significatif, et il m’ a appris comment réussir de bonnes relations pour assurer un travail de groupe, comment compter sur soi pour résoudre les problèmes au cas où ils se présentent, comment être méticuleuses dans notre travail, comment être attentives aux indications de mes supérieurs, comment être bien organisées pour accomplir dans les meilleurs délais et meilleures conditions les tâches qui m’ont été confié. Au cours de la réalisation de mon projet, j’ai été astreinte par quelques limites notamment, la contrainte du temps qui était relativement un obstacle devant l’ajout de certaines autres fonctionnalités. Cependant, il était une occasion pour mettre en évidence et déployer sur le plan pratique mes connaissances en informatique. Le projet peut être amélioré, en lui ajoutant quelques modules ou interfaces pour mieux l’adopter aux besoins de l’utilisateur et pour qu’il soit toujours fiable et au niveau des progrès atteint par la société.
  • 87. Page | 87 Bibliographie et Webographie: [1]  http://www.ganttproject.biz/download.php [2]  « Guide de la Modélisation en UML » [Taoufiq GADI, Omar EL BEGGAR, Brahim BOUSETTA, 2013]. [3]  http://www.clubic.com/lancer-le-telechargement-182596-0-poweramc.html [4]  https://balsamiq.com/download/ [5]  « Les Cahiers du Programmeur JEE 5, 2éme édition » [Jérôme Molière ÉDITIONS EYROLLES, 2007] [6]  « JavaScript Des fondamentaux aux concepts avancés » [Emmanuel GUTIERREZ EDITIONS ENI, 2008] [7]  http://openclassrooms.com/courses/simplifiez-vos-developpements-javascript-avec- jquery