0% ont trouvé ce document utile (0 vote)
24 vues80 pages

Application Web pour Formations en Tunisie

Transféré par

Souha Lassoued
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
24 vues80 pages

Application Web pour Formations en Tunisie

Transféré par

Souha Lassoued
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

2023 - 2024

Twin
StudySphere
Application Web Innovante pour la Centralisation des Centres de
Formation en Tunisie avec un Système de Recommandation

Réalisé par : Ben Ismail Mohamed Aziz


Encadré par : Mr Neffati Ahmed
Encadrant ESPRIT : Mm Abdaoui Noura
Encadrant Entreprise : Bee Coders

1
2
Dédicaces

Je dédie ce travail inoubliable à mes parents, qui ont été une source constante d'inspiration et
de motivation tout au long de mon parcours. Leur soutien constant et leurs encouragements
ont formé les bases sur lesquelles je me suis appuyé pour atteindre mes objectifs.

À ma grande famille de Djerba et de Tunis, en particulier à mes grands-parents


maternelles et paternelles, qui ont été une source constante de soutien, toujours présentes pour
m'encourager et me guider.

Je souhaite exprimer mes remerciements les plus sincères à mes amis, qui ont toujours
été là pour m'encourager et me soutenir.

Cette réalisation est le fruit de l'engagement, du dévouement et du soutien de chacun


d'entre vous. Je vous en suis profondément reconnaissant.

Remerciements
Je tiens à exprimer ma profonde gratitude à mon encadrant, Neffati Ahmed, pour sa
disponibilité, son soutien constant, et la confiance qu'il m'a accordée tout au long de mon stage
de fin étude, en particulier lors de mon intégration dans le monde professionnel.

Je tiens également à remercier Madame ABDAOUI Noura pour son suivi attentif, ses
conseils avisés et son professionnalisme exemplaire.

Je souhaite exprimer ma sincère gratitude aux membres du jury pour avoir accepté
d'évaluer ce projet.

Ben Ismail Mohamed Aziz

3
Table des matières
INTRODUCTION GENERALE ................................................................................................................................. 11
1 PRESENTATION GENERALE ..................................................................................................................... 12
INTRODUCTION ............................................................................................................................................... 12
1.1 CADRE GENERAL DE MON STAGE ............................................................................................................. 12
1.2 PRESENTATION DE L’ORGANISME D’ACCUEIL .............................................................................................. 12
1.2.1 Bee Coders ................................................................................................................................. 12
1.2.2 Services Proposés par bee coders................................................................................................ 13
................................................................................................................................................................... 13
1.3 PRESENTATION DU PROJET FORME .......................................................................................................... 13
1.3.1 Objectif général de Notre projet ................................................................................................. 13
1.3.2 Problématique ........................................................................................................................... 13
1.4 ETUDE PREALABLE ............................................................................................................................... 14
1.4.1 Etude de l’existant...................................................................................................................... 14
[Link] A l’échelle national ........................................................................................................................... 14
[Link] A l’échelle international.................................................................................................................... 15
1.4.2 Critique de l’existant .................................................................................................................. 15
................................................................................................................................................................... 15
................................................................................................................................................................... 15
1.4.3 Solution proposée ...................................................................................................................... 15
1.5 METHODOLOGIE DE TRAVAIL .................................................................................................................. 17
1.5.1 Choix du cadre SCRUM ............................................................................................................... 17
1.5.2 Les rôles dans la méthodologie SCRUM....................................................................................... 17
CONCLUSION .................................................................................................................................................. 18
2 ANALYSE ET SPECIFICATION DESBESOINS ............................................................................................. 19
INTRODUCTION ............................................................................................................................................... 19
2.1 IDENTIFICATION DES ACTEURS DE NOTRE APPLICATION .................................................................................. 19
2.2 ÉTUDE DES BESOINS ............................................................................................................................. 19
2.2.1 Les besoins fonctionnels ............................................................................................................. 19
2.2.2 Les Besoins non fonctionnels ...................................................................................................... 22
2.3 DIAGRAMME DE CAS D'UTILISATION GLOBALE ............................................................................................. 23
2.4 BACKLOG DU PRODUIT.......................................................................................................................... 23
2.5 DIAGRAMME DE CLASSE ........................................................................................................................ 26
2.6 ENVIRONNEMENT DE TRAVAIL DANS CE STAGE ............................................................................................ 27
2.6.1 Frameworks et Langages utilisés ................................................................................................ 27
2.6.2 Environnement Logiciel .............................................................................................................. 28
2.6.3 Exemple d'utilisation .................................................................................................................. 29
2.6.4 Environnement matériel ............................................................................................................. 31
2.7 ARCHITECTURE GLOBALE ....................................................................................................................... 32
2.7.1 Architecture Physique................................................................................................................. 32
2.7.2 Architecture Logique .................................................................................................................. 32
2.8 SPRINT BACKLOG GENERAL DE NOTRE APPLICATION ..................................................................................... 33
CONCLUSION .................................................................................................................................................. 33
3 SPRINT 1 : GESTION DE L'INSCRIPTION ET DE L'AUTHENTIFICATION....................................................... 34
INTRODUCTION SPRINT 1 .................................................................................................................................. 34
3.1 OBJECTIF DU SPRINT ............................................................................................................................ 34
3.2 ANALYSE DU SPRINT 1 .......................................................................................................................... 34
3.2.1 Sprint Backlog ............................................................................................................................ 34
3.2.2 Diagramme des cas d'utilisation Gestion de l'inscription et de l'authentification .......................... 35
[Link] Description textuelle des cas d'utilisation.......................................................................................... 36

4
3.2.3 Diagramme de séquence objet du sprint 1 .................................................................................. 36
3.3 REALISATION ..................................................................................................................................... 37
CONCLUSION .................................................................................................................................................. 38
4 SPRINT 2 : GESTION DES UTILISATEURS ET PROFIL UTILISATEUR ............................................................ 39
INTRODUCTION ............................................................................................................................................... 39
4.1 OBJECTIF DU SPRINT ............................................................................................................................ 39
4.2 ANALYSE DU SPRINT 2 .......................................................................................................................... 39
4.2.1 Sprint Backlog ............................................................................................................................ 39
4.2.2 Diagramme des cas d'utilisation du sprint 2 Gestion Utilisateurs ................................................. 41
[Link] Description textuelle des cas d'utilisation Gestion Utilisateurs ........................................................... 41
4.2.3 Diagramme des cas d'utilisation du sprint 2 Gestion Profile......................................................... 41
[Link] Description textuelle des cas d'utilisation Gestion Profile .................................................................. 42
4.2.4 Diagramme de séquence objet du sprint 2 .................................................................................. 42
[Link] Diagramme de séquence objet Gestion Des utilisateurs..................................................................... 42
[Link] Diagramme de séquence objet Gestion Des profiles .......................................................................... 43
4.3 REALISATION ..................................................................................................................................... 43
CONCLUSION .................................................................................................................................................. 46
5 SPRINT 3 : GESTION DES PREFERENCES ET L’EQUIPE ENSEIGNANT ......................................................... 47
INTRODUCTION ............................................................................................................................................... 47
5.1 OBJECTIF DU SPRINT ............................................................................................................................ 47
5.2 ANALYSE DU SPRINT 3 .......................................................................................................................... 47
5.2.1 Sprint Backlog ............................................................................................................................ 47
5.2.2 Diagramme des cas d'utilisation du sprint 3 ................................................................................ 48
[Link] Description textuelle des cas d'utilisation.......................................................................................... 49
5.2.3 Diagramme de séquence objet du sprint 3 .................................................................................. 49
5.3 REALISATION ..................................................................................................................................... 49
CONCLUSION .................................................................................................................................................. 51
6 SPRINT 4 : GESTION DES FORMATIONS ET RECOMMANDATION ............................................................ 52
INTRODUCTION ............................................................................................................................................... 52
6.1 OBJECTIF DU SPRINT ............................................................................................................................ 52
6.2 ANALYSE DU SPRINT 4 .......................................................................................................................... 52
6.2.1 Sprint Backlog ............................................................................................................................ 52
6.2.2 Diagramme des cas d'utilisation du sprint 4 ................................................................................ 53
[Link] Description textuelle des cas d'utilisation.......................................................................................... 54
6.3 REALISATION ..................................................................................................................................... 54
CONCLUSION .................................................................................................................................................. 55
7 SPRINT 5 : GESTION DES INSCRIPTION ET JOURNAUX ............................................................................ 56
INTRODUCTION ............................................................................................................................................... 56
7.1 OBJECTIF DU SPRINT ............................................................................................................................ 56
7.2 ANALYSE DU SPRINT 5 .......................................................................................................................... 56
7.2.1 Sprint Backlog ............................................................................................................................ 56
7.2.2 Diagramme des cas d'utilisation du sprint 5 ................................................................................ 57
[Link] Description textuelle des cas d'utilisation.......................................................................................... 57
7.3 REALISATION ..................................................................................................................................... 58
CONCLUSION .................................................................................................................................................. 59
8 SPRINT 6 : GESTION DES BADGES ET DE LA LISTE DE FAVORIS ................................................................ 60
INTRODUCTION ............................................................................................................................................... 60
8.1 OBJECTIF DU SPRINT ............................................................................................................................ 60
8.2 ANALYSE DU SPRINT 6 .......................................................................................................................... 60
8.2.1 Sprint Backlog ............................................................................................................................ 60
5
8.2.2 Diagramme des cas d'utilisation du sprint 6 Gestion du favori ..................................................... 61
[Link] Description textuelle des cas d'utilisation Gestion du favori ............................................................... 61
8.2.3 Diagramme des cas d'utilisation du sprint 6 Gestion des Badges ................................................. 62
[Link] Description textuelle des cas d'utilisation Gestion des Badges ........................................................... 62
8.2.4 Diagramme de séquence objet du sprint 6 .................................................................................. 62
[Link] Diagramme de séquence objet Gestion des badges ........................................................................... 62
[Link] Diagramme de séquence objet Gestion des favores........................................................................... 63
8.3 REALISATION ..................................................................................................................................... 63
CONCLUSION .................................................................................................................................................. 65
9 SPRINT 7 : GESTION DES NIVEAUX ET POINT XP ..................................................................................... 66
INTRODUCTION ............................................................................................................................................... 66
9.1 OBJECTIF DU SPRINT ............................................................................................................................ 66
9.2 ANALYSE DU SPRINT 7 .......................................................................................................................... 66
9.2.1 Sprint Backlog ............................................................................................................................ 66
9.2.2 Diagramme des cas d'utilisation du sprint 7 Gestion Niveaux et xp .............................................. 67
[Link] Description textuelle des cas d'utilisation.......................................................................................... 67
9.2.3 Diagramme de séquence objet du sprint 7 .................................................................................. 68
[Link] Diagramme de séquence Gestion des niveaux ................................................................................... 68
[Link] Diagramme de séquence Gestion des Xps ......................................................................................... 68
9.3 REALISATION ..................................................................................................................................... 69
CONCLUSION .................................................................................................................................................. 70
10 SPRINT 8 : GESTION DES EVALUATIONS ET EVENEMENT ........................................................................ 71
INTRODUCTION ............................................................................................................................................... 71
10.1 OBJECTIF DU SPRINT ............................................................................................................................ 71
10.2 ANALYSE DU SPRINT 8 .......................................................................................................................... 71
10.2.1 Sprint Backlog ........................................................................................................................ 71
10.2.2 Diagramme des cas d'utilisation du sprint 8 Gestion des Evènements ...................................... 72
[Link] Description textuelle des cas d'utilisation.......................................................................................... 72
10.2.3 Diagramme des cas d'utilisation du sprint 8 Gestion des évaluations....................................... 72
[Link] Description textuelle des cas d'utilisation Gestion des évaluations..................................................... 72
10.2.4 Diagramme de séquence objet du sprint 8 .............................................................................. 73
[Link] Diagramme de séquence objet Gestion Des évènement .................................................................... 73
[Link] Diagramme de séquence objet Gestion Des avis................................................................................ 73
10.3 REALISATION ..................................................................................................................................... 73
CONCLUSION .................................................................................................................................................. 74
11 SPRINT 9 : GESTION DES NOTIFICATION ................................................................................................. 75
INTRODUCTION ............................................................................................................................................... 75
11.1 OBJECTIF DU SPRINT ............................................................................................................................ 75
11.2 ANALYSE DU SPRINT 9 .......................................................................................................................... 75
11.2.1 Sprint Backlog ........................................................................................................................ 75
11.2.2 Diagramme des cas d'utilisation du sprint 9 Gestion des notifications ..................................... 75
[Link] Description textuelle des cas d'utilisation.......................................................................................... 76
11.3 REALISATION ..................................................................................................................................... 76
CONCLUSION .................................................................................................................................................. 77
CONCLUSION GENERALE ................................................................................................................................ 78
12 BIBLIOGRAPHIE ...................................................................................................................................... 79

