WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Conception et réalisation d'un site web de gestion des certifications et formations.

( Télécharger le fichier original )
par Ayoub MKHARBACH
Faculté des sciences et techniques de settat - Hassan I - Licence Génie informatique 2015
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

ROYAUME DU MAROC
UNIVERSITE HASSAN 1

FACULTE DES SCIENCES ET TECHNIQUES

r f,

y f -._('
·

LICENC

f7ZkWr-7/N

E GÉNIE INFORMATIQUE`. t 4

EFFECTUÉ À

\PJ Li rai

,4

·
· .24tri

wanii..4....40_044E.4.-410,.. a

ETUDE, CONtEP
·N ET RÉALISATION

D'UNE APPLICATION WEB DE GESTION

DES CERTIFICATIONS ET FORMATIONS

Préparé par

· MKHARBACH Ayoub

Licence génie inForma+igrue à (a Facul+é des sciences e+. +echniques

Encadré oar

· FST Settat : MARZOUK Abderrahim

Proiesseur Universi+aire FST

· Pluralis Consulting : LCHHAB Azeddine

lngenieur Forvna+ion e+ cer+ifica-Hon

Année universitaire : 2014 -2015

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 soeurs et mon frère,

En témoignage de mes sincères reconnaissances pour les efforts qu'ils me consenti pour l'accomplissement de mes études. Je leurs dédie ce modeste travail en témoignage de mon grand amour et mon gratitude infinie.

A mes très chers ami(e)s,

En témoignage de l'amitié sincère qui nous a liées et des bons moments passés ensemble. Je vous dédie ce travail en vous souhaitant un avenir radieux et plein de promesses.

A mes chers professeurs,

Ceux qui se dévouent sans cesse pour m'éclaircir la voie et les immenses horizons du savoir et dont leurs efforts méritent largement mon respect, je vous remercie énormément.

Page | 3

Remerciements

C'est avec un réel plaisir que j'exprime ici mes reconnaissances à tous ceux qui ont contribué de près ou de loin à l'élaboration de ce travail.

Je remercie Allah le tout puissant de m'avoir donné le courage et la volonté de mener à terme ce présent travail.

J'adresse les sincères remerciements à mon cher encadrant de projet de fin d'étude Mr. MARZOUK Abderrahim, pour leurs conseils précieux, leur soutien et leur disponibilité tout au courant de mon stage.

Je remercie vivement Mr. LCHHAB Azeddine mon parrain de stage pour sa disponibilité sans condition, pour ses directives, qui m'a aidé tout au long de l'élaboration de ce projet et qui a tout fait pour me mettre dans les bonnes conditions de travail.

Je tiens à remercier également tous mes collègues dans Pluralis Consulting et Mr. GASSMI Karim Le directeur pour leurs accueils, leurs conseils et leur écoute.

A notre Doyen, Mr. BOUAYAD qu'il trouve ici l'expression de mon profonde gratitude, pour sa veille sur le bon déroulement de mon formation.

Mes remerciements vont aussi à l'encontre de mes chers parents qui n'ont ménagés aucun effort et qui ne cesseront de le faire, pour me soutenir à tout moment de ma vie.

Enfin j'adresse mes plus sincères remerciements à tous les membres du jury qui m'ont honoré par leur présence et en acceptant de juger mon travail.

Page | 4

Sommaire

Dédicace 2

Remerciements 3

Sommaire 4

Liste des figures 6

Liste des tableaux 8

Introduction générale 9

Chapitre 1 : Contexte générale du projet. 10

Introduction : 10

I. Présentation de la société : 10

1. Fiche technique : 10

2. Historique : 10

3. La structure organisationnelle : 11

II. Cahier des charges : 14

1. Présentation du projet : 14

2. Problématique : 14

3. Expression du besoin : 14

4. Fonctionnalités attendus : 15

III. Planning et conduite du projet : 17

1. Gestion de projet 17

2. Diagramme de GANTT 17

IV. Langage et méthodologie de conception : 19

Introduction : 19

1. La démarche UP-XP : 19

2. Phases de modélisation. 20

3. Le formalisme UML : 21

4. L'outil PowerAmc : 21

Chapitre 2 : Phase d'inception. 22

Introduction : 22

I. Capture des besoins : 22

1. Définition des besoins fonctionnels : 22

2. Les besoins non fonctionnels : 23

3. Les principaux acteurs du système : 24

4. Regroupement des exigences par intentions d'acteurs : 25

Page | 5

II. Diagramme de cas d'utilisation : 25

Chapitre 3 : Phase d'analyse et de conception. 27

Introduction : 27

I. Description textuelle des cas d'utilisation : 27

II. Diagramme de séquence « Boite noire » : 48

III. Diagramme d'activité : 60

IV. Diagramme de classe d'analyse : 65

V. Base de données : 66

VI. Prototype des interfaces : 68

Chapitre 4 : Phase de réalisation. 74

Introduction : 74

I. Environnement logiciel : 74

II. Technologies et langages utilisés : 75

III. Développement : 77

IV. Les interfaces de l'application : 79

Conclusion générale 86

Bibliographie et Webographie: 87

Page | 6

Liste des figures

Figure Commentaire Page

Figure 1

L'organigramme de Pluralis Consulting

11

Figure 2

Les accompagnements des directeurs et des managers

12

Figure 3

Les tâches du projet

18

Figure 4

Diagramme de GANTT

18

Figure 5

Les diagrammes disponibles

21

Figure 6

Diagramme des acteurs

24

Figure 7

Diagramme de contexte statique

24

Figure 8

Diagramme de cas d'utilisation

26

Figure 9

Diagramme de séquence « Inscrire »

48

Figure 10

Diagramme de séquence « Authentifier »

49

Figure 11

Diagramme de séquence « Envoyer e-mail »

49

Figure 12

Diagramme de séquence « Gérer les certifications »

50

Figure 13

Diagramme de séquence « Gérer les formations »

51

Figure 14

Diagramme de séquence « Gérer les formateurs »

52

Figure 15

Diagramme de séquence « Gérer les gérants »

53

Figure 16

Diagramme de séquence « Gérer les compétences »

54

Figure 17

Diagramme de séquence « Gérer les inscriptions »

55

Figure 18

Diagramme de séquence « Rechercher certification»

55

Figure 19

Diagramme de séquence « Consulter certification »

56

Figure 20

Diagramme de séquence « Consulter formation »

56

Figure 21

Diagramme de séquence « Donner avis »

57

Figure 22

Diagramme de séquence « Proposer formation »

57

Figure 23

Diagramme de séquence « Recevoir les notifications »

58

Figure 24

Diagramme de séquence « Consulter les propositions »

58

Figure 25

Diagramme de séquence « Consulter les avis »

59

Figure 26

Diagramme d'activité « Authentifier »

60

Figure 27

Diagramme d'activité « Consulter certification »

60

Figure 28

Diagramme d'activité « Consulter formation »

61

Figure 29

Diagramme d'activité « Gérer certifications »

61

Figure 30

Diagramme d'activité « Gérer formations »

62

Figure 31

Diagramme d'activité « Gérer compétences »

62

Figure 32

Diagramme d'activité « Gérer gérants »

63

Figure 33

Diagramme d'activité « Gérer formateurs »

63

Figure 34

Diagramme d'activité « Gérer les inscriptions »

64

Figure 35

Diagramme d'activité « Consulter les avis/propositions »

64

Figure 36

Diagramme d'activité «Recevoir les notifications/Proposer formation/Donner avis »

64

Figure 37

Diagramme de classe d'analyse

66

Figure 38

Modèle logique de données(MLD)

67

Figure 39

Modèle physique de données(MPD)

68

Figure 40

Interface authentifié

69

Figure 41

Interface rechercher certification

69

Figure 42

Interface consulter certification

70

Figure 43

Interfaces gérer les certifications, formations, formateurs

70

Figure 44

Interface consulter les formations

71

Figure 45

Interface gérer avis et propositions

71

Page | 7

Figure 46

Interface inscrire

72

Figure 47

Interface gérer gérants

72

Figure 48

Interface gérer inscriptions

73

Figure 49

Interface gérer les compétences

73

Figure 50

Modèle MVC (Modèle - Vue - Contrôleur)

78

Figure 51

Page d'authentification

79

Figure 52

Page de recherche

80

Figure 53

Page consulter les formations

80

Figure 54

Page consulter certification

81

Figure 55

Page consulter les avis

81

Figure 56

Page gérer les certifications

82

Figure 57

Page gérer les formations

82

Figure 58

Page d'inscription

83

Figure 59

Page gérer les formateurs

83

Figure 60

Page gérer les compétences

84

Figure 61

Page gérer les gérants

84

Figure 62

Page gérer les inscriptions

85

Figure 63

Page Consulter les propositions

85

Page | 8

Liste des tableaux

Tableau Commentaire Page

Tableau 1

Tableau des exigences

22

Tableau 2

Tableau des exigences par intention d'acteur

25

Tableau 3

Description textuelle de cas d'utilisation « Authentifier »

27

Tableau 4

Description textuelle de cas d'utilisation « Ajouter certification »

28

Tableau 5

Description textuelle de cas d'utilisation « Modifier certification »

29

Tableau 6

Description textuelle de cas d'utilisation « Supprimer certification »

30

Tableau 7

Description textuelle de cas d'utilisation « Ajouter formation »

31

Tableau 8

Description textuelle de cas d'utilisation « Modifier formation »

31

Tableau 9

Description textuelle de cas d'utilisation « Supprimer formation »

32

Tableau 10

Description textuelle de cas d'utilisation « Ajouter formateur »

33

Tableau 11

Description textuelle de cas d'utilisation « Modifier formateur »

34

Tableau 12

Description textuelle de cas d'utilisation « Supprimer formateur »

35

Tableau 13

Description textuelle de cas d'utilisation « Ajouter gérant »

36

Tableau 14

Description textuelle de cas d'utilisation « Modifier gérant »

36

Tableau 15

Description textuelle de cas d'utilisation « Supprimer gérant »

37

Tableau 16

Description textuelle de cas d'utilisation « Ajouter compétence »

38

Tableau 17

Description textuelle de cas d'utilisation « Modifier compétence »

39

Tableau 18

Description textuelle de cas d'utilisation « Supprimer compétence »

40

Tableau 19

Description textuelle de cas d'utilisation « Gérer inscriptions »

41

Tableau 20

Description textuelle de cas d'utilisation « Rechercher certification »

41

Tableau 21

Description textuelle de cas d'utilisation « Consulter certification »

42

Tableau 22

Description textuelle de cas d'utilisation « Consulter les formations »

42

Tableau 23

Description textuelle de cas d'utilisation « Donner avis »

43

Tableau 24

Description textuelle de cas d'utilisation « Proposer formation »

44

Tableau 25

Description textuelle de cas d'utilisation « Recevoir les notifications »

44

Tableau 26

Description textuelle de cas d'utilisation « Inscrire »

45

Tableau 27

Description textuelle de cas d'utilisation « Consulter les avis »

46

Tableau 28

Description textuelle de cas d'utilisation « Télécharger PDF »

46

Tableau 29

Description textuelle de cas d'utilisation « Consulter les propositions »

47

Tableau 30

Description textuelle de cas d'utilisation « Envoyer e-mail »

47

Page | 9

Introduction générale

Cette introduction fera l'objet d'une brève présentation de l'application que je vais concevoir et réaliser, des outils et des méthodes choisis, suivi du plan général du processus de développement.

C'est déjà quelques années que les technologies d'informations et les activités des organisations et plus particulièrement le web ont évolué d'une façon croissante et remarquable. Aujourd'hui, le web est un secteur en perpétuelle expansion face à l'apparition du web 2.0 et les nouvelles technologies notamment le HTML5, JavaScript, etc.

C'est dans ce contexte que plusieurs Sociétés essayent de profiter au maximum possible de ces technologies afin d'améliorer leurs productivité et de faire face à quelques problèmes pénibles qui peuvent constituer un obstacle de progression.

Dans ce cadre, Pluralis Consulting souhaite développer une application web permettant de gérer les certifications et les formations fournis par la société. La naissance de cette idée est due à plusieurs problèmes notamment :

? La perte de temps liée à l'explication des certifications et de formations disponibles pour chaque client.

? Déplacement des clients à la société à chaque fois pour des informations...

Mon objectif consiste à développer une application Web qui va aider les clients à consulter les certifications et les formations d'une façon facile et rapide à partir de leurs navigateurs, en tenant compte des compétences requis données par chaque certification et aussi l'inscription en ligne. D'autre part les administrateurs peuvent gérer les certifications et les formations et les inscriptions.

Outre l'originalité de l'application à développer, j'essayerai en plus d'utiliser une méthodologie de développement assez originale, à savoir la démarche UP-XP.

J'essayerai à travers ce rapport de mettre en évidence les étapes effectuées, en analysons chaque étape.

Page | 10

Chapitre 1 : Contexte générale du projet.

Introduction :

« Le projet est un effort complexe pour atteindre un objectif bien spécifique, devant respecter un échéancier et un budget ... »

L'étude du projet est une démarche stratégique visant à organiser le bon déroulement d'un projet et d'assurer la conduite de toutes les phases qui le constituent.

Une étude complète et efficace conduit généralement à la réussite d'un projet. Cette étude fera donc l'objet de notre premier chapitre qui sera consacré à la présentation du projet ainsi que la définition de notre langage et méthodologie de développement.

I. Présentation de la société :

1. Fiche technique :

> Raison sociale : PLURALIS CONSILTING > Date de création : 07/09/2006

> Forme juridique : SARL

> Capital Social : 200000 DH

> Adresse : 30 RUE AZIZ BELLAL QUARTIER MAARIF CASABLANCA

> Patente : 357711969

> Registre commercial : 154901

> C.N.S.S : 7330450

> Identifiant fiscal : 1104463

1. Historique :

La société PLURALIS CONSULTING a été créée en 2006, dirigée par Mr GASSEMI KARIM. Cette société offre un portefeuille complet de services, y compris des services-conseils stratégiques en informatique et en management, des services d'intégration de systèmes, de formation et certification de compétences technologiques.

PLURALIS CONSULTING accompagne les entreprises (Publiques & Privées) pour la création de la performance :

> En mettant en place les bonnes pratiques de Gouvernance Organisationnelle ;

Page | 11

> En offrant des services, solutions et outils de gestion à forte valeur ajoutée ;

> En offrant des actions de formation pour la maîtrise des Technologies de

l'Information et de la Communication (TIC) ;

> En offrant des actions de formation et d'accompagnement au niveau managérial ; > En proposant des solutions de Coaching pour les Managers & Directeurs.

3. La structure organisationnelle :

a. L'organisme :

Directeur général

(Conseils, services, et solutions)

Responsable formations et certifications

Assistante
Administrative

Responsable commercial

 

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 oeuvre 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

Page | 12

> Etude d'opportunité des projets et Retour sur Investissement

> Pilotage des projets par rapport aux objectifs

> Elaboration des termes de références

> Contrôle et suivi des travaux

> Benchmarking de solutions

> Veille technologique

> Réalisation des schémas Directeurs des SI (système d'information)

> Audit Sécuritaire des SI

> Mise en Place des Bonnes Pratiques de Gouvernance

> Gestion des Infrastructures SI

> Tierce Maintenance Applicative

Pôle 2 : Solutions :

Il s'agit de proposer des solutions et des outils de gestion à forte valeur ajoutée.

Solutions ayant une relation avec Le SI et l'organisation :

Solutions de gestion : Accompagnement au choix et mise en place de l'ERP.

Solutions de gestion de projet et programmes (MGP+) : Accompagnement à la mise en place

d'une structure de gestion de projet.

Solution de centre de support : Mise en place d'une solution de support et d'un SPOC.

Solutions qui reposent sur le coaching des Directeurs et Managers :

Figure 2 : Les accompagnements des directeurs et des managers.

Page | 13

- Service : Formations et certifications :

Pole 1 : Formations :

Pluralis est le fruit de plusieurs expériences dans le domaine de la formation et le développement des compétences technologiques. L'informatique évolue en permanence pour offrir aux entreprises des gains de productivité et outiller leur performance.

Pluralis Consulting propose une offre de formation variée comprenant :

> Le management des Systèmes d'information

> Gestion de projet

> Développement logiciel

> Réseaux et sécurité

> Système d'exploitation

> Serveurs et Applications

Pole 2 : Certifications :

Le centre de certification des compétences est un centre de certification informatique. A ce titre, Pluralis Consulting abrite plusieurs plate formes de certifications reconnues au niveau international (Prometric - Pearson Vue - Exin - Certiport).

- Service : Assistant Administratif :

L'assistant administratif joue un rôle important puisque c'est lui qui s'occupe de toute l'organisation interne et des relations externes de Pluralis Consulting. L'assistant administratif accomplit toutes les tâches administratives nécessaires au bon fonctionnement de l'entreprise. C'est un service rattaché aux responsables et au directeur.

- Service : Commercial :

Le Responsable Commercial élabore et propose à la direction générale la politique commerciale de l'entreprise. Il détermine les orientations stratégiques, les objectifs à atteindre et les moyens à mettre en place, après analyse et évaluation des différentes composantes du marché.

Page | 14

II. Cahier des charges :

1. Présentation du projet :

Mon projet est né afin de simplifier non seulement la gestion des certifications ou bien des formations, mais aussi la possibilité d'inscription en ligne, suivre les dernières offres et proposer d'autres formations, ce qui permet d'avoir une bonne communication avec le client.

2. Problématique :

Il est à noter que l'inscription de chaque nouveau client est toujours manuelle, ce qui nécessite des efforts considérables de la part de responsable en vue d'aider le client.

Pour combler cette lacune, le directeur recommande la remise en place d'urgence d'une application informatique pour améliorer la méthode de la consultation des clients et par la même occasion la gestion des certifications et formations.

3. Expression du besoin :

La société veut offrir un meilleur service à leurs clients et leurs employées à l'aide d'une

application web qui donne à un client la possibilité de :

> Consulter les certifications et les formations.

> Inscrire pour passer une certification ou à une formation.

> Propose une formation.

> Donner avis.

> Inscrire pour recevoir les dernières offres.

Et aux gérant la possibilité de :

> Gérer les certifications (ajouter, modifier, supprimer). > Gérer les formations (ajouter, modifier, supprimer). > Gérer les formateurs (ajouter, modifier, supprimer). > Gérer les compétences (ajouter, modifier, supprimer). > Gérer les inscriptions (consulter, valider).

> Consulter les avis et les propositions.

Et au administrateur la possibilité de :

> Gérer les gérants (ajouter, modifier, supprimer).

Page | 15

4. Fonctionnalités attendus :

Consulter les certifications :

Avant la consultation une recherche faite par le client. Par un mot clé signifie le nom de la certification, par le domaine, par la technologie, ou bien par le code.

Après qu'un utilisateur rempli un des champs, deux, trois ou bien quatre un recherche dans la base de données renvoie une liste contient les noms des certifications. Le client peut choisir la certification qui l'intéresse et la consulter, si le client intéresse par la certification peut inscrire pour passer l'examen chez la société, télécharger un PDF contient les mêmes informations et aussi consulter la certification prérequis et les certifications qui peut les passer après.

Consulter les formations :

Une liste contient les formations disponible chez la société affichent avec les dates de départ et de fin, le client peut s'inscrire à une formation, télécharger un PDF ou bien proposer d'autre formations.

Inscrire :

Après qu'un client choisie l'inscription à une formation ou bien certification, il doit remplir un formulaire, avant que les informations envoyées une vérification des champs fait, si le client entre des informations déjà existe ou bien des champs vide un message d'erreur renvoie sinon l'inscription va enregistrée et un message de succès affiche.

Donner un avis:

Pour qu'un client donner leurs avis sur n'importe quoi, il doit introduire son email et leur avis au premier temps une vérification des champs faite avant d'envoyer l'avis.

Recevoir les dernières offres :

Un client peut inscrire pour recevoir les dernières offres, pour cela il doit introduire son email, au premier temps une vérification des champs faite avant d'envoyer l'avis.

Gérer les certifications, les formations et les formateurs:

La gestion de certifications, formations et les formateurs effectuées par les gérants qui sont chargés de faire un suivi en temps réel de tout changement d'informations des certifications ou bien des formations.

Page | 16

? Pour l'ajout d'une nouvelle certification, formation ou formateur fait de la même manière, le gérant doit remplir un formulaire, avant que les informations envoyées une vérification des champs fait, si le gérant entrer un code déjà existe pour la certification ou bien un email déjà existe pour le formateur un message d'erreur renvoie sinon on l'ajoute, on envoie un e-mail au client et on renvoie un message de succès.

? S'il veut modifie, il va choisie le nom, et va modifier les autres informations une vérification des champs faite avant l'envoie du formulaire.

? Pour la suppression le gérant choisir le nom, un message de validation doit être affiché pour valider la suppression, après la validation une requête envoie à la base de données

- Pour les certifications et les formations une vérification des inscriptions faite avant la suppression.

- Pour les certifications une suppression des compétences faite.

- Pour le formateur un message de d'erreur affiché si le formateur est lié avec une ou plusieurs formations, sinon la suppression est validé.

Gérer les inscriptions :

La gestion des inscriptions effectuées par les gérants, Après la consultation des inscriptions le gérant vérifie les informations et valide l'inscription d'un client qui va recevoir un message de confirmation dans leur courrier.

Gérer les compétences:

La gestion de compétences aussi effectuées par les gérants, au premier temps une liste de certifications affiche au gérant qui va choisie une certification, après la sélection un table contiennent les compétences de la certification affiche avec la possibilité de modifier ou supprimer une compétence et aussi ajouter une nouvelle compétence.

Gérer les gérants:

La gestion de gérants effectuées par l'admin qui peut ajouter, modifier ou bien supprimer les gérants, au premier temps un table contiennent tous les gérants affiche avec la possibilité de modifier ou supprimer un gérant et aussi ajouter une nouveau gérant.

Page | 17

> L'ajout d'un nouveau gérant demande de remplir deux champs (login, password) une vérification des champs faite si le login est déjà existé un message d'erreur affiche sinon l'ajout va être enregistré et un message de succès affiche.

> La modification demande d'entrée l'ancien mot de passe et le nouveau mot de passe, si l'ancien mot de passe est incorrect un message d'erreur affiche sinon la modification va être enregistrée et un message de succès affiche.

> La suppression demande une confirmation de la part de l'admin.

Gérer les inscriptions :

La gestion des inscriptions effectuées par les gérants, Après la consultation des inscriptions un gérant vérifie les informations entrées par le client et valide l'inscription ce qui signifié l'envoie un email de confirmation au client.

Consulter les avis et les propositions :

La consultation des avis et des propositions faite à la même manière, Au premier une liste des avis ou des propositions affichent au gérant avec la possibilité de supprimer l'avis ou la proposition.

III. Planning et conduite du projet :

1. Gestion de projet

La gestion de projet est une démarche visant à organiser de bout en bout le bon déroulement

d'un projet. Lorsque la gestion de projet porte sur un ensemble de projets concourant à un

même objectif, on parle de gestion de programme.

Le management de projet est un management qui se caractérise par :

> L'irréversibilité des opérations des participants.

> Un fort degré de liberté des actions des participants.

> Une organisation vouée à être évolutive et temporaire.

> Des flux de trésorerie d'investissement pouvant être négatifs.

> Une forte influence de variables exogènes sur le projet.

1. Diagramme de GANTT

Le diagramme de Gantt (Harmonogram Adamieckiego) est un outil utilisé (souvent en complément d'un réseau PERT) en ordonnancement et gestion de projet et permettant de visualiser dans le temps les diverses tâches liées composant un projet (il s'agit d'une

Page | 18

représentation d'un graphe connexe, value et orienté). Il permet de représenter graphiquement l'avancement du projet.

Le premier diagramme de ce type (appelé Harmonogram Adamieckiego) fut réalisé par ingénieur polonais Karol Adamiecki en 1896. Il l'a décrit en 1931, mais la langue de publication n'a pas permis la reconnaissance internationale de son idée. Pour cette raison le concept a été nommé après Henry L. Gantt, ingénieur américain, qui a publié la description du diagramme en 1910.

Dans mon projet j'ai utilisé l'outil Gantt Project [1].

Les tâches :

Figure 3 : Les tâches du projet. Diagramme de GANTT :

Figure 4 : Diagramme de GANTT.

Page | 19

IV. Langage et méthodologie de conception :

Introduction :

Pour bien conduire mon projet et m'assurer du bon déroulement des différentes phases, j'ai opté la démarche UP-XP [2] comme une méthodologie de conception et de développement. Après le choix de la méthodologie, j'ai besoin d'un langage de modélisation UML comme un langage de modélisation.

Mon choix s'est basé sur les points forts de ce langage notamment sa standardisation et les divers diagrammes qu'il propose. Aussi UML présente le meilleur outil pour schématiser des systèmes complexes sous un format graphique et textuel simplifié et normalisé.

En effet UML n'est ni un processus ni une démarche, d'où il fallait choisir une méthodologie de conception et de développement que nous devons l'adopter.

1. La démarche UP-XP :

L'objectif de la démarche UP-XP est de pouvoir analyser est concevoir un logiciel orienté objet évolutif et ayant l'aptitude à s'adapter aux éventuels changements que peut connaitre le métier de l'entreprise à l'avenir en plusieurs niveaux : Fiscale, productif, organisationnel, juridique, etc.

UP- Unified Process :

La méthode du Processus Unifié (UP pour Unified Process) est un processus de développement itératif et incrémental, ce qui signifie que le projet est découpé en phases très courtes à l'issue de chacune desquelles une nouvelle version incrémentée est livrée.

Il s'agit d'une démarche s'appuyant sur la modélisation UML pour la description de l'architecture du logiciel (fonctionnelle, logicielle et physique) et la mise au point de cas d'utilisation permettant de décrire les besoins et exigences des utilisateurs.

XP-eXtreme Programming :

La méthode XP (pour eXtreme Programming) définit un certain nombre de bonnes pratiques permettant de développer un logiciel dans des conditions optimales en plaçant le client du coeur du processus de développement, en relation étroite avec le client.

L'eXtreme Programming est notamment basé sur les concepts suivants :

? Les équipes de développement travaille directement avec le client sur des cycles très courts d'une à deux semaines maximum.

Page | 20

? L'équipe livraison de versions du logiciel interviennent très tôt et à une fréquence élevée pour maximiser l'impact des retours utilisateurs.

? L'équipe de développement travaille en collaboration totale sur la base de binôme ... ? Le code est tester et nettoyé tout au long du processus de développement.

? Des indicateurs permettent de mesure l'avancement du projet afin de permettre de mettre à jour.

2. Phases de modélisation.

Phase d'inception : Recensement et définition des besoins.

C'est la phase ayant comme principal objectif l'identification des principaux acteurs interagissent avec le système et les fonctionnalités attendues de celui-ci.

Dans un premier temps, nous allons lister l'ensemble des exigences issues du cahier des charges. Chaque exigence sera recensée et elle pourra être étudiée ultérieurement.

Ces exigences seront regroupées par intentions d'acteur, puis un diagramme de contexte statique sera établi.

A ce stade, nous pouvons déjà construire un diagramme de cas d'utilisation de notre projet. Phase d'analyse et de conception :

Il s'agit d'une phase itérative qui vise à analyser et comprendre chaque fonctionnalité attendue du système en examinant toutes les scénarios compte des scénarios exceptionnels et des erreurs.

Une description détaillée est faites pour chaque use case, qui peut être complétée par un diagramme d'activité qui consolide les différents scénarios possibles.

Nous allons réaliser un diagramme de séquence boîte noir correspond au système (Ici c'est un diagramme de séquence par scénario, ou la boite noir correspond au système informatique à développer).

A partir des diagrammes de séquences et des descriptions textuelles, nous réaliserons les diagrammes d'activités et le diagramme de classe d'analyse.

Phase de réalisation :

Dans cette phase nous déduirons à partir du diagramme de classe d'analyse le modèle logique de donnée pour la création de la base de données et ceci en appliquant les règles de passages.

Page | 21

3. Le formalisme UML :

UML est considéré comme le langage standard de conception orienté objet, il est un

formalisme et pas une méthode. Il s'en duit qu'il définit un ensemble d'éléments de modélisation et une notation graphique pour modéliser les systèmes et ne décrit pas les étapes à suivre pour le faire.

Les raisons qui nous ont poussés à adopter UML dans notre projet se résume en :

UML offre un outil prêt à l'emploi basé sue une modélisation visuelle qui permet d'échanger des modèles compréhensibles.

Si on développe aves des langages orienté objet, il est plus approprié de concevoir avec des formalismes Orienté Objet.

Figure 5:Les diagrammes disponibles.

4. L'outil PowerAmc :

PowerAmc [3] est un logiciel de modélisation. Il permet de

modéliser les traitements informatiques et leurs bases de données associées en n'importe quelles modèles informatiques. Il reste un des seuls qui permet de travailler avec la méthode Merise, cela permet d'améliorer la

modélisation, les processus, le coût et la production d'application.

PowerAmc offre des méthodes efficaces d'analyse d'impact, de gestion des changements et des techniques avancées de gestion des métadonnées.

Page | 22

La combinaison des techniques de modélisation et de la gestion des données confère à PowerAmc des fonctions uniques lui permettant de prendre en charge tous les environnements architecturaux. Le référentiel de métadonnées de PowerAmc permet également à toutes les parties prenantes de l'entreprise de collaborer et de communiquer efficacement. Ces dernières peuvent ainsi réagir plus rapidement face aux changements et garantir une meilleure capacité d'adaptation de l'entreprise.

Chapitre 2 : Phase d'inception.

Introduction :

Cette phase consiste à comprendre le contexte du système. Il s'agit de déterminer les fonctionnalités et les acteurs les plus pertinents, de préciser les risques les plus critiques et d'identifier les cas d'utilisation initiaux. Ceci dit, notre description va sembler trop détaillée pour une première phase de processus.

I. Capture des besoins :

1. Définition des besoins fonctionnels :

Il s'agit des fonctionnalités du système. Ce sont les besoins spécifiant un comportement

d'entrée / sortie du Système.

Le système à concevoir doit permettre à l'utilisateur d'effectuer les opérations suivantes:

Référence Fonction

R1

Rechercher certification par mot

R2

Rechercher certification par domaine

R3

Rechercher certification par technologie

R4

Rechercher certification par code

R5

Consulter certification

R6

Consulter la certification prérequis

R7

Consulter les certifications après

R8

Télécharger un PDF de certification

R9

Inscrire pour passer une certification

R10

Consulter les formations

R11

Télécharger un PDF de formation

R12

Inscrire à une formation

R13

Donner l'avis sur formation

R14

Proposer formation

R15

Recevoir les notifications

R16

Authentifier

R17

Ajouter certification

Page | 23

R18

Modifier certification

R19

Supprimer certification

R20

Ajouter compétence

R21

Modifier compétence

R22

Supprimer compétence

R23

Ajouter formation

R24

Modifier formation

R25

Supprimer formation

R26

Ajouter gérant

R27

Modifier gérant

R28

Supprimer gérant

R29

Ajouter formateur

R30

Modifier formateur

R31

Supprimer formateur

R32

Consulter les inscrits aux certifications

R33

Valider l'inscription d'un client à une certification

R34

Consulter les avis

R35

Consulter les propositions

R36

Consulter les inscrits aux formations

R37

Valider l'inscription d'un client à une formation

R38

Envoyer un e-mail

Tableau 1 : Tableau des exigences. 2. Les besoins non fonctionnels :

Les besoins non fonctionnels concernent les contraintes à prendre en considération pour mettre en place une solution adéquate aux attentes des concepteurs des architectures dynamiques.

Mon application doit nécessairement assurer ces besoins :

? L'extensibilité : dans le cadre de ce travail, l'application devra être extensible, c'est-à-dire qu'il pourra y avoir une possibilité d'ajouter ou de modifier de nouvelles fonctionnalités.

? La sécurité : l'application devra être hautement sécurisée, les informations ne devront pas être accessibles à tout le monde, c'est-à-dire qu'il existe des fonctionnalités accessibles par un identifiant et un mot de passe attribué à une personne physique.

? L'interface : avoir une application qui respecte les principes des Interfaces Homme/Machine (IHM) tels que l'ergonomie et la fiabilité.

? La performance : l'application devra être performante c'est-à-dire que le système doit réagir dans un délai précis, quel que soit l'action de l'utilisateur.

? La convivialité : l'application doit être simple et facile à manipuler même par des non experts.

Page | 24

3. Les principaux acteurs du système :

Figure 6 : Diagramme des acteurs.

Client : celui qui n'a pas besoin de s'authentifier pour utiliser leurs fonctionnalités, il peut rechercher, consulter, télécharger des PDF et proposer des formations ainsi donner des avis et recevoir des notifications.

Gérant : celui qui est chargé de gérer les certifications, les formations les formateurs et les inscriptions des clients, aussi consulter les avis et les propositions des clients.

Administrateur : C'est le seul qui peut ajouter, modifier ou supprimer des gérants.

Figure 7 : Diagramme de contexte statique.

Ce diagramme nous permet de préciser au départ la nature du système (Mono utilisateur/Multi utilisateur) par rapport aux interactions des acteurs à un instant t.

Page | 25

4. Regroupement des exigences par intentions d'acteurs :

Référence Fonction Intention d'acteur Acteur

R1

Rechercher certification par mot

Rechercher certification

Client

R2

Rechercher certification par domaine

Rechercher Certification

Client

R3

Rechercher certification par technologie

Rechercher certification

Client

R4

Rechercher certification par code

Rechercher certification

Client

R5

Consulter certification

Consulter certification

Client

R6

Consulter la certification prérequis

Consulter certification

Client

R7

Consulter les certifications après

Consulter certification

Client

R8

Télécharger un PDF de certification

Télécharger PDF

Client

R9

Inscrire pour passer une certification

Inscrire

Client

R10

Consulter les formations

Consulter les formations

Client

R11

Télécharger un PDF de formation

Télécharger PDF

Client

R12

Inscrire à une formation

Inscrire

Client

R13

Donner l'avis

Donner l'avis

Client

R14

Proposer formation

Proposer formation

Client

R15

Recevoir les notifications

Recevoir les notifications

Client

R16

Authentifier

Authentifier

Gérant

R17

Ajouter certification

Gérer certification

Gérant

R18

Modifier certification

Gérer certification

Gérant

R19

Supprimer certification

Gérer certification

Gérant

R20

Ajouter compétence

Gérer compétence

Gérant

R21

Modifier compétence

Gérer compétence

Gérant

R22

Supprimer compétence

Gérer compétence

Gérant

R23

Ajouter formation

Gérer formation

Gérant

R24

Modifier formation

Gérer formation

Gérant

R25

Supprimer formation

Gérer formation

Gérant

R26

Ajouter gérant

Gérer gérant

Admin

R27

Modifier gérant

Gérer gérant

Admin

R28

Supprimer gérant

Gérer gérant

Admin

R29

Ajouter formateur

Gérer formateur

Gérant

R30

Modifier formateur

Gérer formateur

Gérant

R31

Supprimer formateur

Gérer formateur

Gérant

R32

Consulter les inscrits aux certifications

Gérer les inscriptions

Gérant

R33

Valider l'inscription d'un client à une certification

Gérer les inscriptions

Gérant

R34

Consulter les avis

Consulter les avis

Gérant

R35

Consulter les propositions

Consulter les propositions

Gérant

R36

Consulter les inscrits aux formations

Gérer les inscriptions

Gérant

R37

Valider l'inscription d'un client à une formation

Gérer les inscriptions

Gérant

R38

Envoyer un e-mail

Envoyer un e-mail

Gérant

Tableau 2 : Tableau des exigences par intention d'acteur.

II. Diagramme de cas d'utilisation :

Le diagramme de cas d'utilisation décrit les utilisations requises d'un système, ou ce qu'un système est supposé faire. Les principaux concepts de ce diagramme sont les acteurs, cas

Page | 26

d'utilisation et sujets. Un sujet représente un système avec lequel les acteurs et autres sujets interagissent.

Figure 8 : Diagramme de cas d'utilisation.

Page | 27

Chapitre 3 : Phase d'analyse et de conception.

Introduction :

Cette phase poursuit la tache entamée dans la phase d'inception, cette phase vise à identifier et décrire la majorité des besoins utilisateurs, construire l'architecture de base du système et lever les risques majeurs du projet.

Au niveau de cette phase, j'analyse les différents cas d'utilisation puis j'essaye de les détaillées pour comprendre chaque fonctionnalité attendue du système en examinant toutes les scénarios compte des scénarios exceptionnels et des erreurs.

I. Description textuelle des cas d'utilisation :

Pour rendre notre diagramme des cas d'utilisation plus lisible et afin de décrire le comportement d'un système, les concepteurs d'UML proposent l'utilisation d'une technique nommé la description textuelle des cas d'utilisation.

1. Authentifier :

Nom de cas d'utilisation :

Authentifier.

Objectif :

Accès aux fonctionnalités attribuées.

Acteurs principaux :

Gérant.

Rôle de cas
d'utilisation

Ce scénario permet au gérant de s'identifier auprès du système et d'accéder aux fonctionnalités qui lui sont attribuées.

Pré-condition :

Existence des données dans la base de données.

Post-

condition :

Affichage de la page d'accueil.

Scénario nominal :

Action des acteurs

Action du système

1. consulter page

d'authentification .

2. Afficher page

d'authentification.

3. Introduire Login

et Mot de passe.

4. Vérifier Login et mot de passe.

5. Valider et afficher la page d'accueil.

Tableau 3 : Description textuelle de cas d'utilisation « Authentifier ». Les enchainements alternatifs :

A1 : Login ou Mot de passe erroné

Page | 28

L'enchainement A1 démarre au point 4 du scénario nominal.

5-le système indique à l'utilisateur que le login ou le mot de passe est erroné. Le scénario nominal reprend au point 3.

A2 : Les champs de saisie sont vides

L'enchainement A2 démarre au point 4 du scénario nominal. 5-le système demande aux utilisateurs de remplir les champs. Le scénario nominal reprend au point 3.

Les enchainements d'exception :

E1 : Le système ne répond pas

L'enchainement E1 démarre au point 1 du scénario nominal.

2- le système ne répond pas.

Le cas d'utilisation se termine en échec.

2. Gérer les certifications : Ajouter certification :

Nom de cas d'utilisation :

 

Ajouter certification.

Objectif :

 

Effectuer une gestion des certifications.

Acteurs principaux :

 

Gérant.

Rôle de cas
d'utilisation

 

Ce scénario permet au gérant d'ajouter une nouvelle certification.

Pré-

condition :

 

Authentification préalable.

 

Post-

condition :

 

Une nouvelle certification ajoutée.

 

Scénario nominal :

 

Action des acteurs

 

Action du système

1.

2.

Authentification. Demander le

formulaire d'ajout.

3.

Afficher le formulaire.

 

Remplir les champs.

5.

6.

7.

8.

Vérifier les données saisies. Enregistrer la certification. Envoyer une notification aux clients.

Afficher un

message de succès.

 

Tableau 4 : Description textuelle de cas d'utilisation « Ajouter certification ».

Page | 29

Les enchainements alternatifs :

A1 : Données manquants

L'enchainement A1 démarre au point 5 du scénario nominal.

6- le système affiche un message d'erreur.

Le scénario nominal reprend au point 4.

Modifier certification :

Nom de cas d'utilisation :

 

Modifier certification.

Objectif :

 

Effectuer une gestion des certifications.

Acteurs principaux :

 

Gérant.

Rôle de cas
d'utilisation

 

Ce scénario permet au gérant de modifier une certification.

Pré-

condition :

 

Authentification préalable.

 

Post-

condition :

 

Une certification bien modifiée.

 

Scénario nominal :

 

Action des acteurs

 

Action du système

1.

2.

Authentification. Sélectionner une certification.

3.

Afficher le formulaire avec les informations de la certification.

 

Modifier les champs.

5.

6.

7.

8.

Vérifier les données saisies. Mise à jour de la certification. Notifier les clients. Afficher un message de succès.

 

Tableau 5 : Description textuelle de cas d'utilisation « Modifier certification ». Les enchainements alternatifs :

A1 : Aucune certification trouvée

L'enchainement A1 démarre au point 3 du scénario nominal. 4- le système arrête le scénario nominal.

Le scénario s'arrête.

A2 : Données manquants

L'enchainement A2 démarre au point 5 du scénario nominal.

Page | 30

6- le système affiche un message d'erreur. Le scénario nominal reprend au point 4.

Supprimer certification :

Nom de cas d'utilisation :

Supprimer certification.

Objectif :

Effectuer une gestion des certifications.

Acteurs principaux :

Gérant.

Rôle de cas
d'utilisation

Ce scénario permet au gérant de supprimer une certification.

Pré-

condition :

Authentification préalable.

Post-

condition :

Une certification bien supprimée.

Scénario nominal :

Action des acteurs

Action du système

1. Authentification.

2. Sélectionner une certification.

3. Afficher un message de confirmation.

 

5. Supprimer les inscriptions de la certification.

6. Supprimer la certification.

7. Afficher un

message de succès.

 

Tableau 6 : Description textuelle de cas d'utilisation « Supprimer certification ». Les enchainements alternatifs :

A1 : Aucune certification trouvée

L'enchainement A1 démarre au point 3 du scénario nominal. 4- le système arrête le scénario nominal.

Le scénario s'arrête.

A2 : L'utilisateur annule la suppression

L'enchainement A2 démarre au point 3 du scénario nominal. 4- le système affiche arrête le scénario nominal.

Le scénario nominal s'arrête.

Page | 31

3. Gérer les formations : Ajouter Formation :

Nom de cas d'utilisation :

Ajouter formation.

Objectif :

Effectuer une gestion des formations.

Acteurs principaux :

Gérant.

Rôle de cas
d'utilisation

Ce scénario permet au gérant d'ajouter une formation.

Pré-

condition :

Authentification préalable.

Post-

condition :

Une nouvelle formation ajoutée.

Scénario nominal :

Action des acteurs

Action du système

1. Authentification.

2. Demander le formulaire d'ajout.

3. Afficher le formulaire.

 

5. Vérifier les
données saisies.

6. Enregistrer la
formation.

7. Notifier les clients.

8. Afficher un

message de succès.

 

Tableau 7 : Description textuelle de cas d'utilisation « Ajouter formation ».

Les enchainements alternatifs :

A1 : Données manquants

L'enchainement A1 démarre au point 5 du scénario nominal.

6- le système affiche un message d'erreur.

Le scénario nominal reprend au point 4.

Modifier formation :

Nom de cas d'utilisation :

Modifier formation.

Objectif :

Effectuer une gestion des formations.

Acteurs principaux :

Gérant.

Rôle de cas
d'utilisation

Ce scénario permet au gérant de modifier une formation.

Pré-

condition :

Authentification préalable.

Post-

condition :

Une formation bien modifiée.

Scénario

Action des acteurs Action du système

Page | 32

nominal :

1.

Authentification.

3.

Afficher le

 

2.

Sélectionner une formation.

 

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.

2.

Authentification. Sélectionner une formation.

3. Afficher un message de confirmation.

Page | 33

 

4.

Valider son choix.

5.

Supprimer les inscriptions à la formation.

 
 
 

6.

Supprimer la formation.

 
 
 

7.

Afficher un

message de succès.

 

Tableau 9 : Description textuelle de cas d'utilisation « Supprimer formation ». Les enchainements alternatifs :

A1 : Aucune formation trouvée

L'enchainement A1 démarre au point 3 du scénario nominal. 4- le système arrête le scénario nominal.

Le scénario s'arrête.

A2 : L'utilisateur annule la suppression

L'enchainement A2 démarre au point 3 du scénario nominal. 4- le système affiche arrête le scénario nominal.

Le scénario s'arrête.

4. Gérer les formateurs : Ajouter formateur :

Nom de cas d'utilisation :

Ajouter formateur.

Objectif :

Effectuer une gestion des enseignants.

Acteurs principaux :

Gérant.

Rôle de cas
d'utilisation

Ce scénario permet au gérant d'ajouter un formateur.

Pré-

condition :

Authentification préalable.

Post-

condition :

Un nouvel formateur ajouté.

Scénario nominal :

Action des acteurs

Action du système

1. Authentification.

2. Demander le formulaire d'ajout.

3. Afficher le formulaire.

 

5. Vérifier les
données saisies.

6. Enregistrer le
formateur.

7. Afficher un

message de succès.

 

Page | 34

Tableau 10 : Description textuelle de cas d'utilisation « Ajouter formateur ».

Les enchainements alternatifs :

A1 : Données manquants

L'enchainement A1 démarre au point 5 du scénario nominal.

6- le système affiche un message d'erreur.

Le scénario nominal reprend au point 4.

Modifier formateur :

Nom de cas d'utilisation :

Modifier formateur.

Objectif :

Effectuer une gestion des formateurs.

Acteurs principaux :

Gérant.

Rôle de cas
d'utilisation

Ce scénario permet au gérant de modifier un formateur.

Pré-

condition :

Authentification préalable.

Post-

condition :

Un formateur bien modifié.

Scénario nominal :

Action des acteurs

Action du système

1. Authentification.

2. Sélectionner un
enseignant.

3. Afficher le formulaire avec les informations de l'enseignant.

 

5. Vérifier les données saisies.

6. Mise à jour du formateur.

7. Afficher un message de succès.

 

Tableau 11 : Description textuelle de cas d'utilisation « Modifier formateur ». Les enchainements alternatifs :

A1 : Aucun enseignant trouvé

L'enchainement A1 démarre au point 2 du scénario nominal. 3- le système arrête le scénario nominal.

Le scénario s'arrête.

A2 : Données manquants

L'enchainement A2 démarre au point 5 du scénario nominal.

Page | 35

6- le système affiche un message d'erreur. Le scénario nominal reprend au point 4.

Supprimer formateur :

Nom de cas d'utilisation :

Supprimer formateur.

Objectif :

Effectuer une gestion des formateurs.

Acteurs principaux :

Gérant.

Rôle de cas
d'utilisation

Ce scénario permet au gérant de supprimer un formateur.

Pré-

condition :

Authentification préalable.

Post-

condition :

Un formateur bien supprimé.

Scénario nominal :

Action des acteurs

Action du système

1. Authentification.

2. Sélectionner un enseignant.

3. Afficher un message de confirmation.

 

5. Vérifier la

dépendance avec des formations.

6. Supprimer le
formateur.

7. Afficher un

message de succès.

 

Tableau : Description textuelle de cas d'utilisation « Supprimer formateur». Les enchainements alternatifs :

A1 : Aucun enseignant trouvé

L'enchainement A1 démarre au point 2 du scénario nominal.

3- le système arrête le scénario nominal. Le scénario s'arrête.

A2 : L'utilisateur annulé la suppression

L'enchainement A2 démarre au point 3 du scénario nominal.

4- le système affiche arrête le scénario nominal. Le scénario s'arrête.

A3 : Le formateur est déjà lié avec des formations L'enchainement A3 démarre au point 5 du scénario nominal.

Page | 36

7- le système passe au point 2 du scénario nominal. Le scénario s'arrête.

5. Gérer les gérants : Ajouter gérant :

Nom de cas d'utilisation :

Ajouter gérant.

Objectif :

Effectuer une gestion des gérants.

Acteurs principaux :

Admin.

Rôle de cas
d'utilisation

Ce scénario permet à l'admin d'ajouter un gérant.

Pré-

condition :

Authentification préalable.

Post-

condition :

Un nouveau gérant ajouté.

Scénario nominal :

Action des acteurs

Action du système

1. Authentification.

2. Afficher la liste des

gérants.

3. Cliquer sur le bouton ajouter gérant.

4. Remplir les informations.

5. Vérifier les
données saisies.

6. Enregistrer le
gérant.

7. Afficher un

message de succès.

Tableau 13 : Description textuelle de cas d'utilisation « Ajouter gérant ».

Les enchainements alternatifs :

A1 : Données manquants

L'enchainement A1 démarre au point 5 du scénario nominal.

6- le système affiche un message d'erreur.

Le scénario nominal reprend au point 4.

Modifier gérant :

Nom de cas d'utilisation :

Modifier gérant.

Objectif :

Effectuer une gestion des gérants.

Acteurs principaux :

Admin.

Rôle de cas
d'utilisation

Ce scénario permet à l'admin de modifier un gérant.

Pré-

condition :

Authentification préalable.

Page | 37

Post-

condition :

Un gérant bien modifié.

Scénario nominal :

Action des acteurs

Action du système

1. Authentification.

2. Afficher la liste des

gérants.

3. Cliquer sur le bouton modifier gérant.

4. Entrer le nouveau mot de passe.

5. Vérifier le mot de
passe.

6. Enregistrer les
modifications.

7. Afficher un

message de succès.

Tableau 14 : Description textuelle de cas d'utilisation « Modifier gérant ». Les enchainements alternatifs :

A1 : Aucun gérant trouvé

L'enchainement A1 démarre au point 2 du scénario nominal. 3- le système arrête le scénario nominal.

Le scénario s'arrête.

A2 : Données manquants

L'enchainement A2 démarre au point 5 du scénario nominal. 6- le système affiche un message d'erreur.

Le scénario nominal reprend au point 4.

Supprimer gérant :

Nom de cas d'utilisation :

Supprimer gérant.

Objectif :

Effectuer une gestion des enseignants.

Acteurs principaux :

Admin.

Rôle de cas
d'utilisation

Ce scénario permet à l'admin de supprimer un gérant.

Pré-

condition :

Authentification préalable.

Post-

condition :

Un gérant bien supprimé.

Scénario nominal :

Action des acteurs

Action du système

1. Authentification.

2. Afficher la liste des

gérants.

3. Cliquer sur le

bouton supprimer

4. Afficher un

message de

Page | 38

 
 

gérant.

 

confirmation.

 

5.

Valider son choix.

6.

Vérifier les

données saisies.

 
 
 

7.

Supprimer le gérant.

 
 
 

8.

Afficher un

message de succès.

 

Tableau 15: Description textuelle de cas d'utilisation « Supprimer gérant ».

Les enchainements alternatifs :

A1 : Aucun gérant trouvé

L'enchainement A1 démarre au point 2 du scénario nominal.

3- le système arrête le scénario nominal.

Le scénario s'arrête.

A2 : L'utilisateur annule la suppression

L'enchainement A2 démarre au point 4 du scénario nominal.

5- le système affiche arrête le scénario nominal.

Le scénario s'arrête.

6. Gérer les compétences : Ajouter compétence :

Nom de cas d'utilisation :

Ajouter compétence.

Objectif :

Effectuer une gestion des compétences.

Acteurs principaux :

Gérant.

Rôle de cas
d'utilisation

Ce scénario permet au gérant d'ajouter une compétence.

Pré-

condition :

Authentification préalable.

Post-

condition :

Une nouvelle compétence ajoutée.

Scénario nominal :

Action des acteurs

Action du système

1. Authentification.

2. Sélectionner une certification.

3. Afficher la liste des
compétences.

Page | 39

 

4.

Cliquer sur le bouton ajouter

6.

Vérifier les

données saisies.

 
 

compétence.

7.

Enregistrer la

 
 

5.

Remplir les

 

compétence.

 
 

informations.

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.

 

6. Vérifier le champ.

7. Enregistrer les
modifications.

8. Afficher un

message de succès.

 

Tableau 17 : Description textuelle de cas d'utilisation « Modifier compétence ».

Les enchainements alternatifs :

A1 : Aucune compétence trouvée

L'enchainement A1 démarre au point 2 du scénario nominal.

3- le système arrête le scénario nominal.

Le scénario s'arrête.

Page | 40

A2 : Données manquants

L'enchainement A2 démarre au point 6 du scénario nominal. 6-le système affiche un message d'erreur. Le scénario nominal reprend au point 5.

Supprimer compétence :

Nom de cas d'utilisation :

Supprimer compétence.

Objectif :

Effectuer une gestion des compétences.

Acteurs principaux :

Gérant.

Rôle de cas
d'utilisation

Ce scénario permet au gérant de supprimer une compétence.

Pré-

condition :

Authentification préalable.

Post-

condition :

Une compétence bien supprimée.

Scénario nominal :

Action des acteurs

Action du système

1. Authentification.

2. Sélectionner une certification.

3. Afficher la liste des
compétences.

 

5. Afficher un message de confirmation.

 

7. Supprimer la
compétence.

8. Afficher un

message de succès.

 

Tableau 18 : Description textuelle de cas d'utilisation « Supprimer compétence ». Les enchainements alternatifs :

A1 : Aucune compétence trouvée

L'enchainement A1 démarre au point 2 du scénario nominal. 3- le système arrête le scénario nominal.

Le scénario s'arrête.

A2 : L'utilisateur annule la suppression

L'enchainement A2 démarre au point 5 du scénario nominal. 6- le système affiche arrête le scénario nominal.

Le scénario s'arrête.

Page | 41

7. Gérer les inscriptions :

Nom de cas d'utilisation :

Gérer les inscriptions.

Objectif :

Effectuer une consultation des inscriptions aux certifications ou formations et les validées.

Acteurs principaux :

Gérant.

Rôle de cas
d'utilisation

Ce scénario permet au gérant de consulter la liste des inscrits aux certifications ou aux formations et validée une ou plusieurs.

Pré-

condition :

Authentification préalable.

Post-

condition :

Message de confirmation envoyé au client.

Scénario nominal :

Action des acteurs

Action du système

1. Authentification.

2. Sélectionner

formation/Certification.

3. Afficher la liste
des inscrits.

 

5. Valider l'inscription.

6. Envoyer un e-mail de confirmation au client.

7. Message de succès.

 

Tableau 19 : Description textuelle de cas d'utilisation « Gérer inscriptions ».

Les enchainements alternatifs :

A1 : Aucune inscription trouvée

L'enchainement A1 démarre au point 3 du scénario nominal.

4- le système arrête le scénario nominal.

Le scénario s'arrête.

8. Rechercher certification :

Nom de cas d'utilisation :

Rechercher certification.

Objectif :

Effectuer une recherche de certifications.

Acteurs principaux :

Client.

Rôle de cas
d'utilisation

Ce scénario permet au client de rechercher une certification.

Pré-condition :

Liste des certifications existes.

Page | 42

Post-

condition :

 

Les certifications sont bien affichées.

Scénario nominal :

 

Action des acteurs

 

Action du système

1.

Demande la page de recherche.

2.

Afficher la page.

3.

Remplir les informations.

4.

5.

Vérification des champs.

Liste des certifications.

Tableau 20 : Description textuelle de cas d'utilisation « Rechercher certification ».

Les enchainements alternatifs :

A1 : Données manquants

L'enchainement A1 démarre au point 4 du scénario nominal.

5- le système affiche un message d'erreur.

Le scénario nominal reprend au point 3.

9. Consulter certification :

Nom de cas d'utilisation :

Consulter certification.

Objectif :

Consulter une certification.

Acteurs principaux :

Client.

Rôle de cas
d'utilisation

Ce scénario permet au client de consulter une certification.

Pré-condition :

Le client vient de faire une recherche.

Post-

condition :

Les informations de la certification sont bien affichées.

Scénario nominal :

Action des acteurs

Action du système

1. Demande la

page de certification.

2. Afficher la page.

Tableau 21 : Description textuelle de cas d'utilisation « Consulter certification ».

10. Consulter les formations :

Nom de cas d'utilisation :

Consulter les formations.

Objectif :

Consulter les formations.

Acteurs principaux :

Client.

Rôle de cas

Ce scénario permet au client de consulter une formation.

Page | 43

d'utilisation

 
 
 
 

Pré-condition :

 

Existence des formations.

 

Post-

condition :

 

Les formations ont bien affichées.

 

Scénario nominal :

 

Action des acteurs

 

Action du système

1.

Demande la liste des formations.

2.

Afficher la liste.

3.

Cliquer pour consulter une formation.

4.

Consultation de la formation.

Tableau 22 : Description textuelle de cas d'utilisation « Consulter les formations ».

Les enchainements alternatifs :

A1 : Aucune formation trouvée

L'enchainement A1 démarre au point 2 du scénario nominal.

3- le système affiche un message d'erreur.

Le scénario nominal arrête.

11. Donner avis :

Nom de cas d'utilisation :

Donner avis.

Objectif :

Donner un avis.

Acteurs principaux :

Client.

Rôle de cas
d'utilisation

Ce scénario permet au client la possibilité de donné son avis.

Pré-condition :

 

Post-

condition :

L'avis est bien enregistré.

Scénario nominal :

Action des acteurs

Action du système

1. Cliquer sur

donné un avis.

2. Afficher le formulaire.

3. Remplir les

champs.

4. Vérifier les champs.

5. Enregistrer l'avis.

6. Afficher un message de succès.

Tableau 23 : Description textuelle de cas d'utilisation « Donner avis ». Les enchainements alternatifs :

Page | 44

A1 : Données manquants.

L'enchainement A1 démarre au point 3 du scénario nominal.

4- le système affiche un message d'erreur. Le scénario nominal reprend le point 2.

12. Proposer formation :

Nom de cas d'utilisation :

Proposer formation.

Objectif :

Proposer une formation n'existe pas.

Acteurs principaux :

Client.

Rôle de cas
d'utilisation

Ce scénario permet au client la possibilité de proposer une formation qui n'existe pas.

Pré-condition :

Consulter une formation.

Post-

condition :

La proposition est bien enregistrée.

Scénario nominal :

Action des acteurs

Action du système

1. Cliquer sur

proposer formation.

2. Afficher le formulaire.

3. Remplir les

champs.

4. Vérifier les champs.

5. Enregistrer la proposition.

6. Afficher un message de succès.

Tableau 24 : Description textuelle de cas d'utilisation « Proposer formation ». Les enchainements alternatifs :

A1 : Données manquants.

L'enchainement A1 démarre au point 4 du scénario nominal.

5- le système affiche un message d'erreur. Le scénario nominal reprend le point 3.

13. Recevoir les notifications :

Nom de cas d'utilisation :

Recevoir les notifications.

Objectif :

Recevoir les derniers certifications et formations.

Acteurs principaux :

Client.

Rôle de cas
d'utilisation

Ce scénario permet au client d'inscrire pour recevoir les derniers certifications et formations et offres.

Page | 45

Pré-condition :

 
 
 
 

Post-

condition :

 

L'inscription est bien faite.

 

Scénario nominal :

 

Action des acteurs

 

Action du système

1.

Remplir les champs.

2.

3.

4.

Vérifier les champs. Enregistrer l'inscription. Afficher un message de succès.

Tableau 25 : Description textuelle de cas d'utilisation « Recevoir les notifications ».

Les enchainements alternatifs :

A1 : Données manquants.

L'enchainement A1 démarre au point 2 du scénario nominal.

3- le système affiche un message d'erreur.

Le scénario nominal reprend le point 1.

14. Inscrire :

Nom de cas d'utilisation :

Inscrire.

Objectif :

L'inscription à une formation, pour passer une certification ou bien pour proposer formation.

Acteurs principaux :

Client.

Rôle de cas
d'utilisation

Ce scénario permet au client d'inscrire à une formation,

pour passer une certification ou bien pour proposer
formation.

Pré-condition :

----

Post-

condition :

L'inscription est bien faite.

Scénario nominal :

Action des acteurs

Action du système

1. Demande la

page

d'inscription.

2. Afficher le formulaire.

3. Remplir les

champs.

4. Vérifier les champs.

5. Enregistrer l'inscription.

6. Afficher un message de succès.

Tableau 26 : Description textuelle de cas d'utilisation « Inscrire ». Les enchainements alternatifs :

A1 : Données manquants.

L'enchainement A1 démarre au point 4 du scénario nominal.

Page | 46

5- le système affiche un message d'erreur. Le scénario nominal reprend le point 3.

15. Consulter les avis :

Nom de cas d'utilisation :

Consulter les avis.

Objectif :

Consultation des avis de clients.

Acteurs principaux :

Gérant.

Rôle de cas
d'utilisation

Ce scénario permet au gérant de consulter les avis des clients.

Pré-condition :

Authentification préalable.

Post-

condition :

Les avis sont bien affichés.

Scénario nominal :

Action des acteurs

Action du système

1. Demande la

liste des avis.

2. Afficher les avis.

3. Demande le

répond à un avis.

4. Afficher le formulaire.

5. Remplir les

informations.

6. Vérifier les champs.

7. Envoyer e-mail au client.

8. Supprimer l'avis.

9. Afficher un message de succès.

Tableau 27 : Description textuelle de cas d'utilisation « Consulter les avis ».

Les enchainements alternatifs :

A1 : Données manquants.

L'enchainement A1 démarre au point 6 du scénario nominal.

7- le système affiche un message d'erreur.

Le scénario nominal reprend le point 5.

16. Télécharger PDF :

Nom de cas d'utilisation :

Télécharger un PDF.

Objectif :

Consulter les formations et les certifications en format PDF.

Acteurs principaux :

Gérant.

Rôle de cas

Ce scénario permet au client Consulter et télécharger les

Page | 47

d'utilisation

 

formations et les certifications en format PDF.

Pré-condition :

Consulter une formation/certification.

Post-

condition :

Le PDF bien affiché pour le télécharger.

Scénario nominal :

Action des acteurs

Action du système

1. Demande la

page de PDF.

2. Afficher le PDF.

Tableau 28 : Description textuelle de cas d'utilisation « Télécharger PDF ».

17. Consulter les propositions :

Nom de cas d'utilisation :

Consulter les propositions.

Objectif :

Afficher les propositions au gérant.

Acteurs principaux :

Gérant.

Rôle de cas
d'utilisation

Ce scénario permet au gérant de consulter les propositions des formations des clients.

Pré-condition :

Authentification préalable.

Post-

condition :

La liste des propositions est bien affichée.

Scénario nominal :

Action des acteurs

Action du système

1. Demande la

liste des propositions.

2. Afficher la liste.

Tableau 29 : Description textuelle de cas d'utilisation « Consulter les propositions ». Les enchainements alternatifs :

A1 : Le gérant supprimer une proposition.

L'enchainement A1 démarre au point 2 du scénario nominal.

3- le système affiche un message de confirmation.

4- Le gérant valide son choix. Le scénario nominal arrête.

18. Envoyer e-mail :

Nom de cas d'utilisation :

Envoyer e-mail.

Objectif :

L'envoie d'un e-mail.

Acteurs principaux :

Gérant.

Rôle de cas

Ce scénario permet au gérant d'envoyer un email au client.

Page | 48

d'utilisation

 
 

Pré-

condition :

Demande de l'envoie.

Post-

condition :

L'e-mail est bien envoyé.

Scénario nominal :

Action des acteurs

Action du système

1. Envoyer les

informations
nécessaires.

2. Envoyer l'e-mail.

3. Afficher un message de succès.

Tableau 30 : Description textuelle de cas d'utilisation « Envoyer e-mail ».

II. Diagramme de séquence « Boite noire » :

Pour schématiser la vue comportementale de notre système informatique, nous faisons recours au diagramme de séquence d'UML. Ce diagramme permet de préciser les interactions entre l'acteur et le système avec des messages présentés dans un ordre chronologique. Le diagramme de séquence système traite le système informatique comme étant une boite noir. Le comportement du système est décrit vu de l'extérieur sans avoir d'idée sur comment il le réalisera.

1. Inscrire:

Figure 9 : Diagramme de séquence « Inscrire ».

Page | 49

2. Authentifier :

Figure 10 : Diagramme de séquence « Authentifier ». 1. Envoyer e-mail :

Figure 11 : Diagramme de séquence « Envoyer e-mail ».

Page 150

2. Gérer les certifications :

ref

Authentifier(}

14aerer certifications

7\ OH r3nt2

Stilst@rne2

Consulter la page de gestion des certifications

Afficher la page

Afficher le formulaire

Al : EA.

opt [AjouterSxrtification]

Demande le formulaire d'ajout

Al

Lists des certifications

[Modifier' certification]

Remplir les champs

'Verifier lEî = C_

J

Ioo [Données manquantes]

Afficher message d'erreur

Afficher le formulaire

Supprimer les inscriptions

Enregistrer la certification

Envoyer errai Ify
Message de su coi

ref

Selection ner une certification

Formulaire de modification

Modifier les informations

Verifier les champs

}

apt pan nass manquantes]

Affihcer message d'erreur

Afficher le formulaire

AL": EA.

Enregistrer les modifications

Afficher rivage de su cc

opt [Su pprirrr certification]

Liste des certifications

Choisir la formation ë su ppri mer

Message de confirmation A2:EA

alt Condition Valider son choix

SuppriMel les inscriptions

Supprimer les compétences

Supprimer la certification

Afficher muge desum&

Annuler le choix An n u ler la suppressionI

Al EA

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

Page 151

3. Gérer les formations :

 
 
 

Gërer farmatior4

 
 
 
 
 

I,\

ref

Authentifier()

Consulter la page de gestion des formations

Afficher le page

Afficher le formulaire

opt [Ajouter [arrnation]

Demande le formulaire d'ajout

ref

Envoyer errai I{j

Remplir les champs

s ifis Ise champs

1

loop) [Donnces manquantes]

Affi ch Er massage d'erreur

Afficher le formulaire

Enregistrer la formation

Misage de succés

o [Mod Hier' formation]

L<

Liste des formations

Modifier les informations

A'
· EA.

A.:. E.=.

Vérifier les champs

[Donnée; manquantes]

Affihcer urisage d'erreur

Afficher le formulaire

Enregistrer les modifications

Afficher messsgE dE suces

opt

Sele tionner une certification

Formulaire de modification

Message de confirmation

A2 : EA

alt Condition

Valider son choix

pt [Supprim.erformation]

Choisir le formation â su ppri mer

Liste des formations

Supprimer les inscriptions

Su ppri ruer la formation

Affi cher mage de su cth

Won Annuler le choix

An n u ler le su ppression

Al : EA

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

4. Gérer les formateurs :

Gerer les enseignarr~

Systeme

Gant ref

Authentifier()

Consulter la page de gestion des enseignants

apt [Ajouter er eignant]

Demande le formu faire d'ajout Afficher le formulaire

Afficher la page

Remplir les champs

Verifier les cr =^ c

1

nnëes man Affi Cher message d'erreur

Afficher le formulaire

Enregistrer l'enseignant

Mesage de su c

laap

[Modifierehseignant]

Liste des enseignants

Formulaire de modification

Modifier les informations

Al : EA

A2: EA1

VETifier les Oh 9n-ES

apt [Données manquantes]

Affi hoer message d'erreur

E

Afficher le formulaire

Enregistrer les modifications

Afficher rn age de suooës

Selection ner une certification

Message de confirmation

sit

Valider son choix

~Pt [SupprirnernsenaL Liste des enseignants

Choisir la certification ë supprimer

A2 :E0.

V'erifier la dependance avec des formations Li

Demande de changer l'enseignant des formations-

ormations

Selection ner

Selectionner un enseignant

Enregister les modifications

Affi cher massage de su corés

Annuler le choix

n

Annuler la suppression

Page 152

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

Page | 53

5. Gérer les gérants :

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

Page 154

6. Gérer les compétences :

n \ Ge ent

Geyer les oompëten oes~

Consulter la page de gestion des competence

Afficher la page

r<

Choisir une certification

Liste des competencra

Al:EA

Enregistrer la compëtence

Mesage de su cor

alt dui

Valider son choix

opt [Supprimer

competence]

Cliquer sur le button xipprirrrer

Message de confirmation

A2:EA

opt [Modifier c#mpëtence]

Cliquer sur le button modifier

Formulaire de modification

Modifier le champ

Vs'ifis
·
l v r ca

a t [Donnera manquantes]

Afficher

Affichai le fcrn-Llsirs

Enregistrer les modifications

Affi cher mesage d e su ars

Supprimer la competence

Affi char rn agedesucaès

Mon

Annuler le choix

An n u ler la suppression

Remplir le champ

opt [Ajouter corn pëtence]

Verifier les cr s- c

I p [Donnëas manquantes]

Affi cher mesage d'erreur

Afficher le formulaire

Système

ref

Authentifier{j

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

Page | 55

7. Gérer les inscriptions :

Figure 17 : Diagramme de séquence « Gérer les inscriptions ».

8. Rechercher certification :

Figure 18 : Diagramme de séquence « Rechercher certification».

Page | 56

9. Consulter certification :

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

Page | 57

10.Consulter formation :

Figure 20 : Diagramme de séquence « Consulter formation ».

10. Donner avis :

Figure 21: Diagramme de séquence « Donner avis ».

12.

Page | 58

Proposer formation :

Figure 22 : Diagramme de séquence « Proposer formation ».

13. Recevoir les notifications :

Figure 23 : Diagramme de séquence « Recevoir les notifications ».

14.

Page | 59

Consulter les propositions :

Figure 24 : Diagramme de séquence « Consulter les propositions ».

15. Consulter les avis :

Figure 25 : Diagramme de séquence « Consulter les avis ».

Page | 60

III. Diagramme d'activité :

Le diagramme d'activité est un diagramme comportemental d'UML, permettant de représenter le déclenchement d'événements en fonction des états du système et de modéliser des comportements pouvant être parallèles. Le diagramme d'activité est également utilisé pour décrire un flux de travail.

1. Authentifier :

Figure 26 : Diagramme d'activité « Authentifier ».

Page | 61

2.Consulter certification :

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

2. Consulter formation :

Page | 62

Figure 28 : Diagramme d'activité « Consulter formation ».

4. Gérer les certifications :

Figure 29 : Diagramme d'activité « Gérer certifications ».

5. Gérer les formations :

Page | 63

Figure 30 : Diagramme d'activité « Gérer formations ».

6. Gérer les compétences :

Figure 31 : Diagramme d'activité « Gérer compétences ».

7. Gérer les gérants :

Figure 32 : Diagramme d'activité « Gérer gérants ».

8. Page | 64

Gérer les formateurs :

Figure 33 : Diagramme d'activité « Gérer formateurs ».

9. Gérer les inscriptions :

Figure 34 : Diagramme d'activité « Gérer les inscriptions ».

10. Consulter les avis/propositions :

Page | 65

Figure 35 : Diagramme d'activité « Consulter les avis/propositions ». 11. Recevoir les notifications/Proposer formation/Donner avis :

Figure 36 : Diagramme d'activité «Recevoir les notifications/Proposer
formation/Donner avis ».

IV. Diagramme de classe d'analyse :

Le diagramme de classes est considéré comme le plus important de la modélisation orientée objet, il est le seul obligatoire lors d'une telle modélisation. Le diagramme de classes montre la structure interne du système. Il permet de fournir une représentation abstraite des objets du système qui vont interagir ensemble pour réaliser les cas d'utilisation. Il s'agit d'une vue statique car on ne tient pas compte du facteur temporel dans le comportement du système. Les principaux éléments de cette vue statique sont les classes et leurs relations : association, généralisation et plusieurs types de dépendances, telles que la réalisation et l'utilisation. Une classe-association possède les caractéristiques des associations et des classes : elle se connecte à deux ou plusieurs classes et possède également des attributs et des opérations. Une classe-association est caractérisée par un trait discontinu entre la classe et l'association. Une classe est une description d'un groupe d'objets partageant un ensemble commun de propriétés (les attributs), de comportements (les opérations ou méthodes) et de relations avec d'autres objets (les associations et les agrégations).

Une classe de conception est composée par :

? Attribut chaque attribut d'une classe est le même pour chaque instance de cette classe.

? Méthodes elle définit le comportement d'une classe elle-même, et non le comportement de ses instances qui peut être différent.

Le schéma ci-dessous représente le diagramme de classe qu'on a établi pour la conception du système.

Page | 66

Figure 37 : Diagramme de classe d'analyse.

V. Base de données :

1. Modèle logique de données :

Le modèle logique des données (MLD) précise le modèle conceptuel par des choix

organisationnels. Il s'agit d'une transcription (également appelée dérivation) du MCD dans un formalisme adapté à une implémentation ultérieure, au niveau physique, sous forme de base de données relationnelle ou réseau, ou autres. Les choix techniques d'implémentation (choix d'un SGBD) ne seront effectués qu'au niveau suivant.

Page | 67

Figure 38 : Modèle logique de données(MLD).

2. Modèle physique de données :

Le modèle physique des données consiste à implémenter le modèle dans le SGBD, c'est-à-

dire le traduire dans un langage de définition de données. Le langage généralement utilisé pour ce type d'opération est le SQL, et plus spécialement le langage de définition de données du SQL.

Page | 68

Figure 39 : Modèle physique de données(MPD).

VI. Prototype des interfaces :

Dans le domaine du web, une technique est apparue et prend une place très importante dans le développement des applications Web, il s'agit de prototypage. Cette technique consiste préparer quelques interfaces graphiques de l'application en utilisant un outil de conception de prototypage afin de mesurer le degré de satisfaction du client par rapport à la compréhension du projet par le développeur. L'interaction qui se produit entre l'utilisateur final et le développeur, à la suite de la discussion sur ces interfaces, permet d'ajuster les besoins et de les concevoir de manière précise et exacte. En effet les interfaces graphique font que l'utilisateur final soit plus interactif, précis et le poussent à mieux s'exprimer quant à ses attentes. Ci-dessus quelques interfaces réalisées avec l'outil Balsamiq Mockups [4].

1. Page | 69

Authentifier :

Figure 40 : Interface authentifié.

2. Rechercher certification :

Figure 41 : Interface rechercher certification.

3. Page | 70

Consulter certification :

Figure 42 : Interface consulter certification.

4. Gérer certification, formation et formateur :

Figure 43 : Interfaces gérer les certifications, formations, formateurs.

5. Page | 71

Consulter les formations :

Figure 44 : Interface consulter les formations.

6. Gérer avis et propositions :

Figure 45 : Interface gérer avis et propositions.

7. Inscrire :

Figure 46 : Interface inscrire.

8. Gérer gérant :

Figure 47 : Interface gérer gérants.

Page | 72

9. Page | 73

Gérer inscriptions :

Figure 48 : Interface gérer inscriptions.

10. Gérer compétences :

Figure 49 : Interface gérer les compétences.

Page | 74

Chapitre 4 : Phase de réalisation.

Introduction :

Cette phase est la dernière phase dans le cycle de développement d'un logiciel avec la démarche UP-XP. Cette phase est souvent appelée phase d'implémentation. Les tâches effectuées pendant cette phase ne sont pas claires, et ils dépendent fortement du type de déploiement du logiciel.

Pour mon projet, ce chapitre sera consacré pour la présentation des langages et outils de programmation utilisés pour la réalisation de mon application, puis je finirai par quelques interfaces graphiques du logiciel fourni.

:

I. Environnement logiciel

Nous avons énuméré au cours de cette partie les différents outils utilisés tout au long de ce projet pour l'étude et la mise en place de notre application.

1. Eclipse :

Eclipse IDE est un environnement de développement intégré libre (le terme Eclipse désigne également le projet correspondant, lancé par IBM) extensible, universel et polyvalent, permettant potentiellement de créer des projets de développement mettant en oeuvre n'importe quel langage de programmation. Eclipse IDE est principalement écrit en Java (à l'aide de la bibliothèque graphique SWT, d'IBM), et ce langage, grâce à des bibliothèques spécifiques, est également utilisé pour écrire des extensions.

2. MySQL :

MySQL est un système de gestion de base de données relationnelle. Une base de données relationnelle augmente la vitesse et la flexibilité, en stockant des données dans des tables séparées plutôt que de mettre toutes les données dans un secteur. Ces tables sont liées par des relations définies permettant de combiner des données de plusieurs tables sur demande. Employer une SGBDR signifie qu'il

Page | 75

est possible d'ajouter, d'accéder, et de traiter les données stockées dans votre base de données. SQL est `Structured Query Language ` le language normalisé le plus commun pour accéder à des bases de données.

3. Apache tomcat :

Apache Tomcat est un conteneur web libre de servlets et JSP Java EE.

Issu du projet Jakarta, c'est un des nombreux projets de l'Apache Software Foundation. Il implémente les spécifications des servlets et des JSP du Java Community Process1, est paramétrable par des fichiers XML et de propriétés, et inclut des outils pour la configuration et la gestion. Il comporte également un serveur HTTP.

II. Technologies et langages utilisés :

1. Java EE (Java Enterprise Edition) [5]

Java Enterprise Edition, ou Java EE (anciennement J2EE), est une spécification pour la technique Java de Oracle plus particulièrement destinée aux applications d'entreprise. Ces applications sont considérées dans une approche multi-niveaux1. Dans ce but, toute implémentation de cette spécification contient un ensemble d'extensions au Framework Java standard (JSE, Java Standard Edition) afin de faciliter notamment la création d'applications réparties.

2. HTML

HTML (Hyper Text Markup Language / langage hypertexte) est le

langage dans lequel sont écrites les pages du web. Un site web est constitué d'un ou plusieurs documents HTML, appelées aussi pages. Pour se déplacer d'une page à l'autre dans nos modules on passe par l'intermédiaire d'hyperliens. Pour ajouter des objets graphiques on utilise le HTML d'autre part pour tester des pages web html en local, il suffit d'ouvrir le fichier dans

un navigateur. Le HTML n'est pas un langage de programmation comme le C++. Les

langages dynamiques comme PHP et JavaScript vont d' ailleurs générer des pages HTML statiques.

Page | 76

3. JavaScript [6]

JavaScript est un langage de programmation de scripts principalement utilisé dans les pages web interactives. C'est un langage orienté objets à prototype, c'est-à-dire que les bases du langage et ses principales interfaces sont fournies par des objets qui ne sont pas des instances de classes, mais qui sont chacun équipés de constructeurs permettant de générer leurs propriétés, et notamment une propriété de prototypage qui permet d'en générer des objets héritiers personnalisés.

Le langage a été créé en 1995 par Brendan Eich pour le compte de Netscape Communications Corporation. Le langage actuellement à la version 1.7 est une implémentation du standard ECMA-262. La version 1.8 est en développement et intégrera des éléments du langage Python. La version 2.0 du langage est prévue pour intégrer la 4e version du standard ECMA.

3.

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>.

4. CSS

CSS (Cascading Style Sheets) comme par exemple la couleur du fond de la page ou le type de police même document des caractéristiques de mise forme associées à des groupes d'éléments. Il suffit de définir par un nom un ensemble de définitions et de caractéristiques de mise en forme, et elles permettent notamment:

? D'obtenir une présentation homogène sur tout un site en faisant appel sur toutes les pages à une même définition de style.

? De permettre le changement de l'aspect d'un site complet entier par la seule modification de quelques lignes

Page | 77

? Une plus grande lisibilité du HTML, car les styles sont définis à part. Des chargements de pages plus rapides, pour les même raison que précédemment.

6. Ajax

Ajax (Asynchronous JavaScript and XML) permet de construire des applications Web et des sites web dynamiques interactifs sur le poste client en se servant de différentes technologies ajoutées aux navigateurs web.

Ajax combine JavaScript, les CSS, JSON, XML, le DOM et le XMLHttpRequest afin d'améliorer maniabilité et confort d'utilisation des applications internet riches.

III. Développement

:

1. Choix de la plateforme Java EE :

Pour le développement de l'application, nous avons utilisé la plateforme Java EE (Java Edition Entreprise).

Parmi les avantages de la plateforme Java EE, on peut citer :

? Technologie sans frais : Java (sur le quel est basé Java EE) est une technologie Open Source, les outils de développement JEE sont disponibles gratuitement.

? Maintenabilité : Les applications Java EE sont plus faciles à entretenir, dans la plupart des cas, ils sont conçus en plusieurs couches. Il est facile d'ajouter de nouvelles fonctionnalités tierces pour les applications Java EE en raison de sa fonction d'évolutivité.

? Indépendance : Les applications développées avec Java EE peuvent être déployées sur la plupart des matériels disponibles. Elles offrent une flexibilité de matériel à l'utilisateur final. Ainsi, l'utilisateur peut déployer et exécuter des applications Java EE sur le système d'exploitation et le matériel de son choix.

2. Choix de développement

Pour le développement, nous avons appliqué le modèle Model-View-Controller (MVC). Ce paradigme divise l'IHM (Interface Homme Machine) en un modèle (M pour modèle de données) une vue (V pour la présentation, l'interface utilisateur) et un contrôleur (C pour la logique de contrôle, et la gestion des événements / synchronisation), chacun ayant un rôle précis dans l'interface.

Page | 78

L'organisation globale d'une interface graphique est souvent délicate. L'architecture MVC ne résout pas tous les problèmes. Elle fournit souvent une première approche qui peut ensuite être adaptée. Elle offre aussi un cadre pour structurer une application.

Ce patron d'architecture impose la séparation entre les données, la présentation et les traitements, ce qui donne trois parties fondamentales dans l'application finale : le modèle, la vue et le contrôleur.

Figure 50 : Modèle MVC (Modèle - Vue - Contrôleur). ? Le modèle :

Le modèle représente le comportement de l'application : traitements des données, interactions avec la base de données, etc. Il décrit ou contient les données manipulées par l'application. Il assure la gestion de ces données et garantit leur intégrité. Dans le cas typique d'une base de données, c'est le modèle qui la contient. Le modèle offre des méthodes pour mettre à jour ces données (insertion, suppression, changement de valeur). Il offre aussi des méthodes pour récupérer ces données. Les résultats renvoyés par le modèle sont dénués de toute présentation.

? La vue

La vue correspond à l'interface avec laquelle l'utilisateur interagit. Sa première tâche est de présenter les résultats renvoyés par le modèle. Sa seconde tâche est de recevoir toutes les actions de l'utilisateur (clic de souris, sélection d'une entrée, boutons, etc.). Ces différents

Page | 79

événements sont envoyés au contrôleur. La vue n'effectue aucun traitement, elle se contente d'afficher les résultats des traitements effectués par le modèle et d'interagir avec l'utilisateur. ? Le contrôleur

Le contrôleur prend en charge la gestion des événements de synchronisation pour mettre à jour la vue ou le modèle et les synchroniser. Il reçoit tous les événements de l'utilisateur et enclenche les actions à effectuer. Si une action nécessite un changement des données, le contrôleur demande la modification des données au modèle, et ce dernier notifie la vue que les données ont changée pour qu'elle les mette à jour.

IV. Les interfaces de l'application :

1. Authentifier :

Cette interface permet au gérant d'accéder au leurs profil pour la gestion.

Figure 51 : Page d'authentification.

2. Rechercher certification :

Cette interface permet au client de rechercher une certification soit par son code, son

domaine, sa technologie ou bien un mot qui signifie la certification.

Page | 80

Figure 52 : Page de recherche.

3. Consulter formations :

Cette interface permet au client de consulter les formations.

Figure 53 : Page consulter les formations.

Page | 81

4. Consulter certification :

Après la recherche l'interface qui va afficher est la page de consultation de la certification.

Figure 54 : Page consulter certification.

5. Consulter les avis :

Cette page permet au gérant de consulter les avis et les supprimer (si aucun avis trouvés un

message va afficher).

Figure 55 : Page consulter les avis.

Page | 82

6. Gérer les certifications :

Cette page permet au gérant de gérer les certifications (ajouter, modifier, supprimer).

Figure 56 : Page gérer les certifications.

7. Gérer les formations :

Cette page permet au gérant de gérer les formations (ajouter, modifier, supprimer).

Figure 57 : Page gérer les formations.

8. Inscrire :

Cette page permet au client d'inscrire à une certification, formation ou bien pour proposer

une formation.

Page | 83

Figure 58 : Page d'inscription.

9. Gérer les formateurs :

Cette page permet au gérant de gérer les formateurs (ajouter, modifier, supprimer).

Figure 59 : Page gérer les formateurs.

Page | 84

10. Gérer les compétences :

Cette page permet au gérant de gérer les compétences (ajouter, modifier, supprimer), le

tableau montre après la sélection d'une certification.

Figure 60 : Page gérer les compétences.

11. Gérer les gérants :

Cette page permet à l'administrateur de gérer les gérants (ajouter, modifier, supprimer).

Figure 61 : Page gérer les gérants.

Page | 85

12. Gérer les inscriptions :

Cette page permet au gérant de valider les inscriptions des clients.

Figure 62 : Page gérer les inscriptions.

13. Consulter les propositions :

Cette page permet au gérant de consulter les propositions et les supprimer.

Figure 63 : Page Consulter les propositions.

Page | 86

Conclusion générale.

Dans le cadre de mon projet de fin d'étude, j'ai conçu de développer une application de gestion des certifications et formations pour la société Pluralis Consulting. Le présent manuscrit détaille toutes les étapes par lesquelles je suis passée pour arriver au résultat attendu. J'ai essayé tout au long de mon travail de construire une application concrète en utilisant la démarche UP-XP.

Ce projet m'a donné l'opportunité de s'initier à la vie professionnelle dans un milieu réel et avoir un début d'expérience significatif, et il m' a appris comment réussir de bonnes relations pour assurer un travail de groupe, comment compter sur soi pour résoudre les problèmes au cas où ils se présentent, comment être méticuleuses dans notre travail, comment être attentives aux indications de mes supérieurs, comment être bien organisées pour accomplir dans les meilleurs délais et meilleures conditions les tâches qui m'ont été confié.

Au cours de la réalisation de mon projet, j'ai été astreinte par quelques limites notamment, la contrainte du temps qui était relativement un obstacle devant l'ajout de certaines autres fonctionnalités. Cependant, il était une occasion pour mettre en évidence et déployer sur le plan pratique mes connaissances en informatique.

Le projet peut être amélioré, en lui ajoutant quelques modules ou interfaces pour mieux l'adopter aux besoins de l'utilisateur et pour qu'il soit toujours fiable et au niveau des progrès atteint par la société.

Page | 87

Bibliographie et Webographie:

[1] 4 http://www.ganttproject.biz/download.php

[2] 4 « Guide de la Modélisation en UML » [Taoufiq GADI, Omar EL BEGGAR, Brahim BOUSETTA, 2013].

[3] 4 http://www.clubic.com/lancer-le-telechargement-182596-0-poweramc.html

[4] 4 https://balsamiq.com/download/

[5] 4 « Les Cahiers du Programmeur JEE 5, 2éme édition » [Jérôme Molière ÉDITIONS EYROLLES, 2007]

[6] 4 « JavaScript Des fondamentaux aux concepts avancés » [Emmanuel GUTIERREZ EDITIONS ENI, 2008]

[7] 4 http://openclassrooms.com/courses/simplifiez-vos-developpements-javascript-avec-jquery






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Un démenti, si pauvre qu'il soit, rassure les sots et déroute les incrédules"   Talleyrand