87

Rapport pfe-ayoub mkharbach

Embed Size (px)

Citation preview

Page 1: Rapport pfe-ayoub mkharbach
Page 2: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

Page | 50

2. Gérer les certifications :

Figure 12 : Diagramme de séquence « Gérer les certifications ».

Page 51: Rapport pfe-ayoub mkharbach

Page | 51

3. Gérer les formations :

Figure 13 : Diagramme de séquence « Gérer formations ».

Page 52: Rapport pfe-ayoub mkharbach

Page | 52

4. Gérer les formateurs :

Figure 14 : Diagramme de séquence « Gérer les formateurs ».

Page 53: Rapport pfe-ayoub mkharbach

Page | 53

5. Gérer les gérants :

Figure 15: Diagramme de séquence « Gérer les gérants ».

Page 54: Rapport pfe-ayoub mkharbach

Page | 54

6. Gérer les compétences :

Figure 16 : Diagramme de séquence « Gérer les compétences ».

Page 55: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

Page | 56

9. Consulter certification :

Figure 19 : Diagramme de séquence « Consulter certification ».

Page 57: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

Page | 61

2. Consulter certification :

Figure 27 : Diagramme d’activité « Consulter certification ».

3. Consulter formation :

Page 62: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

Page | 69

1. Authentifier :

Figure 40 : Interface authentifié.

2. Rechercher certification :

Figure 41 : Interface rechercher certification.

Page 70: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

Page | 72

7. Inscrire :

Figure 46 : Interface inscrire.

8. Gérer gérant :

Figure 47 : Interface gérer gérants.

Page 73: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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: Rapport pfe-ayoub mkharbach

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