6
Table des figures
Figure 1 Logo Bee Coders .................................................................................................... 13
Figure 2 Logo de Forme ....................................................................................................... 13
Figure 3 Logo de Tanitjobs ................................................................................................... 14
Figure 4 Logo de Formation Tunisie ..................................................................................... 14
Figure 5 Logo de Fabskill ..................................................................................................... 14
Figure 6 Logo de MaFormation ............................................................................................ 15
Figure 7 SCRUM ................................................................................................................. 17
Figure 8Explication méthode scrum ..................................................................................... 18
Figure 9 Besoins Fonctionnels des Utilisateurs ..................................................................... 20
Figure 10 Besoins Fonctionnels des Centres de formation..................................................... 21
Figure 11 Besoins Fonctionnels des Administrateurs ............................................................ 22
Figure 12 Besoins Fonctionnels des Modérateurs.................................................................. 22
Figure 13 Diagramme de cas d'utilisation globale Forme ...................................................... 23
Figure 14 Diagramme de classe ........................................................................................... 26
Figure 15 Logo Node js ........................................................................................................ 27
Figure 16 Logo Express js .................................................................................................... 27
Figure 17 Logo React ........................................................................................................... 27
Figure 18 Logo Tailwind css ............................................................................................... 27
Figure 19 Logo Bootstrap ..................................................................................................... 27
Figure 20 Logo MongoDB Compass ................................................................................... 28
Figure 21 Logo MongoDB atlas ........................................................................................... 28
Figure 22 Logo Postman ....................................................................................................... 28
Figure 23 Logo Docker......................................................................................................... 28
Figure 24 Logo de GitHub .................................................................................................... 28
Figure 25 Logo de StarUML................................................................................................. 28
Figure 26 Logo de webstorm ................................................................................................ 28
Figure 27 Logo de WakaTime .............................................................................................. 29
Figure 28 Logo de render...................................................................................................... 29
Figure 29 Logo de netlify ..................................................................................................... 29
Figure 30 Logo de Figma...................................................................................................... 29
Figure 31Exemple d'utilisation sketchup Figma .................................................................... 29
Figure 32Exemple d'utilisation Wierframes figma ................................................................ 29
Figure 33Exemple d'utilisation Désigne Système .................................................................. 30
Figure 34 Exemple d'utilisation MongoDB Atlas .................................................................. 30
Figure 35 Exemple d'utilisation MongoDB Compass ............................................................ 30
Figure 36 Mise en Ligne du Frontend sur GitHub ................................................................ 30
Figure 37 Mise en Ligne du Backend sur GitHub ................................................................. 30
Figure 38 Déploiement DockerHub FrontEnd ....................................................................... 31
Figure 39 Déploiement DockerHub BackEnd ....................................................................... 31
Figure 40 Exemple d'utilisation Netlify................................................................................. 31
Figure 41 Exemple d'utilisation Render ................................................................................ 31
Figure 42Notre Architecture Physique .................................................................................. 32
Figure 43Notre Architecture Logique .................................................................................. 32
Figure 44 Diagramme des cas d'utilisation du sprint 1 Gestion de l'inscription et de
l'authentification ................................................................................................................... 35
Figure 45 Diagramme de séquence objet du sprint 1 Gestion de l'inscription et de
7
l'authentification ................................................................................................................... 36
Figure 46 Notre Page d'Accueil ........................................................................................... 37
Figure 47 page d'Inscription.................................................................................................. 37
Figure 48 Interface Confirmation d'envoi email .................................................................... 37
Figure 49 Email de Vérification de votre inscription ............................................................. 37
Figure 50 Page d'inscription de centre de formation .............................................................. 38
Figure 51Page reset mot de passe......................................................................................... 38
Figure 52 Email de réinitialiser votre mot de passe ............................................................... 38
Figure 53page de Connexion ................................................................................................ 38
Figure 54 Diagramme des cas d'utilisation du sprint 2 Gestion Utilisateurs ........................... 41
Figure 55 Diagramme des cas d'utilisation du sprint 2 Gestion Profile .................................. 41
Figure 56 Diagramme de séquence objet du sprint 2 Gestion Utilisateur ............................... 42
Figure 57 Diagramme de séquence objet du sprint 2 Gestion Profile .................................... 43
Figure 58 dérouler de l'Utilisateur ......................................................................................... 43
Figure 59 Profil Utilisateur .................................................................................................. 43
Figure 60• Paramètres du compte.......................................................................................... 44
Figure 61 Modifier Profil Utilisateur .................................................................................... 44
Figure 62•Modifier Mot de Passe.......................................................................................... 44
Figure 63Gestion de tous les utilisateurs par l’administrateur ................................................ 44
Figure 64 Recherche des utilisateurs par nom ou prénom ...................................................... 45
Figure 65 Ajouter un utilisateur par un admin ....................................................................... 45
Figure 66 Attribution de Rôles par un administrateur ............................................................ 45
Figure 67Sélection des utilisateurs connecter ou déconnecter au temps réelle ....................... 45
Figure 68Trie la liste des utilisateurs par nom ou prénom ou les plus récent .......................... 46
Figure 69Afficher des utilisateur par un rôle spécifique ........................................................ 46
Figure 70Activer ou désactiver ou supprimer ou archiver un utilisateur ................................ 46
Figure 71 Modifier les informations d’un utilisateur ............................................................. 46
Figure 72 Diagramme des cas d'utilisation du sprint 3 Gestion des préférences ..................... 48
Figure 73 Diagramme de séquence objet du sprint 3 ............................................................. 49
Figure 74 Interface d’explication .......................................................................................... 49
Figure 75 Formulaire du préférence stp1 .............................................................................. 50
Figure 76 Formulaire du préférence stp2............................................................................... 50
Figure 77 Formulaire du préférence stp3............................................................................... 50
Figure 78 Formulaire de modification de la préférence ......................................................... 50
Figure 79 interface Consulter la liste des formateurs de mon centre ...................................... 51
Figure 80 Pop-up Ajouter un formateur à mon équipe ........................................................... 51
Figure 81 Diagramme des cas d'utilisation du sprint 4 Gestion des Formation ....................... 53
Figure 82 interface gestion des formation par un centre ........................................................ 54
Figure 83 Pop-up d'ajout une formation etape 1 .................................................................... 54
Figure 84 Pop-up d'ajout une formation etape 2 ................................................................... 55
Figure 85 Pop-up d'ajout une formation etape 3 .................................................................. 55
Figure 86 Interface d’accueil contient le système de recommandation .................................. 55
Figure 87 Diagramme des cas d'utilisation du sprint 5........................................................... 57
Figure 88 Interface Inscription à partir de l’accueil ............................................................... 58
Figure 89 Interface désinscription de façon très facile ........................................................... 58
Figure 90 Interface Inscription à partir de détails formation .................................................. 58
Figure 91 Interface affichage de nombre d’inscription a une formation ................................. 59
Figure 92 Interface de gestion des inscriptions ...................................................................... 59
8
Figure 93 Interface pour la gestion de logs ............................................................................ 59
Figure 94 Diagramme des cas d'utilisation du sprint 6 Gestion du favori ............................... 61
Figure 95 Diagramme des cas d'utilisation du sprint 6 Gestion des Badges ........................... 62
Figure 96 Diagramme de séquence objet du sprint 6 Gestion des Badges .............................. 62
Figure 97 Diagramme de séquence objet du sprint 6 Gestion des favoris............................... 63
Figure 98 Interface pour ajouter formation au favoris ........................................................... 63
Figure 99 Interface pour retire formation de favoris .............................................................. 63
Figure 100 Interface pour gère sa liste de favoris .................................................................. 64
Figure 101 Interface pour afficher ses badges ....................................................................... 64
Figure 102 Interface pour gestion de badges ......................................................................... 64
Figure 103 Pop-up pour ajouter badges ................................................................................. 65
Figure 104 Pop-up pour modifier badges .............................................................................. 65
Figure 105 Diagramme des cas d'utilisation du sprint 7 Gestion Niveaux et xp ..................... 67
Figure 106 Diagramme de séquence objet du sprint 7 Gestion des niveau ............................. 68
Figure 107 Diagramme de séquence objet du sprint 7 Gestion des Xps ................................. 68
Figure 108 Interface pour consulter les points xp .................................................................. 69
Figure 109 Interface pour gestion des Xp .............................................................................. 69
Figure 110 Pop-up pour ajouter un xp a un client .................................................................. 69
Figure 111 Pop-up pour modifier un xp ................................................................................ 70
Figure 112 Interface pour gère les niveaux ........................................................................... 70
Figure 113 Pop-up pour ajouter un niveau ............................................................................ 70
Figure 114 Pop-up pour modifier un niveau .......................................................................... 70
Figure 115 Diagramme des cas d'utilisation du sprint 8 Gestion des Evènements .................. 72
Figure 116 Diagramme des cas d'utilisation du sprint 8 Gestion des évaluations ................... 72
Figure 117Diagramme de séquence objet du sprint 8 Gestion des evenements ...................... 73
Figure 1181 Diagramme de séquence objet du sprint 8 Gestion des avis ............................... 73
Figure 119 Evaluer une formation......................................................................................... 73
Figure 120 Interface pour Gestion des évènements ............................................................... 74
Figure 121 Interface pour Ajouter un Evènement .................................................................. 74
Figure 122 Diagramme des cas d'utilisation du sprint 9 Gestion des notifications ................. 76
Figure 123 Liste des Notification par client .......................................................................... 76
Figure 124 Liste des Notifications pour un client .................................................................. 77
Figure 125 Notification de sécurité ....................................................................................... 77
Figure 126 Notification de bienvenue ................................................................................... 77

9
Table des tableaux
Tableau 1 Analyse du marché ............................................................................................... 15
Tableau 2 Backlog du produit ............................................................................................... 26
Tableau 3 Environnement matériel ....................................................................................... 31
Tableau 4 Sprint Backlog Général de notre application ......................................................... 33
Tableau 5 Sprint Backlog - Sprint 1 ...................................................................................... 35
Tableau 6 Description textuelle des cas d'utilisation du sprint 1 ............................................ 36
Tableau 7 Sprint Backlog - Sprint 2 ...................................................................................... 40
Tableau 8 Description textuelle des cas d'utilisation du sprint 2 Gestion Utilisateurs............. 41
Tableau 9 Description textuelle des cas d'utilisation du sprint 2 Gestion Profile .................... 42
Tableau 10 Sprint Backlog - Sprint 3 .................................................................................... 48
Tableau 11 Description textuelle des cas d'utilisation du sprint 3 .......................................... 49
Tableau 12 Sprint Backlog - Sprint 4 .................................................................................... 53
Tableau 13 Description textuelle des cas d'utilisation du sprint 4 .......................................... 54
Tableau 14 Sprint Backlog - Sprint 5 .................................................................................... 57
Tableau 15 Description textuelle des cas d'utilisation du sprint 5 .......................................... 57
Tableau 16 Sprint Backlog - Sprint 6 .................................................................................... 61
Tableau 17 Description textuelle des cas d'utilisation du sprint 6 .......................................... 61
Tableau 18 Description textuelle des cas d'utilisation du sprint 6 .......................................... 62
Tableau 19 Sprint Backlog - Sprint 7 .................................................................................... 67
Tableau 20 Description textuelle des cas d'utilisation du sprint 7 .......................................... 67
Tableau 21 Sprint Backlog - Sprint 8 .................................................................................... 72
Tableau 22 Description textuelle des cas d'utilisation du sprint 8 Gestion des Evènement ..... 72
Tableau 23 Description textuelle des cas d'utilisation du sprint 8 Gestion des évaluations ..... 72
Tableau 24 Sprint Backlog - Sprint 9 .................................................................................... 75
Tableau 25 Description textuelle des cas d'utilisation du sprint 8 Gestion des notifications ... 76

10
Introduction Générale
En Tunisie, malgré la diversité des opportunités de formation, l'absence d'une
plateforme centralisée constitue un obstacle majeur, limitant ainsi leur visibilité et leur
développement. Ce rapport présente la création d'une plateforme en ligne innovante, conçue
pour rassembler ces centres de formation, leur offrant la possibilité de promouvoir leurs services
et formations de manière coordonnée et inclusive. À travers une analyse approfondie des
besoins et un développement itératif structuré en sprints, ce projet a pour objectif de fournir une
solution intuitive aux centres de formation, de centraliser l'ensemble des formations disponibles
dans le pays, et d'offrir aux étudiants une expérience unifiée, simplifiée et à la pointe de la
technologie, afin de répondre aux exigences éducatives de la Tunisie.

Le rapport est organisé en plusieurs chapitres :

 Chapitre 1 : Présentation Générale

Introduction, cadre général du stage, présentation de l'entreprise Bee Coders et de ses


services, objectif global du projet, problématique, étude préliminaire, et méthodologie de
travail.

 Chapitre 2 : Analyse et Spécification des Besoins

Identification des acteurs, étude des besoins fonctionnels et non fonctionnels,


diagramme de cas d'utilisation global, backlog du produit, diagramme de classe, environnement
de travail, et architecture globale.

 Chapitres 3 à 8 : Détails des Sprints

Chaque chapitre couvre un sprint spécifique, allant de la gestion de l'inscription et de


l'authentification à la gestion des utilisateurs et du profil, ainsi que des niveaux, badges et XP,
notifications, formations, recommandations, préférences, centres de formation, inscriptions,
favoris, avis, personnel enseignant, événements, et logs.

Chaque chapitre inclut une introduction, une analyse des objectifs et des besoins
spécifiques liés au sprint, des diagrammes de cas d'utilisation et de séquence, ainsi que la mise
en œuvre des fonctionnalités planifiées. Le rapport se termine par une évaluation globale du
projet et des perspectives d'avenir.

11
1 Présentation Générale
Introduction
Dans ce premier chapitre, nous établissons les fondements du projet en offrant une vue
d'ensemble ainsi qu'une introduction à l'entreprise d'accueil. Nous débutons par définir le cadre
global du stage, situant ainsi notre travail dans son contexte approprié. Ensuite, nous présentons
Bee Coders, l'entreprise hôte, en détaillant ses services. Après cette introduction, nous décrivons
les grandes lignes du projet, en énonçant ses objectifs principaux et en identifiant les défis à
surmonter. Une étude préalable approfondie est menée, comprenant une analyse de l'existant,
une critique des faiblesses relevées et la proposition de solutions adaptées. Pour conclure, nous
détaillons la méthodologie adoptée, en justifiant le choix du cadre SCRUM et en précisant les
rôles qui y sont associés. Ce chapitre jette les bases de notre compréhension du projet en
clarifiant le contexte, les objectifs et la démarche méthodologique pour les atteindre.

1.1 Cadre général de mon Stage


Dans le cadre de notre formation à (ESPRIT), l’École Supérieure Privée d'Ingénierie et
de Technologies nous sommes tenus de réaliser un projet de fin d'études afin de mettre en
application les compétences développées durant notre parcours. J'ai eu l'occasion de faire un
stage de six mois chez Bee Coders, où j'ai contribué à la conception et au développement d'une
plateforme web destinée aux centres de formation ainsi qu'aux utilisateurs à la recherche de
formations.

1.2 Présentation de l’organisme d’accueil


1.2.1 Bee Coders
Bee Coders est une entreprise de services numériques fondée en 2020, spécialisée dans
la réalisation de projets IT. En plus de leur expertise technique, Bee Coders offre une occasion
exceptionnelle aux étudiants en proposant des stages d’été et de fin d'études. Intégrés dans un
environnement professionnel dynamique, les étudiants acquièrent une expérience pratique
précieuse et bénéficient d'une formation de haut niveau, leur permettant ainsi de développer
pleinement leurs compétences dans le domaine du numérique. Cette initiative démontre
l'engagement de Bee Coders à investir dans les talents de demain et à contribuer activement à
la formation des futurs professionnels du secteur.

12
1.2.2 Services Proposés par bee coders
Bee Coders offre une large gamme de services couvrant différents secteurs d'activité,
parmi lesquels :

 Conseil en  Développement  Développement des  Formation des


informatique des App mobile App web et Logiciels entreprises

Figure 1 Logo Bee Coders

1.3 Présentation du projet ForMe


Dans cette section, nous exposerons les objectifs généraux du projet ainsi que la
problématique qu'il aborde. Cette introduction met en lumière les bases du projet, en précisant
ses principaux objectifs et les défis qu'il ambitionne de relever.

1.3.1 Objectif général de Notre projet


• Forme :

Figure 2 Logo de Forme

Un espace en ligne accessible à tous, où les clients peuvent facilement trouver et


s'inscrire à des formations, et où les centres peuvent promouvoir leurs formations et services
avec aisance.

1.3.2 Problématique
En Tunisie, bien que les opportunités de formation soient nombreuses, l'accès à une
plateforme centralisée demeure un défi majeur. Les étudiants peinent à obtenir des informations
actualisées, et les compagnies de formation rencontrent des difficultés à promouvoir
efficacement leurs programmes. De plus, le manque de concurrence entre les centres de
formation impacte négativement les prix et la qualité des formations offertes.

13
1.4 Etude préalable
Dans cette section, nous abordons une étude préliminaire qui se divise en trois volets
principaux : l'analyse de l'existant, sa critique, et enfin, la proposition de solutions.

1.4.1 Etude de l’existant


Actuellement, il est souvent compliqué de trouver une plateforme répertoriant les
formations en Tunisie en fonction de leur proximité. Afin de remédier à ce problème, plusieurs
plateformes tunisiennes ont tenté de proposer des solutions. Voici quelques exemples de
solutions existantes pour les centres de formation :

[Link] A l’échelle national

• TanitJob : TanitJob est une application innovante en Tunisie dédiée à l'emploi et au


développement de carrière. Elle permet aux utilisateurs de trouver rapidement et efficacement
des offres d'emploi près de chez eux. Que vous cherchiez un poste dans l'administration, la
technologie, la santé, le commerce ou tout autre secteur, TanitJob vous met en contact avec des
employeurs de confiance et des opportunités de carrière prometteuses.

Figure 3 Logo de Tanitjobs

• FormationTunisie : Est une plateforme ou un réseau dédié à la formation professionnelle en


Tunisie. Elle offre une gamme variée de formations destinées à améliorer les compétences
professionnelles des individus et à répondre aux besoins du marché du travail local.

Figure 4 Logo de Formation Tunisie

• FabSkill : Une plateforme en ligne dédiée au développement des compétences


professionnelles. Elle propose une variété de formations, de cours et de ressources pour aider
les individus à améliorer leurs compétences et à progresser dans leur carrière. FabSkill met en
relation les apprenants avec des experts dans divers domaines, offrant ainsi des opportunités
d'apprentissage personnalisées et adaptées aux besoins spécifiques de chaque utilisateur.

Figure 5 Logo de Fabskill

14
[Link] A l’échelle international

• MaFormation : est une plateforme en ligne dédiée à la formation professionnelle et continue.


Elle permet aux utilisateurs de rechercher et de comparer une large gamme de formations
proposées par divers organismes de formation. Les formations couvrent de nombreux domaines
tels que la gestion, la finance, l'informatique, le marketing, et bien d'autres.

Figure 6 Logo de MaFormation

1.4.2 Critique de l’existant


 Analyse du marché national et international
Voici l'analyse du marché en ligne en Tunisie.

Point fort + Point faible -

• Application facile a utilisé • Une interface graphique très rudimentaire


Tanitjob • Une large base de données pour les • L'espace de formation est parachuté et désordonné
postes d'embauche et les stages • ne prend pas en compte la proximité
• Top 10 Meilleurs Centres De • La liste est statique et ne contient que des formations
Formation Formation Privés En Tunisie étatiques.
Tunisie
• Une interface graphique très basique
• Les formations sont très bien • La proximité n'est pas prise en compte.
fabskill expliquées. • Il y a des confusions dans les textes à cause d'une
interface chargée et désordonnée.
MaFormation • Divers domaines • Pour utiliser les fonctionnalités de ce site, vous devez
résider en Europe.
Tableau 1 Analyse du marché

1.4.3 Solution proposée


À la suite de notre analyse approfondie de la situation actuelle, nous avons relevé
plusieurs défis concernant l'accès à l'éducation en Tunisie. Pour résoudre ces problématiques,
nous proposons la création d'une plateforme éducative innovante nommée ForMe. Cette
solution révolutionnaire a pour but de centraliser toutes les formations disponibles dans le pays,
offrant ainsi aux étudiants une expérience unifiée et simplifiée. Grâce à notre approche axée sur
la proximité géographique, ForMe recommandera des formations adaptées à la localisation de
chaque utilisateur, garantissant ainsi une accessibilité optimale. Chaque centre de formation
disposera d'un espace spécifique pour présenter ses programmes de manière détaillée,
constituant ainsi une base de données complète et centralisée. La participation active des
utilisateurs sera encouragée, tout en maintenant un contrôle strict des contenus grâce à notre
équipe d'administration.

15
Un système d'évaluation et de sanctions aidera à préserver un environnement
respectueux et sécurisé, tandis que des alertes automatiques informeront les administrateurs en
cas de comportements inappropriés. Avec ForMe, nous sommes résolus à développer une
plateforme éducative inclusive, éthique et technologique pour répondre aux besoins éducatifs
en Tunisie. Notre mission inclut :
• Le Développement d'une plateforme web intuitive et sécurisée pour le secteur de la
formation. : Nous créons une plateforme complète qui facilitera l'inscription des utilisateurs,
garantira une authentification sécurisée grâce à notre système de journaux, et permettra une
gestion intuitive de leur profil utilisateur.

• Optimisation de l'Expérience Utilisateur : Nous priorisons l'amélioration de l'expérience


utilisateur en simplifiant la gestion des utilisateurs et des centres de formation, tout en offrant
des options de personnalisation aux centres pour mieux attirer leur public cible.

• Recommandation des formations : Nous simplifions les processus de recherche pour les
utilisateurs, notamment pour l'inscription à des formations grâce à notre système de
recommandation basé sur les préférences de chaque client.

• Gamification et Motivation : Récompenses et Avantages pour nos Utilisateurs : Notre


application contient un système de niveaux, de badges et de points d'expérience (XP) pour
renforcer et motiver les clients à contribuer à notre plateforme Web. Elle les encourage à
participer à plusieurs formations, à obtenir des badges spéciaux et à atteindre des niveaux
avancés, avec des récompenses et des remises sur les formations de leur choix.

• Notifications Instantanées : Sécurité, Suivi et Récompenses pour une Expérience


Utilisateur Optimale : Nous proposons un système de notification rapide et efficace pour
guider et interagir avec les actions de l'utilisateur. Nous informons nos clients de tous les
processus en cours, notamment en cas de double authentification et du nombre
d'authentifications requises pour garantir la sécurité et la confiance de nos clients. Une
réduction, l'obtention d'un nouveau badge, ou toute autre action sera mise en œuvre pour les
accompagner et les guider plus rapidement dans leurs démarches.
• Gestion Optimisée des Centres de Formation : Nous offrons aux centres de formation la
possibilité de gérer tous les aspects de leur profil, y compris les formations proposées, leurs
préférences et leur personnel enseignant. De plus, nous avons intégré un système de
recommandation basé sur les préférences des utilisateurs, permettant aux centres de promouvoir
leurs activités de manière plus efficace sur notre plateforme Web.
.

16
1.5 Méthodologie de travail
Dans cette section, nous analysons les approches agiles pour garantir l'atteinte des
objectifs fixés. Contrairement aux méthodes traditionnelles de conception logicielle, les
méthodologies agiles se montrent plus pragmatiques et encouragent une participation active du
client tout au long du processus de développement. Cette implication permet de répondre de
manière réactive aux besoins réels du client, plutôt que de se limiter à une stricte conformité
avec les termes du contrat de développement. De plus, les méthodologies agiles ont prouvé leur
capacité à augmenter la productivité et à réduire les délais de livraison.

Figure 7 SCRUM

1.5.1 Choix du cadre SCRUM


Pour mener à bien ce projet, il est essentiel d'adopter une approche structurée permettant
de définir clairement les différentes fonctionnalités requises. Dans notre situation, nous avons
opté pour l'application de la méthodologie Scrum, celle-ci est particulièrement adaptée pour
garantir la conformité et la qualité du produit final. Scrum est structuré autour de cycles
d'itérations répétitifs appelés "Sprints». Voici les raisons qui nous ont conduit à adopter Scrum
Cadre structuré : Scrum offre une structure claire avec des rôles définis et des
événements réguliers, facilitant ainsi la planification et l’exécution des projets.
Flexibilité et adaptation : permet de s'adapter rapidement aux changements grâce à
des itérations courtes et à la priorisation des fonctionnalités en fonction des besoins des clients.
Amélioration continue : promeut une amélioration constante grâce à des rétrospectives
fréquentes qui permettent à l'équipe de tirer des enseignements de chaque itération.
Communication et transparence : encourage une communication ouverte et
transparente entre les membres de l'équipe et les parties prenantes. Leur engagement facilite
l'alignement des attentes et garantit une résolution rapide des problèmes.

1.5.2 Les rôles dans la méthodologie SCRUM


La méthodologie SCRUM s'appuie sur la collaboration de trois acteurs clés.

17
 Product Owner : Chargé de maximiser la valeur du projet, il est responsable de la
gestion du Backlog, ainsi que de la définition et de la priorisation des exigences selon
les besoins des parties prenantes.
 Scrum Master : Il supervise l'avancement du projet et les activités de l'équipe, tout en
jouant un rôle de coach. Il organise les réunions SCRUM, facilite le processus, aide
l'équipe à adopter les bonnes pratiques, élimine les obstacles et améliore les interactions
au sein de l'équipe.
 Équipe de développement : Un groupe de professionnels indépendants responsable de
la planification, de la conception, du développement et des tests du projet.
Chez Bee Coders, Monsieur Ahmed Neffati occupe les rôles de Product Owner et de
Scrum Master. Il est responsable de la gestion des priorités du projet et de la facilitation du
processus SCRUM, garantissant ainsi une collaboration efficace et l'atteinte des objectifs
fixés.

Figure 8Explication méthode scrum

Conclusion
Dans ce premier chapitre, nous avons fourni une vue d'ensemble du projet. Nous avons
commencé par établir le cadre général du stage et introduire l'organisme d'accueil, Bee Coders,
en mettant en lumière ses services. Ensuite, nous avons décrit le projet en précisant ses objectifs
généraux et la problématique qu'il vise à résoudre. Nous avons également effectué une étude
préliminaire, incluant une analyse de l'existant, une critique de celui-ci, ainsi que la solution
proposée pour remédier aux lacunes identifiées. Enfin, nous avons présenté la méthodologie de
travail adoptée, fondée sur le cadre SCRUM,pour assurer une bonne exécution de ce projet.
Cette approche méthodique et structurée nous permettra d'atteindre les objectifs fixés de
manière efficace et rigoureuse.

18
2 Analyse et Spécification desBesoins
Introduction

Dans ce chapitre, nous nous concentrerons sur le Sprint 0, qui englobe l'analyse et la définition
des besoins. Nous commencerons par identifier les parties prenantes impliquées dans le projet,
puis nous examinerons en détail les besoins fonctionnels et non fonctionnels.. Par la suite, nous
présenterons notre diagramme global des cas d'utilisation ainsi que le backlog du produit. De
plus, notre diagramme de classe sera inclus pour représenter la structure du projet. Ensuite, nous
décrirons l'environnement de travail en mentionnant les langages de programmation, les
frameworks, les logiciels et le matériel utilisés. Pour conclure, nous exposerons l'architecture
globale du projet en détaillant ses composantes physiques et logiques.

2.1 Identification des acteurs de notre application


Les acteurs impliqués dans cette solution incluent
• Les visiteurs : Il s'agit des utilisateurs non authentifiés qui consultent la plateforme.
• Les clients : ce sont des Utilisateurs inscrits dans la plateforme.
• Les formateurs : utilisateurs enregistrés ayant accès à des services spécifiques sur la
plateforme, leur permettant de consulter les formations qui leur sont assignées par leur centre
et de voir les centres auxquels ils sont affiliés.
• Les centres de Formation : Utilisateurs enregistrés qui profitent des services de formation
offerts sur la plateforme.
• L’administrateur : Administre l'ensemble des éléments de la plateforme.

• Les modérateurs : Ils sont désignés par l'administrateur pour superviser des sections
spécifiques de la plateforme.

L'utilisateur peut occuper le rôle d’administrateur, modérateur, client ou


responsable de centre de Formation.

2.2 Étude des besoins


Dans cette section, nous examinons les besoins fonctionnels et non fonctionnels de la
plateforme pour définir avec précision les fonctionnalités nécessaires et les contraintes à
respecter afin d'assurer son bon fonctionnement.

2.2.1 Les besoins fonctionnels


• Les Visiteurs : sont des utilisateurs non authentifiés qui peuvent accéder à la page d'accueil,
consulter la liste des formations, des centres, des événements et des formateurs, ainsi que

19
s'inscrire sur la plateforme.

 Les clients
Inscription : Les utilisateurs ont la possibilité de créer un compte sur la plateforme en
renseignant des informations de base telles que leur nom, prénom, adresse e-mail et mot de
passe.

Connexion: Les utilisateurs peuvent s'authentifier à l'aide de leur adresse e-mail et de leur mot
de passe.

Mot de passe oublier : L’utilisateur peut modifier son mot de passe par un envoi d’un mail
Consulter liste des formations : L'utilisateur peut consulter la liste des formations
recommander selon ses préférences et par catégorie avec un filtrage et trie data.
Gestion compte utilisateur: Chaque utilisateur possède un profil personnel lui permettant de
gérer ses informations, telles que son nom, son prénom, sa photo de profil et ses préférences. Il
peut également consulter ses points d'expérience, son niveau et ses badges, ainsi que sa liste de
favoris et ses inscriptions Les utilisateurs ont la possibilité de consulter et de modifier leurs
préférences ainsi que leur mot de passe à tout moment.
Sécurité : L’utilisateur peut modifier son mot de passe d’Une façon sécurisée.
Préférences : L'utilisateur peut saisir ses préférences personnelles des infos utiles pour le
système de recommandation.
S’inscrire à une formation : L'utilisateur peut S’inscrire facilement à une formation
Ajouter aux favoris : L'utilisateur peut ajouter facilement une formation aux favoris.

Évaluation par Étoiles : Les utilisateurs peuvent attribuer des évaluations par étoiles aux
formations. Ces avis facilitent la prise de décision pour les autres utilisateurs et offrent des
retours précieux aux centres ainsi qu'au formateur concerné..

Consulter liste des notifications : L'utilisateur peut consulter la liste de ces notifications.
Consulter son niveau, badges et point XP : L'utilisateur peut consulter son niveau et visualiser
ses badges et point XP

Figure 9 Besoins Fonctionnels des Utilisateurs

20
 Les centres de formation

Gestion compte: Chaque centre dispose d'un profil personnel où il peut gérer ses informations
personnelles telles que son nom, prénom sa photo de profil et c’est préférences. Il peut
également consulter la liste de ses formateurs, ainsi que consulter la liste de ses formations. Les
centres de formation ont la possibilité de consulter et de modifier leur stuff et formation à tout
moment.
Ajouter un formateur : Chaque centre peut ajouter ou retire un formateur de son équipe
Gestion des formations : Chaque centre peut ajouter modifier ou supprimer une formation
Sécurité : Chaque centre peut modifier son mot de passe d’Une façon sécurisée.
Ajouter ses préférences : Chaque centre peut ajouter des préférences
Consulter liste des notifications : Chaque centre peut consulter la liste de ces notifications.
Consulter son niveau, badges et point XP : Chaque centre peut consulter son niveau et
visualiser ses badges et point xps

Figure 10 Besoins Fonctionnels des Centres de formation

 Les Administrateurs
Gestion des Utilisateurs : L'administrateur contrôle tous les utilisateurs de la plateforme. Il
peut rechercher un utilisateur par son nom, filtrer les utilisateurs par rôle, puis les trier, voir les
utilisateurs connectés à cet instant, ajouter ou archiver un utilisateur, modifier les détails d'un
utilisateur ou son mot de passe, ou encore désactiver un compte.
Gestion des logs : L'administrateur uniquement peut visualiser la liste de tous les logs de la
plateforme. Toute action ou requête passée dans l'application sera enregistrée ici.
Gestion des Badges : L'administrateur a la possibilité d'ajouter des badges pour récompenser
les centres de formation et leur engagement sur la plateforme, ainsi que pour motiver les
utilisateurs. Il peut également modifier ou supprimer ces badges.
Gestion des niveaux : : L'administrateur a la possibilité d’ajouter des niveaux. Il peut
également modifier les accès à cette niveau
Gestion des xps : L'administrateur a le contrôle sur les XP. Il peut ajouter ou diminuer 50 XP,
et tout changement de XP entraîne automatiquement la modification du niveau en fonction des
XP. Un utilisateur peut ainsi gagner des niveaux ou en perdre, de manière automatique.
Gestion des notifications : L'administrateur peut voir la liste des notifications pour tous les
21
utilisateurs. Il peut créer une notification personnalisée pour un utilisateur en cas de besoin
Gestion des formations : il a aussi le contrôle sur la liste des formations. Il peut supprimer,
modifier créer une formation en choisissant le centre et le formateur.
Gestion des évènements : il a accès à Ajouter et modifier ou supprimer un événement.

Figure 11 Besoins Fonctionnels des Administrateurs

 Les modérateurs
Gestion des Badges : L’modérateur a la possibilité d’ajouter des badges pour récompenser les
centres de beauté en fonction de leurs performances et de leur engagement sur la plateforme et pour
les utilisateurs pour les motiver. Il peut également modifier, supprimer.
Gestion des niveaux : L’modérateur a la possibilité d’ajouter des niveaux. Il peut également
modifier les accès à cette niveau
Gestion des xps : L’modérateur a le contrôle sur les XP des utilisateurs. Il peut ajouter ou diminuer
XP, et tout changement de XP entraîne automatiquement la modification du niveau en fonction des
XP. Un utilisateur peut ainsi gagner des niveaux ou perdre, de manière automatique.
Gestion des notifications : L’modérateur peut voir la liste des notifications pour tous les
utilisateurs. Il peut créer une notification personnalisée pour un utilisateur en cas de besoin
Gestion des formations : il a aussi le contrôle sur la liste des formations. Il peut supprimer,
modifier ou créer une formation en choisissant le centre et le formateur.
Gestion des évènements : il a accès à ajouter et modifier ou supprimer un événement.

Figure 12 Besoins Fonctionnels des Modérateurs

2.2.2 Les Besoins non fonctionnels

Ergonomie : L'interface utilisateur a été conçue pour être intuitive et réactive, avec un design
responsif. Nous avons intégré des normes d'accessibilité pour garantir une utilisation fluide et
sans entrave pour tous les utilisateurs, en tenant compte des différents rôles et niveaux d'accès.

Traçabilité : Nous avons mis en place un système de journalisation qui enregistre toutes les
actions critiques (authentification, modification de données) afin de faciliter l'audit et l'analyse
22
ultérieure. De plus, chaque modification du système doit être tracée pour assurer une gestion
efficace des versions et permettre une réversibilité en cas de problème.
Sécurité : Dans le but de renforcer la sécurité, nous avons mis en place un système
d'authentification et d'autorisation robuste en utilisant des JSON Web Tokens (JWT) pour
protéger les sessions utilisateur contre les falsifications de jetons. De plus, nous utilisons
l'algorithme bcrypt pour garantir un hachage sécurisé des mots de passe avant leur stockage
dans la base de données, offrant ainsi une protection efficace contre les attaques par force brute.

2.3 Diagramme de cas d'utilisation globale


Le diagramme de cas d'utilisation global offre une vue d'ensemble des interactions
clés entre les acteurs et le système.

Figure 13 Diagramme de cas d'utilisation globale Forme

2.4 Backlog du produit


Voici le product backlog, qui répertorie de manière détaillée les fonctionnalités et les
tâches prioritaires à réaliser. L'utilisateur peut être un client, un formateur ou un centre de
formation.
23
ID Module de fonctionnalités User Story de notre aplication Priorité
En tant qu'utilisateur, je veux pouvoir m'inscrire sur la plateforme.
1 Gestion de élevé
l'inscription de En tant qu'utilisateur, je va recevoir un courriel de confirmation pour
notre Platform poursuivre la création du compte
En tant que centre de formation, je souhaite recevoir un e-mail de
confirmation après mon inscription sur la plateforme.
En tant qu'utilisateur, je veux m'authentifier sur mon compte sur la
2 Gestion de élevé
plateforme.
l'authentification En tant qu'administrateur, je veux m'authentifier sur mon compte sur
la plateforme.
En tant que modérateur, je veux m'authentifier à mon compte sur la
plateforme.
En tant que formateur, je veux m'authentifier à mon compte sur la
plateforme.
En tant qu'utilisateur, je veux réinitialiser mon mot de passe si je l'ai
oublié, en recevant un lien de réinitialisation par Email.
En tant qu'administrateur, je souhaite pouvoir accéder à la liste
3 Gestion des élevé
complète de tous les utilisateurs inscrits sur la plateforme.
utilisateurs Veuillez développer cette fonctionnalité.
En tant qu'administrateur, je désire avoir la possibilité de trie filtre
et chercher dans la liste de tous les utilisateurs inscrits sur la
plateforme.
En qualité d'administrateur, je désire avoir la possibilité de
modifier les rôles des utilisateurs sur la plateforme selon les
besoins.
En qualité d'administrateur, je désire avoir la possibilité d’archiver
ou de désarchiver un utilisateur sur la plateforme selon les besoins.
En qualité d'administrateur, je désire avoir la possibilité de
suspendre ou de réactiver un utilisateur sur la plateforme selon les
besoins.
En tant qu'administrateur, je désire avoir la possibilité de ajouter
un compte d’utilisateur sur la plateforme.
En tant qu'utilisateur je peux consulter mon profile
4 Gestion profile élevé
utilisateur En tant qu'utilisateur, j'aimerais avoir la possibilité de modifier mes
informations de profil, comme mon nom, prénom et ma photo de
profil
En tant qu'utilisateur, j'aimerais avoir la possibilité de modifier
mon mot de passe et tout sécurité
En tant qu'utilisateur je peux consulter mes préférences
5 Gestion des élevé
En tant qu'utilisateur je peux ajouter mes préférences
préférences
En tant qu'utilisateur je peux modifier mes préférences
En tant qu'utilisateur je souhaite consulter la liste des formation
6 Gestion des élevé
En tant qu'utilisateur je veux avoir un filtrage , trie et recherche
formations des formation
En tant qu'utilisateur je veux avoir une recommandation des
24
formation
En tant que modérateurs et administrateur je souhaite ajouter une
formation
En tant que modérateurs et administrateur je souhaite modifier une
formation
En tant que modérateurs et administrateur je souhaite supprimer
une formation
En tant qu'utilisateur, je veux que le site recommande des élevé
7 Gestion des
formations en fonction de mes préférences.
recommandations
En tant qu'utilisateur je souhaite consulter la liste des formations
8 Gestion des élevé
En tant qu'utilisateur je souhaite consulter la liste de mes
inscription au
inscriptions
formation En tant qu'utilisateur je souhaite s’inscrire dans une formation
En tant qu'utilisateur je souhaite retire mon inscrire dans une
formation
Gestion de En tant que centre de formation je souhaite consulter la liste des élevé
9 l'équipe formateur
enseignante. En tant que centre de formation je souhaite affecter un formateur à
mon équipe
En tant que centre de formation je souhaite désaffecter un
formateur à mon équipe
En tant qu'utilisateur, je veux avoir accès de consulter les
10 Gestion des Moyenne
évaluations laissées par d'autres utilisateurs concernant les
évaluations formation.
En tant qu'utilisateur, je veux pouvoir évaluer la formation en
attribuant des étoiles.
En tant que modérateurs et administrateur je veux ajouter un
11 Gestion des Moyenne
niveau
Niveaux En tant que modérateurs et administrateur je souhaite modifier un
niveau
En tant qu'utilisateur je peux consulter mon niveau
En tant que modérateurs et administrateur je souhaite ajouter un
12 Gestion des Moyenne
Badges
Badges En tant qu'utilisateur je souhaite obtenir des badges en fonction de
mon activité et de mon engagement sur la plateforme.
que modérateurs et administrateur je souhaite modifier un Badges
En tant que modérateurs et administrateur je souhaite ajouter 50
13 Gestion des points Moyenne
point XP a un utilisateur
XP En tant que modérateurs et administrateur je souhaite supprimer
50 point XP a un utilisateur
En tant que modérateurs et administrateur je souhaite affecter un
badge a utilisateur
En tant qu'utilisateur je peux consulter mes badges
En tant qu'utilisateur, je souhaite consulter la liste des favoris
14 Gestion la liste de Moyenne
En tant qu'utilisateur, je souhaite ajouter une formation au favoris
25
favoris En tant qu'utilisateur, je souhaite retire une formation du favoris
En tant qu'utilisateur, je souhaite consulter la liste des évènement faible
15 Gestion des
En tant que modérateurs et administrateur je souhaite ajouter un
évènement évènement
En tant que modérateurs et administrateur je souhaite modifier un
évènement
En tant que modérateurs et administrateur je souhaite supprimer
un évènement
Gestion des En tant qu’administrateur je souhaite visualiser les logs faible
16 journaux En tant qu’administrateur je souhaite filtre et tire les logs
En tant que plateforme je souhaite sauvegarder les logs de tout
action
Gestion des En tant que client je souhaite consulter mes notification faible
17 notifications En tant qu’administrateur je souhaite notifier un client
En tant que plateforme je souhaite notifier un client
Tableau 2 Backlog du produit

2.5 Diagramme de classe


Le diagramme de classe illustre les différentes classes du système, ainsi que leurs
attributs, méthodes et relations, fournissant ainsi une vue d'ensemble claire de la structure
statique de l'application.

Figure 14 Diagramme de classe

26
2.6 Environnement de travail dans ce stage
2.6.1 Frameworks et Langages utilisés
• Node js est un environnement d'exécution JavaScript côté serveur, construit sur le
moteur JavaScript V8 de Chrome. Contrairement à JavaScript qui est traditionnellement
exécuté dans un navigateur, [Link] permet d'exécuter du code JavaScript sur un serveur,
ce qui en fait une technologie puissante pour le développement BackEnd.

Figure 15 Logo Node js

• Express js est un framework web minimaliste et flexible pour [Link], conçu pour simplifier
le développement d'applications et d'API web. C'est l'un des frameworks les plus populaires
dans l'écosystème [Link], souvent utilisé dans le stack MERN.

Figure 16 Logo Express js

• React js est une bibliothèque JavaScript développée par Facebook pour créer des interfaces
utilisateur dynamiques et réactives. C'est l'un des outils les plus populaires pour le
développement front-end, notamment utilisé dans des stacks comme MERN.

Figure 17 Logo React

• Tailwind css est un framework CSS utilitaire qui permet de construire rapidement des
interfaces utilisateur sans avoir à écrire du CSS personnalisé. Il est conçu pour être flexible et
minimaliste, en fournissant des classes utilitaires prédéfinies directement dans votre HTML.

Figure 18 Logo Tailwind css

• Bootstrap est un framework CSS open-source développé par Twitter qui facilite la création
de sites web et d'applications responsives. Il fournit une collection de styles, de composants et
de plugins JavaScript pour aider à concevoir des interfaces utilisateur modernes et cohérentes.

Figure 19 Logo Bootstrap

27
2.6.2 Environnement Logiciel
• MongoDB Compass est une interface graphique pour MongoDB qui permet de
visualiser, interagir et gérer les bases de données MongoDB sans avoir besoin d'utiliser la
ligne de commande.

Figure 20 Logo MongoDB Compass

• MongoDB atlas est un service de base de données dans le cloud géré par MongoDB. Il permet
de déployer, gérer et faire évoluer des bases de données MongoDB sur des plateformes cloud
comme AWS, Google Cloud, et Azure.

Figure 21 Logo MongoDB atlas

• Postman est un outil populaire pour le développement et le test d'APIs. Il offre une interface
graphique conviviale pour créer, tester et gérer des requêtes HTTP et des API.

Figure 22 Logo Postman

• Docker est une plateforme de conteneurisation qui permet de développer, expédier et exécuter
des applications de manière cohérente et portable. Les conteneurs Docker encapsulent une
application et ses dépendances dans un environnement isolé, assurant que l'application
fonctionne de manière uniforme, peu importe l'endroit où elle est déployée.

Figure 23 Logo Docker

• Github est une plateforme de développement collaboratif basée sur Git, un système de gestion
de versions décentralisé. GitHub permet aux développeurs de stocker, gérer et collaborer sur du
code source.

Figure 24 Logo de GitHub

• StarUML est un outil de modélisation UML conçu pour créer des diagrammes de
modélisation dans le développement de logiciels. Il est utilisé pour concevoir, documenter et
analyser des systèmes logiciels en utilisant des diagrammes standardisés.

Figure 25 Logo de StarUML

• Webstorm est un environnement de développement intégré (IDE) développé par JetBrains,


spécialement conçu pour le développement web..

Figure 26 Logo de webstorm


28
• WakaTime est un outil de suivi du temps de codage qui fournit des statistiques détaillées sur
le temps que vous passez à travailler sur vos projets de programmation

Figure 27 Logo de WakaTime

• Render est un cloud unifié pour créer et exécuter toutes vos applications et sites Web avec
des certificats TLS gratuits, un CDN mondial, des réseaux privés et des déploiements
automatiques depuis Git.

Figure 28 Logo de render

• Netlify est une plateforme de déploiement et d'hébergement qui permet de créer, déployer et
gérer des sites web modernes et des applications web sans avoir à se soucier de l'infrastructure.

Figure 29 Logo de netlify

• Figma est un éditeur de graphiques vectoriels et un outil de prototypage. Il est principalement


basé sur le web, avec des fonctionnalités hors ligne supplémentaires activées par des
applications de bureau pour macOS et Windows.

Figure 30 Logo de Figma

2.6.3 Exemple d'utilisation


• Sketch Up Figma Pour la création de Template web, il est préférable d'utiliser des outils de
design d'interface utilisateur (UI) et de prototypage tels que Figma ou Sketch.

Figure 31Exemple d'utilisation sketchup Figma

• Wireframes Figma sont des schémas simples qui représentent la structure et la disposition
de l'interface d'un site web ou d'une application.

Figure 32Exemple d'utilisation Wierframes figma

29
• Désigne Système est un ensemble de normes, de règles, de principes et de composants
réutilisables qui guide la création d'interfaces utilisateurs cohérentes et harmonieuses au sein
d'une application ou d'un site web.

Figure 33Exemple d'utilisation Désigne Système

• Mongo DB Atlas est une plateforme de base de données MongoDB en tant que service
(DBaaS) entièrement gérée, proposée par MongoDB Inc.

Figure 34 Exemple d'utilisation MongoDB Atlas

• Mongo DB compass est une interface graphique (GUI) pour interagir avec une base de
données MongoDB.

Figure 35 Exemple d'utilisation MongoDB Compass

• Repo GitHub FrontEnd

Figure 36 Mise en Ligne du Frontend sur GitHub

• Repo GitHub BackEnd

Figure 37 Mise en Ligne du Backend sur GitHub


30
• Docker Hub
Nous utilisons Docker Hub pour déployer et gérer les images de notre application web,
assurant ainsi une intégration et un déploiement continus efficaces.

Figure 38 Déploiement DockerHub FrontEnd

Figure 39 Déploiement DockerHub BackEnd

• Netlify

Figure 40 Exemple d'utilisation Netlify

• Render

Figure 41 Exemple d'utilisation Render

2.6.4 Environnement matériel


L'architecture matérielle mise en place pour la réalisation du projet est la suivante :
Marque Asus tuf f15
Processus Intel Core i5-11400H
Mémoire (Ram) 32 GO
Carte graphique NVIDIA GeForce RTX 3050 ti
Système d'exploitation Windows 11
Tableau 3 Environnement matériel

31
2.7 Architecture globale
Dans cette section, nous décrivons l'architecture générale de la plateforme en analysant
ses dimensions physiques et logiques.

2.7.1 Architecture Physique


Notre architecture s'appuie sur des technologies modernes, notamment React, [Link],
Express et MongoDB Atlas. L'utilisateur interagit avec l'application à travers un navigateur,
envoyant des requêtes HTTP au serveur, qui est géré par [Link] et Express. Le serveur traite
ces requêtes en se connectant à une base de données MongoDB, hébergée sur MongoDB Atlas
en production et sur MongoDB Compass lors du développement, et renvoie les données au
format JSON.

Figure 42Notre Architecture Physique

2.7.2 Architecture Logique


Dans notre architecture logique, React s'appuie sur des composants pour structurer la
logique mé[Link] présentation et les styles, chaque composant étant constitué de fichiers
JavaScript, HTML et SCSS. Pour communiquer avec le backend Express, React fait appel à des
services HTTP pour envoyer des requêtes vers les endpoints exposés par les contrôleurs
Express. Les données sont modélisées à l'aide de modèles. Du côté d'Express, nous utilisons
une architecture MVC, où les contrôleurs reçoivent les requêtes HTTP et interagissent avec des
services pour gérer la logique métier.

Figure 43Notre Architecture Logique

32
2.8 Sprint Backlog Général de notre application
Le Sprint Backlog général de notre application recense les tâches et fonctionnalités à
développer pour chaque sprint, fournissant ainsi une vue d'ensemble de la gestion des sprints.
Sprint i Taches
Sprint 0 Analyse + spécification des besoins + Cahier de charge + conceptions
Sprint 1 Gestion des Inscriptions
Gestion des authentifications
Sprint 2 Gestion des utilisateurs
Gestion Profil utilisateur
Sprint 3 Gestion des préférences
Gestion de l'équipe enseignante.
Sprint 4 Gestion des formations
Gestion des recommandation
Sprint 5 Gestion des inscriptions
Gestion des journaux
Sprint 6 Gestion la liste de favoris
Gestion des Badges
Sprint 7 Gestion des Niveaux
Gestion des XP
Sprint 8 Gestion des évaluations
Gestion des évènement
Sprint 9 Gestion des notifications
Tableau 4 Sprint Backlog Général de notre application

Conclusion
Dans ce deuxième chapitre, nous avons effectué une analyse approfondie des besoins
du projet lors du sprint 0. Nous avons identifié les acteurs du système, examiné les besoins
fonctionnels et non fonctionnels, et présenté le diagramme global des cas d'utilisation. De plus,
nous avons constitué le backlog du produit ainsi que le backlog général du sprint. Nous avons
également étudié le diagramme de classe et décrit l'environnement de travail, en précisant les
langages de programmation et les frameworks utilisés. Enfin, nous avons détaillé l'architecture
globale du système, tant sur le plan physique que logique.

33
3 Sprint 1 : Gestion de l'inscription et de
l'authentification
Introduction Sprint 1
Dans ce chapitre, nous avons examiné le premier sprint, axé principalement sur la
gestion de l'inscription et de l'authentification. Notre objectif était de développer les
fonctionnalités de base permettant aux utilisateurs de se connecter au système de manière
sécurisée. En outre, nous avons réalisé une analyse approfondie du sprint, incluant le sprint
backlog ainsi que les diagrammes associés, avant de passer à la phase de mise en œuvre.

3.1 Objectif du Sprint


Lors de ce sprint consacré à la gestion de l'inscription et de l'authentification, nous avons
développé des fonctionnalités essentielles permettant aux utilisateurs de s'inscrire et de se
connecter en toute sécurité à notre plateforme Web, ainsi que de réinitialiser leurs mots de passe
en cas d'oubli. Parallèlement, nous avons pris des décisions importantes, notamment en ce qui
concerne la charte graphique et la structure de l'application. En intégrant des fonctionnalités
telles que le contrôle d'accès basé sur les rôles via l'utilisation de JWT (JSON Web Tokens),
permettant une gestion sécurisée et personnalisée des permissions, et en optimisant les
performances grâce à la technique du chargement différé (Lazy Loading), qui permet de charger
les ressources uniquement lorsque cela est nécessaire, Nous nous sommes assurés de proposer
une expérience utilisateur fluide, aussi bien pour les administrateurs et les modérateurs que pour
les clients.

3.2 Analyse du sprint 1


Cette section fournit une analyse du premier sprint consacré à la gestion de l'inscription
et de l'authentification, en incluant le sprint backlog ainsi que les diagrammes correspondants.

3.2.1 Sprint Backlog


L'objectif de ce sprint est de mettre en place l'inscription et l'authentification des
utilisateurs, incluant la confirmation par e-mail ainsi que la fonctionnalité de réinitialisation du
mot de passe.
ID Feature Module User Story de notre application Taches Estimation
En tant qu'utilisateur, je souhaite Création du model .
Gestion de m'inscrire sur la plateforme. Créer un Formulaire d'Inscription. 20 Jours
l'inscription En tant que centre de formation, je Implémenter l'envoi automatique
souhaite recevoir un courriel de d'E-mails de confirmation
confirmation après m'être inscrit d'inscription.

34
sur la plateforme.

1 En tant qu'utilisateur, je va recevoir Création du l’interface de création


un courriel de confirmation pour du compte pour c’est rôle
poursuivre la création du compte Configuration de l’email et la
redirection
En tant qu'utilisateur, Configurer L’authentification
2 Je souhaite m'authentifier sur mon Créer le formulaire
Gestion de compte dans la plateforme . d'authentification côté Front end 20 Jours
l'authentification Gérer les sessions des utilisateurs
En tant 'administrateur, je souhaite Configurer l'authentification côté
m'authentifier sur mon compte dans Back end pour l'administrateur
la plateforme . Gérer l'authentification et
les sessions propre à
l’administrateur
En tant que modérateur, je souhaite Configurer l'authentification côté
m'authentifier à mon compte dans Back end
la plateforme . Gérer l'authentification
En tant qu'utilisateur, je souhaite Configurer le service d'envoi d'E-
réinitialiser mon mot de passe si je mails pour la réinitialisation de mot
l'ai oublié, en recevant un lien de de passe
réinitialisation par Email. Créer l’interface de réinitialisation
de mdp
Tableau 5 Sprint Backlog - Sprint 1

3.2.2 Diagramme des cas d'utilisation Gestion de l'inscription et de


l'authentification
Le diagramme des cas d'utilisation comprend l'inscription des utilisateurs,
l'authentification ainsi que la réinitialisation du mot de passe.

Figure 44 Diagramme des cas d'utilisation du sprint 1 Gestion de l'inscription et de l'authentification

35
[Link] Description textuelle des cas d'utilisation

Titre Authentification
Acteurs Client , Formateur , Centre de formation , Modérateur et administrateur
Description Lorsqu’un utilisateur veut s’authentifier, il faut créer un compte et choisir en tant
que centre de formation ou client. S'il a déjà un compte, il doit se connecter à sa
session avec son adresse mail et son mot de passe.
Pré conditions L'utilisateur n'est pas connecté et doit avoir un compte
Scénario de base 1. L’utilisateur doit entrer son adresse email pour recevoir un mail de création
du compte.
2. Vérifier son email et cliquer sur "Créer un compte" pour poursuivre la
création du compte.
3. L'utilisateur saisit ses informations d'identification (nom, prénom d'utilisateur
et mot de passe) sur la page de connexion.
4. Le système vérifie la conformité des informations.
5. Le système donne l’accès a l’interface correspondante
Scénario alternatif 1. Adresse email inexistante
2. Les information ne sont pas conforme au norme
Tableau 6 Description textuelle des cas d'utilisation du sprint 1

3.2.3 Diagramme de séquence objet du sprint 1

Figure 45 Diagramme de séquence objet du sprint 1 Gestion de l'inscription et de l'authentification

36
3.3 Réalisation
Notre Page d'accueil : La page d'accueil de notre application web est accessible à nos clients,
leur permettant de visualiser nos formations et services sans avoir besoin de s'authentifier.
Cependant, pour s'inscrire ou bénéficier de notre système de recommandations, une
authentification est requise.

Figure 46 Notre Page d'Accueil

Page vérification email : Cette page est la première que nos clients voient. Pour créer un
compte, il est nécessaire de vérifier d'abord si l'adresse e-mail existe déjà dans notre système.

Figure 47 page d'Inscription

Page Confirmation d'envoi email : Si l'e-mail existe déjà, notre plateforme ForMe enverra un
message à cette adresse pour permettre à l'utilisateur de poursuivre les étapes de création de
compte.

Figure 48 Interface Confirmation d'envoi email

Email personnaliser : Pour poursuivre la création de compte, il faut cliquer sur 'Créer mon compte'.

Figure 49 Email de Vérification de votre inscription


37
Page de création du compte : Sur cette page, nos clients doivent saisir leurs informations pour
continuer le processus de création de compte.

Figure 50 Page d'inscription de centre de formation

Page de réinitialiser mot de passe : Réinitialiser mot de passe vous devez insère votre Email

Figure 51Page reset mot de passe

Email de réinitialiser mot de passe dans cette vous recevez un mail pour réinitialiser mdp

Figure 52 Email de réinitialiser votre mot de passe

Page de connexion : Dans cette page nous utilisateur pavent s’authentifier

Figure 53page de Connexion

Conclusion
En résumé, ce sprint 1 s'est conclu avec succès, grâce à l'implémentation efficace de
fonctionnalités clés telles que l'inscription des utilisateurs, la confirmation par e-mail, et
l'authentification sécurisée pour les administrateurs, modérateurs, et utilisateurs. Ces progrès
constituent une base solide pour notre projet et renforcent notre engagement à fournir une
expérience utilisateur à la fois fluide et sécurisée.
38
4 Sprint 2 : Gestion des utilisateurs et profil
utilisateur
Introduction
Ce chapitre se consacre au sprint 2, consacré à la gestion des utilisateurs et des profils
sur notre plateforme ForMe. L'objectif était d'implémenter des fonctionnalités permettant à
l'administrateur de gérer les utilisateurs et leurs permissions, tout en offrant aux utilisateurs la
possibilité de consulter et de modifier leurs profils. Nous avons examiné ce sprint avec
attention, en intégrant le sprint backlog ainsi que les diagrammes associés, avant de passer à la
phase de mise en œuvre.

4.1 Objectif du Sprint


Au cours de ce sprint, notre objectif principal était de développer des fonctionnalités
essentielles permettant à l'administrateur de gérer les utilisateurs et d'attribuer des autorisations
spécifiques. Nous avons également visé à offrir aux utilisateurs la possibilité de consulter et de
modifier leurs profils de manière autonome. Ce chapitre abordera les différentes tâches
planifiées, telles que l'affichage de la liste des utilisateurs, le blocage ou le déblocage des
comptes, l'attribution d'autorisations aux modérateurs et la gestion des profils utilisateurs.
L'intégration de ces fonctionnalités visait à renforcer la sécurité et la gestion des accès sur notre
plateforme ForMe, tout en garantissant une expérience utilisateur fluide et personnalisée.

4.2 Analyse du sprint 2


Cette section propose une analyse du sprint 2, axée sur la gestion des utilisateurs et des
profils. Elle inclut également le backlog du sprint et les diagrammes associés.

4.2.1 Sprint Backlog


Ce sprint a pour objectif d'implémenter les fonctionnalités liées à la gestion des
utilisateurs et des profils.

ID Feature Module User Story Taches Estimation


En tant qu'administrateur, je Développer les services pour obtenir
3 20 Jours
veux avoir la possibilité de une liste paginée d'utilisateurs avec
consulter la liste de tous les d’autre fonctionnalités
utilisateurs inscrits sur la Développer l'interface d'administration
Gestion des plateforme.
pour afficher et gérer la liste de tous
utilisateurs les utilisateurs.
Configurer les Permissions des
modérateur et assurer la sécurité.

39
En tant qu'administrateur, je Développer les fonctionnalité de tir et
désire avoir la possibilité de filtrage et recherche .
trie filtre et chercher dans la
liste de tous les utilisateurs
inscrits sur la plateforme.
En tant qu'administrateur, je Développer le Service pour gérer Les
désire avoir la possibilité de rôles des utilisateurs
modifier les rôles des Développer une interface dans le
utilisateurs sur la plateforme panneau d'administration permettant
selon les besoins. aux Administrateurs de modifier les
rôles Spécifiques aux utilisateurs.
En qualité d'administrateur, je Développer les Services Nécessaires
désire avoir la possibilité pour Archiver / désarchiver un
d’archiver ou de désarchiver utilisateur.
un utilisateur sur la plateforme Ajouter des options d’Archiver et de
selon les besoins. Désarchiver dans la Liste des
utilisateurs.
En qualité d'administrateur, je Développer les Services Nécessaires
désire avoir la possibilité de pour Suspendre / réactiver un
suspendre ou de réactiver un utilisateur.
utilisateur sur la plateforme Ajouter des options Suspendre et de
selon les besoins. réactiver dans la Liste des utilisateurs.
En tant qu'administrateur, je Développer les Services Nécessaires
désire avoir la possibilité de pour ajouter un utilisateur.
ajouter un compte
d’utilisateur sur la plateforme.
En tant qu'utilisateur je peux Développer les services pour retour des
4 20 Jours
consulter mon profile informations de l'utilisateur.
Gestion Concevoir l'interface utilisateur pour
profile la manipulation du profil utilisateur.
utilisateur En tant qu'utilisateur, Développer les services pour mettre à
j'aimerais avoir la possibilité jour les informations de l'utilisateur.
de modifier mes informations Concevoir l'interface utilisateur pour
de profil, comme mon nom, la Modification du ses informations
prénom et ma photo de profil profil utilisateur.
En tant qu'utilisateur, Développer les fonctionnalité pour
j'aimerais avoir la possibilité mettre à jour mot de passe de
de modifier mon mot de passe l'utilisateur.
et tout sécurité
Implémenter la fonctionnalité de mise
à jour du mot de passe de façons
sécurisé.
Tableau 7 Sprint Backlog - Sprint 2

40
4.2.2 Diagramme des cas d'utilisation du sprint 2 Gestion Utilisateurs

Figure 54 Diagramme des cas d'utilisation du sprint 2 Gestion Utilisateurs

[Link] Description textuelle des cas d'utilisation Gestion Utilisateurs

Titre Gestion des utilisateur


Acteurs Administrateur
Description L’administrateur seul peut gérer la liste des utilisateurs. Il peut modifier les informations
personnelles de l’utilisateur, activer ou désactiver, archiver ou désarchiver, réinitialiser
le mot de passe ou modifier le rôle d’un utilisateur.
Pré conditions Il faut être authentifier
Scénario de 1 L’utilisateur demande l’accès au système en cliquant sur le bouton « Se connecter ».
base 2 Le système redirige l’utilisateur vers la page spécifique.
3 L’administrateur peut visualiser la liste des utilisateurs et modifier les informations de
l’utilisateur, modifier son mot de passe, son rôle, ou même l’activer ou le désactiver,
l’archiver ou le désarchiver, ou ajouter un utilisateur.
Scénario Email ou mot de passe non valide
alternatif : Le système affiche un message d’erreur « Votre identifiant ou votre mot de passe est
incorrect »
Tableau 8 Description textuelle des cas d'utilisation du sprint 2 Gestion Utilisateurs

4.2.3 Diagramme des cas d'utilisation du sprint 2 Gestion Profile

Figure 55 Diagramme des cas d'utilisation du sprint 2 Gestion Profile


41
[Link] Description textuelle des cas d'utilisation Gestion Profile

Titre Gestion du profile


Acteurs client , formateur , centre de formation
Description Le client, le formateur, et le centre de formation peuvent modifier leurs informations
personnelles et leur mot de passe,
Pré conditions Il faut être authentifier
Scénario de 1 Accéder au profil
base 2 Modifier ses informations professionnelles
3 Modifier son mot de passe
Scénario Le système affiche
alternatif  un message d’erreur « Votre identifiant ou votre mot de passe est incorrect »
Tableau 9 Description textuelle des cas d'utilisation du sprint 2 Gestion Profile

4.2.4 Diagramme de séquence objet du sprint 2

[Link] Diagramme de séquence objet Gestion Des utilisateurs

Figure 56 Diagramme de séquence objet du sprint 2 Gestion Utilisateur


42
[Link] Diagramme de séquence objet Gestion Des profiles

Figure 57 Diagramme de séquence objet du sprint 2 Gestion Profile

4.3 Réalisation
Dans cette section, nous allons illustrer la réalisation de ce sprint à l'aide de captures
d'écran du projet.
Dérouler de l'Utilisateur : Lorsque l'utilisateur, qu'il soit formateur ou responsable de centre,
clique sur son profil, il peut consulter les détails de son compte, ses notifications ou gère son
compte.

Figure 58 dérouler de l'Utilisateur

Profil Utilisateur voici le profile utilisateur

Figure 59 Profil Utilisateur


43
Paramètres du compte : Les utilisateurs en cliquant sur gère mon compte il peut voire les
paramètre de son profile il peut modifier ses informations personnelles ou modifier son mot de
passe dans sécurité

Figure 60• Paramètres du compte

Modifier Profil Utilisateur : Dans cette interface, l'utilisateur peut modifier ses informations
personnelles.

Figure 61 Modifier Profil Utilisateur

Modifier Mot de Passe Dans cette interface, l'utilisateur peut modifier son mot de passe de
manière sécurisée.

Figure 62•Modifier Mot de Passe

Gestion des utilisateurs par l’administrateur Seul l'administrateur a accès à cette interface,
lui permettant de gérer l'ensemble de la liste des utilisateurs à partir de cet espace.

Figure 63Gestion de tous les utilisateurs par l’administrateur

44
Recherche des utilisateurs par nom ou prénom L’administrateur il peut chercher un
utilisateur par son nom ou prénom ou les plus récent dans notre plateforme ForMe

Figure 64 Recherche des utilisateurs par nom ou prénom

Ajouter un utilisateur par un admin L’administrateur il peut ajouter tout type d’utilisateur
(client, formateur, centre de formation, modérateur ou administrateur)

Figure 65 Ajouter un utilisateur par un admin

Attribution de Rôles par un administrateur Dans cette interface, seul l'administrateur a la


possibilité de modifier les rôles des utilisateurs.

Figure 66 Attribution de Rôles par un administrateur

Sélection des utilisateurs connecter ou déconnecter au temps réelle En cliquant sur


"connecter", notre application affiche la liste des utilisateurs connectés.

Figure 67Sélection des utilisateurs connecter ou déconnecter au temps réelle

45
Trie la liste des utilisateurs par nom ou prénom ou les plus récent

Figure 68Trie la liste des utilisateurs par nom ou prénom ou les plus récent

Afficher des utilisateurs par un rôle spécifique

Figure 69Afficher des utilisateur par un rôle spécifique

Activer ou désactiver ou supprimer ou archiver un utilisateur En cliquant sur


"désactiver", notre application désactive l’utilisateur.

Figure 70Activer ou désactiver ou supprimer ou archiver un utilisateur

Modifier les informations d’un utilisateur En remplissant le formulaire et en cliquant sur


"enregistrer", les modifications seront sauvegardées.

Figure 71 Modifier les informations d’un utilisateur

Conclusion
En résumé, ce sprint 2 s'est conclu avec succès, permettant l'implémentation de
fonctionnalités essentielles pour la gestion des utilisateurs et des profils. L'administrateur peut
désormais gérer les utilisateurs et attribuer des autorisations spécifiques, tandis que les
utilisateurs peuvent consulter et modifier leurs profils de manière autonome. Cette avancée
constitue un progrès significatif dans l'amélioration de la sécurité et de la gestion des accès.
.
46
5 Sprint 3 : Gestion des préférences et
l’équipe enseignant
Introduction
Ce chapitre porte sur le sprint 3, consacré à la Gestion des préférences et l’équipe
enseignant sur notre plateforme ForMe. L'objectif était d'implémenter des fonctionnalités
permettant à l’utilisateur de gérer ses préférences et le centre de formation gère son équipe
d’enseignant. Nous avons minutieusement analysé ce sprint, en intégrant le sprint back log et
les diagrammes correspondants, avant de passer à la phase de mise en œuvre.

5.1 Objectif du Sprint


Au cours de ce sprint, notre principal objectif était de développer des fonctionnalités
clés permettant à notre client de gérer ces préférences et d’entre ces compétence clé son
méthode d’étude, les jour disponible et d’autre information utile pour la recommandation des
formations. Par ailleurs, nous avons visé à donner aux centre de formation la capacité de crée
et gère son équipe d’enseignant de manière facile. Ce chapitre se penchera sur les différentes
tâches prévues, telles que le formulaire de préférence, le sauvegarde et la possibilité de modifier
c’est préférence de manier facile, ainsi que la gestion du l’équipe enseignant. L'intégration de
ces fonctionnalités visait à accroître l'utilité de notre site, notamment en améliorant les
recommandations de formations et la gestion de l'équipe enseignante, qui sont essentielles à la
création des formations. Cela permet d'assurer une expérience utilisateur à la fois fluide et
personnalisée.

5.2 Analyse du sprint 3


Cette section propose une analyse du sprint 3 portant sur la gestion des préférences et
de l'équipe enseignante, en incluant le sprint backlog ainsi que les diagrammes correspondants.

5.2.1 Sprint Backlog


Ce sprint a pour objectif d'implémenter les fonctionnalités de gestion des préférences
et de l'équipe enseignante.

ID Feature Module User Story de notre Taches Estimation


application
En tant qu'utilisateur je peux Ajouter l’interface d’affichage 20 jour
5 Gestion des
consulter mes préférences des préférence .
préférences Développer les Services
Nécessaires pour ajouter ces
préférence .
47
En tant qu'utilisateur je peux Concevoir les interfaces
ajouter mes préférences Développer les services pour
permet de sauvegarder les
préférences.
En tant qu'utilisateur je peux Ajouter l’interface de
modifier mes préférences modification des préférence
Concevoir l'interface pour le
formulaire.
Développer les services pour
permet de modifier les
préférences.
Gestion de En tant que centre de formation Ajouter l’interface d’afficher 20 jour
6 l'équipe je souhaite consulter la liste des des formateur
enseignante. formateur Développer les services pour
permet de d’affichage les
formateurs .
En tant que centre de formation Développer les services pour
je souhaite affecter un permet de d’affecter un
formateur à mon équipe formateur .
Développer les services pour
permet de d’affecter un
formateur .
En tant que centre de formation Ajouter les buttons nécessaire
je souhaite désaffecter un Développer les services pour
formateur à mon équipe permet de désaffecter un
formateur .
Tableau 10 Sprint Backlog - Sprint 3

5.2.2 Diagramme des cas d'utilisation du sprint 3

Figure 72 Diagramme des cas d'utilisation du sprint 3 Gestion des préférences


48
[Link] Description textuelle des cas d'utilisation

Titre Gestion des préférences et l’équipe enseignant


Acteurs Client , Formateur , Centre de Formation
Description Tous ces acteurs peuvent sauvegarder c’est préférence de manier très facile pour les
utiliser après dans la recommandation
Pré conditions Il faut être authentifier
Scénario de  Lors de la première authentification uniquement, le formulaire de préférences s'affiche
base pour permettre à l'utilisateur de remplir ses informations.
 Il entre ses informations personnelles telles que la méthode d'étude, les compétences,
le domaine, la localisation, les jours disponibles et les préférences linguistiques, etc.
Scénario  Il peut saisir ses préférences dans la gestion de profil au cas où il ne souhaite pas les
alternatif saisir la première fois.
Tableau 11 Description textuelle des cas d'utilisation du sprint 3

5.2.3 Diagramme de séquence objet du sprint 3

Figure 73 Diagramme de séquence objet du sprint 3

5.3 Réalisation
Interface d’explication Dans cette interface Bienvenue sur notre plateforme Web ! Nous vous
encourageons à remplir chaque étape de notre formulaire avec soin et précision.

Figure 74 Interface d’explication


49
Formulaire du préférence etape1 Dans ce formulaire, l'utilisateur doit insérer ses préférences.

Figure 75 Formulaire du préférence stp1

Formulaire du préférence etape2 Deuxième étapes du formulaire, l'utilisateur doit insérer ses
préférences.

Figure 76 Formulaire du préférence stp2

Formulaire du préférence etape3 Lors de la troisième étape du formulaire, l'utilisateur doit


indiquer ses préférences.

Figure 77 Formulaire du préférence stp3

Formulaire de modification de la préférence Ici l’utilisateur il peut modifier c’est préférence


de façon très simple

Figure 78 Formulaire de modification de la préférence

50
Consulter la liste des formateurs de mon centre Dans cette interface chaque centre il peut
visualiser de façon très simple les formateurs dans notre plateforme ForMe

Figure 79 interface Consulter la liste des formateurs de mon centre

Pop-up un formateur à mon équipe Dans cette interface, le centre de formation peut
facilement affecter un formateur à son établissement.

Figure 80 Pop-up Ajouter un formateur à mon équipe

Conclusion
En résumé, ce sprint 3 s'est conclu avec succès, marquant la mise en place de
fonctionnalités essentielles pour la gestion des préférences et des équipes enseignant. Le client
peut gérer c’est préférence, tandis que les centre de formation ont la possibilité de consulter et
modifier leurs équipes enseignant en toute autonomie.

51
6 Sprint 4 : Gestion des formations et
recommandation
Introduction
Ce chapitre porte sur le sprint 4, consacré à la Gestion des formations et
recommandation sur notre plateforme ForMe. L'objectif était d'implémenter des fonctionnalités
permettant notre plateforme Web de recommander des formations à nos clients et le centre de
formation gère et crée ses formations. Nous avons minutieusement analysé ce sprint, en
intégrant le sprint back log et les diagrammes correspondants, avant de passer à la phase de
mise en œuvre.

6.1 Objectif du Sprint


Au cours de ce sprint, notre principal objectif était de développer des fonctionnalités
clés permettant à notre plateforme ForMe de recommander des formations à nos clients Par
ailleurs, nous avons visé à donner aux centre de formation la capacité de crée et gère ses
formations de manière facile. Ce chapitre se penchera sur les différentes tâches prévues, telles
que le système de recommandation, ainsi que la gestion des formations. L'intégration de ces
fonctionnalités visait à accroître l'utilité de notre site, notamment en améliorant les
recommandations de formations et la gestion des formations, Cela permet d'assurer une
expérience utilisateur à la fois fluide et personnalisée.

6.2 Analyse du sprint 4


Cette section propose une analyse du sprint 4 portant sur la gestion des préférences et
de l'équipe enseignante, en incluant le sprint backlog ainsi que les diagrammes correspondants.

6.2.1 Sprint Backlog


ID Feature Module User Story Taches Estimation
En tant qu'utilisateur je souhaite Ajouter les interface du 20 jour
7 Gestion des
consulter la liste des formation présentation des formation
formations Création des services pour
la récupération
En tant qu'utilisateur je veux avoir Ajouter les modification
un filtrage , trie et recherche des nécessaire au interface
formation Développer les fonction
nécessaire de trie et filtrage
Création des services pour
la recherche trie et filtrage
En tant qu'utilisateur je veux Prendre en charge les info

52
avoir une recommandation des nécessaire dans pour le
formation préférence de formation
Préparation du fonction de
recommandation
En tant que modérateurs et Ajouter interface dans le
administrateur je souhaite ajouter Dashboard
une formation Création des service d’ajout
Développement des service
nécessaire pour l’ajout
En tant que modérateurs et Développer les fonction de
administrateur je souhaite modification
modifier une formation
En tant que modérateurs et Développer les fonctions
administrateur je souhaite nécessaire pour la
supprimer une formation suppression d’une
formation
En tant qu'utilisateur, je veux que Création du fonction de 20 jour
8 Gestion des
le site recommande des recommandation
recommandations formations en fonction de mes Prépare le système et le
préférences. personnaliser par un
recommandation au choix
du entreprise par priorité
Ajouter une partie de
recommandation dans le
accueils pour le mettre en
valeur
Tableau 12 Sprint Backlog - Sprint 4

6.2.2 Diagramme des cas d'utilisation du sprint 4

Figure 81 Diagramme des cas d'utilisation du sprint 4 Gestion des Formation

53
[Link] Description textuelle des cas d'utilisation

Titre Gestion des formations et recommandation


Acteurs Administrateur , modérateur et Centre de Formation
Description Tous ces rôle peuvent ajouter et modifier et consulter la liste des formation de manier
simple
Pré conditions Il faut être authentifier
Scénario de 1 Cliquer sur ajouter une formation
base 2 Il faut remplir le formulaire de façon exact
3 Le système vérifie la conformité des informations
Scénario les informations ne sont pas conforme vous sera notifier par un contrôle de saisir un
alternatif : message en rouge sera afficher
Tableau 13 Description textuelle des cas d'utilisation du sprint 4

6.3 Réalisation
Interface de gestion des formations Dans cette interface, le centre peut consulter ses
formations, les modifier ou les supprimer, ainsi qu’ajouter une nouvelle formation en
remplissant tous les détails requis.

Figure 82 interface gestion des formation par un centre

Pop-up Ajouter une formation étape 1 Lors de la première étape pour ajouter une formation,
il est nécessaire tous les détails d’une formation

Figure 83 Pop-up d'ajout une formation etape 1

Pop-up Ajouter une formation étape 2 Lors de la deuxième étape du formulaire, il faut
indiquer le domaine, la liste des compétences, l'emplacement, le niveau de difficulté, le niveau
d'engagement, ainsi que les dates de début et de fin.
54
Figure 84 Pop-up d'ajout une formation etape 2

Pop-up Ajouter une formation étape 3 Lors de la troisième étape du formulaire, il est
nécessaire de saisir les disponibilités et les horaires dans la journée.

Figure 85 Pop-up d'ajout une formation etape 3

Interface d’accueil contient le système de recommandation Dans cette interface, des


recommandations de formations sont proposées en fonction des préférences de l'utilisateur, et
cette section est personnalisée pour chaque utilisateur.

Figure 86 Interface d’accueil contient le système de recommandation

Conclusion
En résumé, ce sprint 4 s'est conclu avec succès, marquant la mise en place de
fonctionnalités essentielles pour la recommandation et gestion des formations. Le centre peut
gérer c’est formation, tandis que la plateforme peut recommander des formations selon les
présences du client en toute autonomie.

55
7 Sprint 5 : Gestion des inscription et
journaux
Introduction
Ce chapitre porte sur le sprint 5, consacré à la Gestion des formations et
recommandation sur notre plateforme ForMe. L'objectif était d'implémenter des fonctionnalités
permettant notre plateforme ForMe de recommander des formations à nos clients et le centre
de formation gère et crée ses formations. Nous avons minutieusement analysé ce sprint, en
intégrant le sprint back log et les diagrammes correspondants, avant de passer à la phase de
mise en œuvre.

7.1 Objectif du Sprint


Au cours de ce sprint, notre principal objectif était de développer des fonctionnalités
clés permettant à notre plateforme ForMe de recommander des formations à nos clients Par
ailleurs, nous avons visé à donner aux centre de formation la capacité de crée et gère ses
formations de manière facile. Ce chapitre se penchera sur les différentes tâches prévues, telles
que le système de recommandation, ainsi que la gestion des formations. L'intégration de ces
fonctionnalités visait à accroître l'utilité de notre site, notamment en améliorant les
recommandations de formations et la gestion des formations, Cela permet d'assurer une
expérience utilisateur à la fois fluide et personnalisée.

7.2 Analyse du sprint 5


Cette section propose une analyse du sprint 5 portant sur la gestion des préférences et
de l'équipe enseignante, en incluant le sprint backlog ainsi que les diagrammes correspondants.

7.2.1 Sprint Backlog


ID Feature User Story Taches Estima
Module tion
En tant qu'utilisateur je souhaite Développer les méthode nécessaire 20 jour
9 Gestion des
consulter la liste des formations pour faire la récupération
inscription Développer l’interface de
au formation récupération
En tant qu'utilisateur je souhaite Création des service d’ajout
consulter la liste de mes Ajouter de pop-up d’ajouter
inscriptions
En tant qu'utilisateur je souhaite Ajouter le service de l’inscription
56
s’inscrire dans une formation Développer les fonctions
d’inscription
En tant qu'utilisateur je souhaite Ajouter des modification pour assure
retire mon inscrire dans une le désinscription de façon facile à
formation l’utilisateur
Développer les méthodes nécessaire
Gestion des En tant qu’administrateur je Création les service de journalisation 10 jour
10 journaux souhaite visualiser les logs Ajouter l’interface du logs
Création du middleware
En tant qu’administrateur je Gestion session et autorisation
souhaite filtre et tire les logs Ajouter des buttons de trie et filtrage
du logs
Tableau 14 Sprint Backlog - Sprint 5

7.2.2 Diagramme des cas d'utilisation du sprint 5

Figure 87 Diagramme des cas d'utilisation du sprint 5

[Link] Description textuelle des cas d'utilisation

Titre Gestion des inscriptions au formations


Acteurs Client
Description Notre client il peut facilement s’inscrire dans une formation
Pré conditions Il faut être authentifier
Scénario de base 1 accéder à la page accueil choisir une formation a son choix
2 il peut cliquer sur bouton s’inscrire
3 il peut aussi clique sur la formation pour visualiser les détails de cette formation
4 Puit il peut cliquer sur le bouton s’inscrire
Scénario alternatif : il n'y a pas de scénario alternatif
Tableau 15 Description textuelle des cas d'utilisation du sprint 5

57
7.3 Réalisation

Interface pour l’Inscription à partir de l’accueil Dans cette interface, notre application
propose des formations en fonction des préférences du client, qui peut s'y inscrire facilement.

Figure 88 Interface Inscription à partir de l’accueil

Désinscription de façon très facile Notre client il peut désinscrire facilement

Figure 89 Interface désinscription de façon très facile

Interface Inscription à partir de détails formation Dans cette interface, le client peut
s'inscrire facilement en cliquant sur le bouton bleu.

Figure 90 Interface Inscription à partir de détails formation

58
Interface affichage de nombre d’inscription a une formation Dans cette interface,
l'utilisateur peut voir le nombre d'inscriptions pour chaque formation.

Figure 91 Interface affichage de nombre d’inscription a une formation

Interface de gestion des inscriptions Ici, l'utilisateur peut gérer ses inscriptions.

Figure 92 Interface de gestion des inscriptions

Interface pour la gestion de logs Dans cette interface, l'administrateur peut visualiser les logs.

Figure 93 Interface pour la gestion de logs

Conclusion
En résumé, ce sprint 5 s'est conclu avec succès, marquant la mise en place de
fonctionnalités essentielles pour la recommandation et gestion des formations. Le centre peut
gérer c’est formation, tandis que la plateforme peut recommander des formations selon les
présences du client en toute autonomie.

59
8 Sprint 6 : Gestion des Badges et de la liste
de favoris
Introduction
Ce chapitre porte sur le sprint 6, consacré à la Gestion des Badges et de la liste de favoris
notre plateforme ForMe. L'objectif était d'implémenter des fonctionnalités permettant notre
plateforme Web d’affecter des Badges à nos clients et le client peut gère et ajouter des
formations au liste de favoris. Nous avons minutieusement analysé ce sprint, en intégrant le
sprint back log et les diagrammes correspondants, avant de passer à la phase de mise en œuvre.

8.1 Objectif du Sprint


Au cours de ce sprint, notre principal objectif était de développer des fonctionnalités
clés permettant à notre plateforme Web de d’affecter des badges à nos clients Par ailleurs, nous
avons visé à donner aux client la capacité d’ajouter et gère des formations de manière facile
dans la liste des favoris. Ce chapitre se penchera sur les différentes tâches prévues, telles que la
gestion des badges, ainsi que la gestion de la liste de favoris. L'intégration de ces fonctionnalités
visait à accroître l'utilité de notre site, notamment en améliorant le système de badges et la
gestion de la liste de favoris, Cela permet d'assurer une expérience utilisateur à la fois fluide et
personnalisée.

8.2 Analyse du sprint 6


Cette section propose une analyse du sprint 6 portant sur la gestion des préférences et
de l'équipe enseignante, en incluant le sprint backlog ainsi que les diagrammes correspondants.

8.2.1 Sprint Backlog


ID Feature Module User Story Taches Estimation
En tant que modérateurs et Cree les badges version image 20 jour
11 Gestion des
administrateur je souhaite par adobe Illustrator
Badges ajouter un Badges Développer les méthodes
nécessaires
Ajouter l’interface et
formulaire d’ajout
En tant que modérateurs et Développer l’interface de
administrateur je souhaite modification
modifier un Badges Développer les service de
modification
En tant qu'utilisateur je peux Développer l’interface de
consulter mes badges présentation des badges obtenu
Ajouter les méthode de
60
récupération
Cree le désigne pour mettre en
valeur ses badges
En tant qu'utilisateur, je Ajouter l’interface de 20 jour
12 Gestion la liste de
souhaite consulter la liste des consultation des formations en
favoris favoris favoris
Développer le méthode de
récupération
Cree les service nécessaire
En tant qu'utilisateur, je Ajouter le mécanisme d’ajouter
souhaite ajouter une formation une formation au favoris
au favoris Développer les méthode
d’ajout
En tant qu'utilisateur, je Développer mes méthode de
souhaite retire une formation suppression de la liste de
du favoris favoris
Adapter l’interface au retire
Ajouter les services nécessaire
Tableau 16 Sprint Backlog - Sprint 6

8.2.2 Diagramme des cas d'utilisation du sprint 6 Gestion du favori

Figure 94 Diagramme des cas d'utilisation du sprint 6 Gestion du favori

[Link] Description textuelle des cas d'utilisation Gestion du favori

Titre Gestion de la liste de favoris


Acteurs Client
Description Notre client il peut gère sa liste de favoris
Pré conditions Il faut être authentifier
Scénario de base 1 Accéder à la page accueil
2 Accéder les détails d’une formation a son choix
3 Il peut cliquer sur l’Etoile pour ajouter au favoris
4 Il peut cliquer du nouveau sur l’Etoile pour le supprimer de favoris
5 En cliquant sur "Gérer mon profil", puis sur "Gestion de la liste des favoris", il
peut consulter sa liste de favoris.
6 il peut aussi clique sur supprimer pour retire une formation de favoris
Scénario alternatif : il n'y a pas de scénario alternatif
Tableau 17 Description textuelle des cas d'utilisation du sprint 6
61
8.2.3 Diagramme des cas d'utilisation du sprint 6 Gestion des Badges

Figure 95 Diagramme des cas d'utilisation du sprint 6 Gestion des Badges

[Link] Description textuelle des cas d'utilisation Gestion des Badges

Titre Gestion des Badges


Acteurs administrateur , modérateur
Description l’administrateur il peut gère les un badge
Pré conditions Il faut être authentifier
Scénario de base 1 Accéder à la page gestion des badges
2 Ajouter un badge en cliquent sur ajouter un badge
3 Modifier un badge en cliquent sur modifier un badge
Scénario alternatif :  il n'y a pas de scénario alternatif
Tableau 18 Description textuelle des cas d'utilisation du sprint 6

8.2.4 Diagramme de séquence objet du sprint 6

[Link] Diagramme de séquence objet Gestion des badges

Figure 96 Diagramme de séquence objet du sprint 6 Gestion des Badges

62
[Link] Diagramme de séquence objet Gestion des favores

Figure 97 Diagramme de séquence objet du sprint 6 Gestion des favoris

8.3 Réalisation
Interface pour ajouter formation au favoris En cliquant sur l'étoile, la formation sera
automatiquement ajoutée aux favoris.

Figure 98 Interface pour ajouter formation au favoris

Interface pour retire formation de favoris En cliquant une autre fois sur l'étoile, la formation
sera automatiquement retire du favori.

Figure 99 Interface pour retire formation de favoris


63
Interface pour gère sa liste de favoris Dans cette interface, l'utilisateur peut retirer une
formation de ses favoris.

Figure 100 Interface pour gère sa liste de favoris

Interface pour afficher ses badges Dans son profil, notre client peut voir ses badges.

Figure 101 Interface pour afficher ses badges

Interface pour gestion de badges L'administrateur et le modérateur ont la possibilité d'ajouter,


de modifier ou de supprimer un badge.

Figure 102 Interface pour gestion de badges


64
Pop-up pour ajouter badges Dans cette pop-up, l'administrateur et le modérateur peuvent
ajouter un badge.

Figure 103 Pop-up pour ajouter badges

Pop-up pour modifier badges Dans cette pop-up, l'administrateur et le modérateur peuvent
modifier un badge.

Figure 104 Pop-up pour modifier badges

Conclusion
En résumé, ce sprint 6 s'est conclu avec succès, marquant la mise en place de
fonctionnalités essentielles pour la gestion du favori et gestion des badges. L’administrateur
peut gérer les badges, tandis que le client peut ajouter des formations au favoris selon les
présences du client en toute autonomie.

65
9 Sprint 7 : Gestion des Niveaux et Point XP
Introduction
Ce chapitre porte sur le sprint 7, consacré à la Gestion des Niveaux et Point XP.
L'objectif était d'implémenter des fonctionnalités permettant notre plateforme Web d’avoir des
niveaux et le client peut gagner ou perdre des point XP grâce à ces points il peut augmenter ou
diminuer dans les niveaux. Nous avons minutieusement analysé ce sprint, en intégrant le sprint
back log et les diagrammes correspondants, avant de passer à la phase de mise en œuvre.

9.1 Objectif du Sprint


Au cours de ce sprint, notre principal objectif était de développer des fonctionnalités
clés permettant à notre plateforme Web d’avoir des niveaux Par ailleurs, nous avons visé à
donner aux client la capacité de gagner des points XP pour les encourager à utiliser notre
plateforme Web et grâce à ces points il peut augmenter de niveau et gagne plus de cadeau. Ce
chapitre se penchera sur les différentes tâches prévues, telles que la gestion des Niveaux, ainsi
que la gestion des point XP. L'intégration de ces fonctionnalités visait à accroître l'utilité de
notre site, notamment en améliorant le système de niveaux et la gestion des point XP, Cela
permet d'assurer une expérience utilisateur à la fois fluide et personnalisée.

9.2 Analyse du sprint 7


Cette section propose une analyse du sprint 7 portant sur la gestion des préférences et
de l'équipe enseignante, en incluant le sprint backlog ainsi que les diagrammes correspondants.

9.2.1 Sprint Backlog


ID Feature Module User Story Taches Estimation
En tant que modérateurs et Ajouter les services d’ajout
13 Gestion des 20 jour
administrateur je souhaite Ajouter le formulaire d’ajout
Niveaux ajouter un niveau Développer les fonction de
automatisation des service
En tant que modérateurs et Cree le formulaire de
administrateur je souhaite modification
modifier un niveau Développer les méthode de
modification
En tant que modérateurs et Développer le méthode de 20 jour
14 Gestion des points
administrateur je souhaite ajouter 50 point XP
XP ajouter 50 point XP a un Ajouter le buttons et le
utilisateur fonctionnalité
En tant que modérateurs et Développer le méthode de
administrateur je souhaite supprimer 50 point XP

66
supprimer 50 point XP a un Ajouter le buttons et le
utilisateur fonctionnalité
En tant que modérateurs et Développer le méthode
administrateur je souhaite d’affectation du badges
affecter un badge a utilisateur Ajouter le formulaire pour la
affectation
Cree l’interface dédier a cette
fonctionnalité
Tableau 19 Sprint Backlog - Sprint 7

9.2.2 Diagramme des cas d'utilisation du sprint 7 Gestion Niveaux et xp

Figure 105 Diagramme des cas d'utilisation du sprint 7 Gestion Niveaux et xp

[Link] Description textuelle des cas d'utilisation

Titre Gestion des Niveaux et Point XP


Acteurs Administrateur , modérateur
Description Administrateur et modérateur peuvent gère Les niveaux et les points XP ajouter un
niveau et modifier les points XP d’un utilisateur affecter un badges ou ajouter , retire
des point XP
Pré conditions Il faut être authentifier
Scénario de base 1 Accéder à la page gestion des niveaux
2 Ajouter un nouveau niveau avec un nombre de point minimal et maximal
3 Modifier un niveau existant
4 Supprimer un niveau existant
5 Accéder à la page gestion des point xp
6 Modifier les XP par augmenter ou retire des points a un client
7 Modifier les XP par désaffecter un badge ou affecter un badge
Scénario alternatif  il n'y a pas de scénario alternatif
Tableau 20 Description textuelle des cas d'utilisation du sprint 7

67
9.2.3 Diagramme de séquence objet du sprint 7

[Link] Diagramme de séquence Gestion des niveaux

Figure 106 Diagramme de séquence objet du sprint 7 Gestion des niveau

[Link] Diagramme de séquence Gestion des Xps

Figure 107 Diagramme de séquence objet du sprint 7 Gestion des Xps

68
9.3 Réalisation
• Interface pour consulter les points xp Dans son profil, notre client peut voir ses point xp.

Figure 108 Interface pour consulter les points xp

• Interface pour gestion des XP Dans cette interface, l'administrateur ou le modérateur peut
gérer les point XP en les ajoutant, les modifiant ou les supprimant.

Figure 109 Interface pour gestion des Xp

• Pop-up pour ajouter un XP a un client Dans cette pop-up, l'administrateur et le modérateur


peuvent ajouter un Xp.

Figure 110 Pop-up pour ajouter un xp a un client


69
• Pop-up pour modifier ses badges Dans cette pop-up, l'administrateur et le modérateur
peuvent modifier un xp.

Figure 111 Pop-up pour modifier un xp

• Interface pour gère les niveaux Dans cette interface, l'administrateur ou le modérateur peut
gérer les Niveau en les ajoutant, les modifiant où les supprimant.

Figure 112 Interface pour gère les niveaux

• Pop-up pour ajouter un niveau Dans cette pop-up, l'administrateur et le modérateur peuvent
ajouter un niveau.

Figure 113 Pop-up pour ajouter un niveau

• Pop-up pour modifier un niveau Dans cette pop-up, l'administrateur et le modérateur


peuvent modifier un niveau.

Figure 114 Pop-up pour modifier un niveau

Conclusion
En résumé, ce sprint 7 s'est conclu avec succès, marquant la mise en place de
fonctionnalités essentielles pour la gestion des niveaux et gestion des points XP.
L’administrateur peut gérer les niveaux et les XP des utilisateurs
70
10 Sprint 8 : Gestion des évaluations et
Evènement
Introduction
Ce chapitre porte sur le sprint 8, consacré à la Gestion des évaluations et Evènement.
L'objectif était d'implémenter des fonctionnalités permettant l’administrateur de gère des
évènements et le client peut donner son avis sur des formations. Nous avons minutieusement
analysé ce sprint, en intégrant le sprint back log et les diagrammes correspondants, avant de
passer à la phase de mise en œuvre.

10.1 Objectif du Sprint


Au cours de ce sprint, notre principal objectif était de développer des fonctionnalités
clés permettant à l’administrateur de gère les évènements Par ailleurs, nous avons visé à donner
aux client la capacité de donne son évaluation sur des formations pour augmenter la concurrence
entre les centre de formation dans le but d’améliore la qualité des formations. Ce chapitre se
penchera sur les différentes tâches prévues.

10.2 Analyse du sprint 8


Cette section propose une analyse du sprint 8 portant sur la gestion des préférences et
de l'équipe enseignante, en incluant le sprint backlog ainsi que les diagrammes correspondants.

10.2.1 Sprint Backlog


ID Feature Module User Story Taches Estimation

En tant qu'utilisateur, je souhaite Configurer l'Interface et intégration 20 jour


15 Gestion des
avoir accès de consulter les des Etoile pour les évaluations
évaluations évaluations des formation. Implémenter la logique du back end
En tant qu'utilisateur, je souhaite Ajouter la possibilité de évaluer les
pouvoir évaluer la formation en formations
attribuant des étoiles. Intégration du système des Etoiles
En tant qu'utilisateur, je souhaite Développer les interface nécessaire 20 jour
16 Gestion des
consulter la liste des évènement Ajouter les service de consommatio
évènement
En tant que modérateurs et Ajouter le formulaire d’ajout
administrateur je souhaite ajouter Développer le fonction logique
un évènement
En tant que modérateurs et Implémenter le pop-up
administrateur je souhaite Ajouter les service du backend
modifier un évènement
En tant que modérateurs et Ajouter le buttons de suppression
administrateur je souhaite Consommer la fonction du backend
71
supprimer un évènement
Tableau 21 Sprint Backlog - Sprint 8

10.2.2 Diagramme des cas d'utilisation du sprint 8 Gestion des Evènements

Figure 115 Diagramme des cas d'utilisation du sprint 8 Gestion des Evènements

[Link] Description textuelle des cas d'utilisation

Titre Gestion des Evènement


Acteurs Administrateur , modérateur
Description Administrateur et modérateur peuvent gère Les évènements
Pré conditions Il faut être authentifier
Scénario de base 1 Accéder à la page gestion des évènements
2 cliquer sur Ajouter un évènement pour ajouter une formation
3 cliquer sur Modifier un évènement pour Modifier une formation
4 cliquer sur Supprimer un évènement pour Supprimer une formation
Scénario alternatif :  il n'y a pas de scénario alternatif
Tableau 22 Description textuelle des cas d'utilisation du sprint 8 Gestion des Evènement

10.2.3 Diagramme des cas d'utilisation du sprint 8 Gestion des évaluations

Figure 116 Diagramme des cas d'utilisation du sprint 8 Gestion des évaluations

[Link] Description textuelle des cas d'utilisation Gestion des évaluations

Titre Gestion des évaluations


Acteurs client
Description les clients peuvent donner leur avis
Pré conditions Il faut être authentifier
Scénario de base 1 cliquer sur l’icône de notification
2 consulter la liste des notification
Scénario alternatif :  il n'y a pas de scénario alternatif
Tableau 23 Description textuelle des cas d'utilisation du sprint 8 Gestion des évaluations
72
10.2.4 Diagramme de séquence objet du sprint 8

[Link] Diagramme de séquence objet Gestion Des évènement

Figure 117Diagramme de séquence objet du sprint 8 Gestion des evenements

[Link] Diagramme de séquence objet Gestion Des avis

Figure 1181 Diagramme de séquence objet du sprint 8 Gestion des avis

10.3 Réalisation
Evaluer une formation

Figure 119 Evaluer une formation

73
Interface pour Gestion des évènements Dans cette interface, l'administrateur ou le
modérateur peut gérer les événements en les ajoutant, les modifiant où les supprimant.

Figure 120 Interface pour Gestion des évènements

Interface pour Ajouter un Evènement

Figure 121 Interface pour Ajouter un Evènement

Conclusion
En résumé, ce sprint 8 s'est conclu avec succès, marquant la mise en place de
fonctionnalités essentielles pour la gestion des évaluations et gestion des événements.
L’administrateur peut gérer les évènements et les clients peuvent évaluer les formations.

74
11 Sprint 9 : Gestion des Notification
Introduction
Ce chapitre porte sur le sprint 9, consacré à la Gestion des Notification. L'objectif était
d'implémenter des fonctionnalités permettant l’administrateur de notifier un utilisateur et le
client peut consulter sa boite de notification. Nous avons minutieusement analysé ce sprint, en
intégrant le sprint back log et les diagrammes correspondants, avant de passer à la phase de
mise en œuvre.

11.1 Objectif du Sprint


Au cours de ce sprint, notre principal objectif était de développer des fonctionnalités
clés permettant à l’administrateur de gérer les notifications et notifier un client et Par ailleurs,
nous avons visé à donner aux client la capacité de consulter ses notifications. Ce chapitre se
penchera sur les différentes tâches prévues

11.2 Analyse du sprint 9


Cette section propose une analyse du sprint 9 portant sur la gestion des notifications, en
incluant le sprint backlog ainsi que les diagrammes associés.

11.2.1 Sprint Backlog

Estimation
ID Feature Module User Story Taches

Gestion des En tant que client je souhaite Création des interface pour mettre en valeur cette 20
17 notifications consulter mes notification fonctionnalité
jour
Développement la fonction nécessaire pour la
récupération des notification
En tant qu’administrateur je Cree le formulaire
souhaite notifier un client Développer la fonction d’ajout
En tant que plateforme je Développer un système automatique pour notifier
souhaite notifier un client les client
Tableau 24 Sprint Backlog - Sprint 9

11.2.2 Diagramme des cas d'utilisation du sprint 9 Gestion des notifications

75
Figure 122 Diagramme des cas d'utilisation du sprint 9 Gestion des notifications

[Link] Description textuelle des cas d'utilisation

Titre Gestion des Notification


Acteurs client
Description les clients peuvent recevoir des notification
Pré conditions Il faut être authentifier
Scénario de base 1 Vérifier dans la barre de navigation si le logo de notification est en gras, ce qui
indique la présence d'une nouvelle notification.
2 Consulter la liste des notifications.
Scénario alternatif  il n'y a pas de scénario alternatif
Tableau 25 Description textuelle des cas d'utilisation du sprint 8 Gestion des notifications

11.3 Réalisation
Liste des Notification par client

Figure 123 Liste des Notification par client

Liste des Notifications pour un client

76
Figure 124 Liste des Notifications pour un client

Notification de sécurité

Figure 125 Notification de sécurité

Notification de bienvenue

Figure 126 Notification de bienvenue

Conclusion
En résumé, ce sprint 9 s'est conclu avec succès, marquant la mise en place de
fonctionnalités essentielles pour la gestion des évaluations et gestion des événements.
L’administrateur peut gérer les évènements et les clients peuvent évaluer les formations.

77
Conclusion Générale

Ce stage au sein de Bee Coders a constitué une opportunité enrichissante tant sur le plan
technique que professionnel. Il m'a permis de mettre en pratique les compétences acquises au
cours de ma formation à travers le développement d’une plateforme web en ligne centralisée
pour les centres de formation en Tunisie.

L'utilisation de la méthodologie SCRUM m'a permis de mener à bien le projet en suivant


un processus itératif efficace, en sprints bien structurés. Ce projet a visé à offrir une solution
innovante pour centraliser les formations, permettant aux utilisateurs d'accéder à une interface
conviviale pour la recherche et la recommandation de formations. À travers les différentes
phases du projet, j'ai pu approfondir mes connaissances dans des technologies telles que React,
[Link], MongoDB, tout en apprenant à gérer la communication entre les équipes et à respecter
les contraintes de délais.

Ce stage m’a non seulement permis de développer des compétences techniques, mais il
m’a aussi offert une vision plus claire des défis professionnels, des attentes en entreprise et de
l’importance d’une bonne collaboration. Au terme de cette expérience, je me sens plus préparé
et motivé à entrer pleinement dans le monde professionnel du développement web.

Je remercie chaleureusement l’équipe de Bee Coders pour leur encadrement et leur


soutien, ainsi que l’École Supérieure Privée d'Ingénierie et de Technologies pour l’opportunité
de réaliser ce projet.

78
12 Bibliographie
[1] [Link]/fr 01/01/24

[2] [Link]/ 05/01/24

[3] [Link]/ 10/01/24


[4] [Link]/definition/Bootstrap 15/01/24
[5] [Link]/fr/blog/tailwind-css/ 02/01/24

[6] [Link]/intl/fr-fr/blog/collaboration/methode-
agile#:~:text=La%20méthode%20agile%20est%20une,de%20l%27avancement%20
du%20projet. 28/9/24

[7] [Link]/product/what-is-postman/ 01/02/24


[8] [Link]/fr/quests/lectures/[Link].module1.lecture09 29/05/24
[9] [Link]/fr/cloud/cloud-native/container-registry/what-is-docker/
04/05/24
[10] [Link]/github-tout-savoir 22/12/23
[11] [Link]/visual-studio-code-tout-savoir 30/12/23

[12] [Link]/ 05/01/24

79
80

Vous aimerez peut-être aussi