0% ont trouvé ce document utile (0 vote)
95 vues95 pages

Rapport Final 1

Ce mémoire présente le développement d'une application web pour la gestion des stages au sein de la Compagnie de Phosphate de Gafsa (CPG). Il détaille les objectifs du projet, les exigences fonctionnelles et non fonctionnelles, ainsi que les technologies utilisées, notamment Spring Boot et React. L'application vise à simplifier le processus de recherche, d'attribution et de suivi des stages, tout en abordant les défis rencontrés durant le développement.

Transféré par

Raed B'H
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)
95 vues95 pages

Rapport Final 1

Ce mémoire présente le développement d'une application web pour la gestion des stages au sein de la Compagnie de Phosphate de Gafsa (CPG). Il détaille les objectifs du projet, les exigences fonctionnelles et non fonctionnelles, ainsi que les technologies utilisées, notamment Spring Boot et React. L'application vise à simplifier le processus de recherche, d'attribution et de suivi des stages, tout en abordant les défis rencontrés durant le développement.

Transféré par

Raed B'H
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

République Tunisienne Université de Monastir

Ministère de l’Enseignement Supérieur et Institut Supérieur d’Informatique de


de la Recherche Scientifique Mahdia

Projet de fin d’études


N° d’ordre: 4

MÉMOIRE
Présenté à

Institut Supérieur d’Informatique de Mahdia

En vue de l’obtention

De la Licence en (Génie logiciel)

par

Baher Khaldi

APPLICATION WEB POUR LA GESTION DES STAGES

Soutenu le 15/06 , devant la commission d'examen:

Mr. Nizar Elleuch Président


Mr. Wiem Chebil Encadrant
Mme Ramzi Haj said Examinateur

Année universitaire 2023/2024


Dédicace

Nous tenons avec plaisir que nous dédions ce modeste travail :

A nos chers parents pour leur soutien, leur patience, leur encouragement

durant notre parcours scolaire.

A mon cher Frère.

A tous nos amies, toute personne qui occupe une place dans nos

cœurs.

|Baher Khaldi
Remerciement

Nous souhaitons exprimer nos sincères remerciements, tout d'abord, à

toute l'équipe pédagogique de l'institut supérieur d'informatique de

Mahdia. Avant d'entamer ce rapport, nous saisissons cette occasion

pour exprimer notre gratitude envers notre professeure, Madame Chebil

Wiem, dont le soutien constant durant toute la durée du projet a été

inestimable. Nous la remercions chaleureusement pour sa générosité en

matière de formation et d'encadrement. Nous tenons également à

exprimer notre reconnaissance pour l'aide et les conseils qu'elle nous a

prodigués tout au long des différentes étapes mentionnées dans ce

rapport, ainsi que pour la confiance qu'elle nous a témoignée. Enfin,

nous souhaitons remercier nos autres professeurs qui nous ont encouragés

à travailler en mettant à notre disposition leur expérience et leurs

compétences.
Table de matière
CHAPITRE 1 ................................................................................................................................ 0
I. Introduction : ..................................................................................................................... 1
II. Présentation de l’organisme d’accueil : ........................................................................... 1
III. Présentation du projet : ................................................................................................. 2
A. Les points faibles de l’interaction actuelle de CPG avec les stagiaires : .................. 2
B. Les Bénéfices d’avoir l’application :............................................................................. 3
C. Les Défis : ........................................................................................................................ 4
IV. La Méthodologie de travail (Agile Scrum) : ................................................................ 5
A. Méthodologie adoptée .................................................................................................... 5
B. SCRUM comme méthode agile adoptée :..................................................................... 5
1. Présentation et description : ...................................................................................... 5
2. Les 3 Rôles de l’équipe Scrum : ................................................................................ 6
3. Les artefacts dans Scrum : ......................................................................................... 8
4. Les activités de sprint : ............................................................................................... 8
C. Le langage de modélisation : ......................................................................................... 9
D. Diagramme de Gantt: .................................................................................................. 10
E. Work Breakdown Structure ........................................................................................ 10
Conclusion ................................................................................................................. 11
Chapitre 2 .................................................................................................................................... 12
I. Introduction : ................................................................................................................... 13
II. Environnement de travail................................................................................................ 13
A. Environnement matériel .............................................................................................. 13
B. Environnement logiciel ................................................................................................ 13
5. Technologie utilisée : ................................................................................................ 13
6. Outils utilisée : .......................................................................................................... 14
7. Système de gestion de bases de données ................................................................. 16
III. Conception architecturale : ......................................................................................... 17
A. Architecture physique : ............................................................................................... 17
B. Architecture logique : .................................................................................................. 18
IV. Planification des projet : .............................................................................................. 19
A. Planification des sprints : ............................................................................................ 19
B. Gestion des réparations des parties du système à l'aide d'un diagramme de
découpage des travaux (Work Breakdown Structure - WBS) : ...................................... 20
C. Diagramme de Gantt : ................................................................................................. 20
V. Analyse et spécification des besoins : ............................................................................. 21
A. Backlog du Produit : .................................................................................................... 21
B. Identification de l’équipe SCRUM ............................................................................. 23
C. Identification des acteurs ............................................................................................. 23
D. Les besoins fonctionnels ............................................................................................... 23
E. Les besoins non fonctionnels ....................................................................................... 25
F. Diagramme de cas d’utilisation : ................................................................................ 26
1. Diagramme de cas d’utilisation global : ................................................................. 26
G. Diagramme de classe :.................................................................................................. 26
1. Diagramme de classe de l’application ..................................................................... 27
Conclusion ................................................................................................................. 27
Chapitre 3 : .................................................................................................................................. 28
I. Introduction ...................................................................................................................... 29
II. Backlog de premier sprint: ............................................................................................. 29
A. Diagramme de cas d’utilisation du premier sprint : ................................................. 30
1. Analyse des cas d’utilisation .................................................................................... 31
i. Analyse de cas d’utilisation « Authentification » ............................................... 31
ii. Analyse de cas d’utilisation « Gestion des utilisateurs » ................................... 33
III. Les tests avec Postman :............................................................................................... 42
A. Test d’ajout d’utilisateur :........................................................................................... 42
B. Test de modification d’utilisateur:.............................................................................. 42
C. Test de suppression d’utilisateur: ............................................................................... 43
Conclusion ................................................................................................................. 43
Chapitre 4 : .................................................................................................................................. 44
I. Introduction : ................................................................................................................... 45
II. Backlog de deuxième sprint: ........................................................................................... 45
A. Diagramme de cas d’utilisation du deuxième sprint : .............................................. 46
1. Analyse des cas d’utilisation .................................................................................... 47
i. Analyse de cas d’utilisation « Gestion des stages» ............................................. 47
III. Les tests avec Postman :............................................................................................... 54
A. Test d’ajout stage : ....................................................................................................... 54
B. Test de modification stage : ......................................................................................... 55
C. Test de suppression stage : .......................................................................................... 55
ii. Analyse de cas d’utilisation « Validation des stages» ........................................ 56
Conclusion ................................................................................................................. 57
Chapitre 5 : .................................................................................................................................. 58
I. Introduction ...................................................................................................................... 59
II. Backlog de troisième sprint: ........................................................................................... 59
Vous trouverez dans le « tableau 11 » le backlog de troisième sprint ................................ 59
A. Diagramme de cas d’utilisation du premier sprint : ................................................. 60
1. Analyse des cas d’utilisation .................................................................................... 61
i. Analyse de cas d’utilisation « Gestion des stagiaires» ....................................... 61
III. Les teste avec Postman (stagiaire) .............................................................................. 68
A. Test d’ajout ................................................................................................................... 68
B. Test de suppression ...................................................................................................... 69
C. Test de modification ..................................................................................................... 69
IV. Les test avec Postman (document) .............................................................................. 78
A. Test d’ajout ................................................................................................................... 78
B. Test de suppression ...................................................................................................... 78
C. Test de modification ..................................................................................................... 79
Conclusion ................................................................................................................. 79
Conclusion générale et perspectives .................................................................... 80
Webographies ........................................................................................................ 81
Listes des figures

Figure 1: Logo de la société CPG ................................................................................................ 1


Figure 2: Agile ............................................................................................................................... 5
Figure 3: Rôle de l'équipe scrum ................................................................................................. 6
Figure 4 : Logo de langage de modélisation UML ................................................................... 10
Figure 5 : Logo de « SpringBoot »............................................................................................. 14
Figure 6 : Logo de « React » ...................................................................................................... 14
Figure 7 : Logo de « Visual Studio » ......................................................................................... 15
Figure 8 : Logo de « IntelliJ » .................................................................................................... 15
Figure 9 : Logo de « StarUML»................................................................................................. 15
Figure 10 : Logo de « StarUML»............................................................................................... 16
Figure 11 : Logo de « MySQL Workbench» ............................................................................ 16
Figure 12 : Logo de « HeidiSQL» .............................................................................................. 16
Figure 13 : Architecture 3 tiers.................................................................................................. 17
Figure 14 : Architecture logique ................................................................................................ 18
Figure 15: « Work Breakdown chart » ..................................................................................... 20
Figure 16 : « Diagramme de Gantt » ......................................................................................... 20
Figure 17 : Diagrammes de cas d'utilisation global de stage .................................................. 26
Figure 18 : Diagramme de classe global ................................................................................... 27
Figure 19 : Diagramme de cas d’utilisation « Authentification» ............................................ 30
Figure 20: Diagramme de cas d’utilisation « Gestion des utilisateurs» ................................. 30
Figure 21 : Diagramme de séquence détaillé « Authentification» .......................................... 32
Figure 22 : Diagramme d’activité « Authentification» ............................................................ 33
Figure 23 : Diagramme de séquence détaillé « Ajouter utilisateur» ...................................... 34
Figure 24 : Diagramme de séquence détaillé « Supprimer utilisateur» ................................. 35
Figure 25 : Diagramme de séquence détaillé « Modifier utilisateur» .................................... 36
Figure 26 : Diagramme d’activité « Ajouter utilisateur» ........................................................ 37
Figure 27 : Diagramme d’activité « supprimer utilisateur» ................................................... 38
Figure 28 : Diagramme d’activité « Modifier utilisateur» ...................................................... 39
Figure 29 : Interface d’ajout d’un utilisateur .......................................................................... 40
Figure 30 : Interface de succès d’ajout d’un utilisateur .......................................................... 40
Figure 31 : Interface de succès de modification d’un utilisateur............................................ 41
Figure 32 : Interface de succès de suppression d’un utilisateur ............................................. 41
Figure 33 : Test d’ajout avec Postman de l’utilisateur ............................................................ 42
Figure 34 : Test de suppression avec Postman de l’utilisateur ............................................... 42
Figure 35 : Test de modification avec Postman de l’utilisateur.............................................. 43
Figure 36 : Diagramme de cas d’utilisation « Gestion des stages » ........................................ 46
Figure 37: Diagramme de cas d’utilisation « Validation des stages » .................................... 46
Figure 38 : Diagramme de séquence « Ajouter stage » ........................................................... 48
Figure 39: Diagramme de sequence « Supprimer stage » ....................................................... 49
Figure 40 : Diagramme de sequence « Modifier stage ».......................................................... 50
Figure 41 : Diagramme d’activité « Ajouter stage» ................................................................. 51
Figure 42 : Diagramme d’activité «supprimer stage» ............................................................. 51
Figure 43 : Diagramme d’activité «Modifier stage» ................................................................ 52
Figure 44 : Interface d’ajout d’un stage ................................................................................... 52
Figure 45 : Interface de succès d’ajout d’un stage................................................................... 53
Figure 46 : Interface de succès de modification d’un stage .................................................... 53
Figure 47 : Interface de succès de suppression d’un stage ...................................................... 54
Figure 48 : Test d’ajout de stage avec Postman ....................................................................... 54
Figure 49 : Test de mise à jour de stage avec Postman ........................................................... 55
Figure 50 : Test de suppression de stage avec Postman .......................................................... 55
Figure 51 : Diagramme de séquence « Valider stage » ............................................................ 57
Figure 52 : Diagramme de cas d’utilisation « Stagiaire » ....................................................... 60
Figure 53 : Diagramme de cas d’utilisation « Gestion des documents »................................ 60
Figure 54 : Diagramme de séquence « Ajouter stagiaire » ..................................................... 62
Figure 55 : Diagramme de séquence « Supprimier stagiaire » ............................................... 63
Figure 56 : Diagramme de séquence « Modifier stagiaire ».................................................... 64
Figure 57 : Diagramme d’activité « Ajouter stagiaire» ........................................................... 65
Figure 58 : Diagramme d’activité « supprimer stagiaire» ...................................................... 65
Figure 59 : Diagramme d’activité « Modifier stagiaire» ........................................................ 66
Figure 60 : Interface d’ajout d’un stagiaire ............................................................................. 66
Figure 61 : Interface de succès d’ajout d’un stagiaire............................................................. 67
Figure 62 : Interface de succès de modification d’un stagiaire ............................................. 67
Figure 63 : Interface de succès de suppression d’un stagiaire ................................................ 68
Figure 64 : Test d’ajout de stagiaire avec Postman ................................................................. 68
Figure 65 : Test de suppression de stagiaire avec Postman .................................................... 69
Figure 66 : Test de modification de stagiaire avec Postman ................................................... 69
Figure 67 : Diagramme de séquence « Ajouter document » ................................................... 71
Figure 68 : Diagramme de séquence « supprimer document » .............................................. 72
Figure 69 : Diagramme de séquence « Modifier document » ................................................. 73
Figure 70 : Diagramme d’activité « Ajouter document» ........................................................ 74
Figure 71 : Diagramme d’activité « supprimer document» .................................................... 74
Figure 72 : Diagramme d’activité « Modifier document» ...................................................... 75
Figure 73 : Interface d’ajout d’un document ........................................................................... 76
Figure 74 : Interface de succès d’ajout d’un document .......................................................... 76
Figure 75 : Interface de succès de modification d’un document ............................................ 77
Figure 76 : Interface de succès de suppression d’un document.............................................. 77
Figure 77 : Test d’ajout de document avec Postman .............................................................. 78
Figure 78 : Test de suppression de document avec Postman ................................................. 78
Figure 79 : Test de modification de document avec Postman ................................................ 79
Listes des tableaux

Table 1 : Environnement matériel............................................................................................. 13


Table 2 : Planification des sprints ............................................................................................. 19
Table 3 : Backlog du produit ..................................................................................................... 21
Table 4 : L’équipe SCRUM ....................................................................................................... 23
Table 5 : Backlog de premier sprint .......................................................................................... 30
Table 6 : Description textuelle du cas-d’utilisation « Authentification » .............................. 31
Table 7 : Description textuelle du cas-d’utilisation « Gérer les utilisateurs » ....................... 33
Table 8 : Backlog de deuxième sprint ....................................................................................... 45
Table 9 : Description textuelle du cas-d’utilisation «Gérer Stage» ........................................ 47
Table 10 : Description textuelle du cas-d’utilisation «Valider Stage» ................................... 56
Table 11 : Backlog de troisième sprint...................................................................................... 59
Table 12 : Description textuelle du cas-d’utilisation «Gérer stagiaires» ............................... 61
Table 13 : Description textuelle du cas-d’utilisation «Gérer Document».............................. 70
Introduction générale
La gestion efficace des stages constitue un défi majeur pour de nombreuses organisations,
y compris les entreprises. Afin de faciliter ce processus et d'améliorer l'expérience des étudiants,
nous avons entrepris le développement d'une application web dédiée à la gestion de stage pour la
Compagnie de Phosphate de Gafsa (CPG).

Ce rapport présente une vue d'ensemble du projet de programmation de cette application


web et de ses fonctionnalités clés. Nous explorerons les objectifs du projet, les exigences
fonctionnelles et non fonctionnelles, ainsi que les technologies utilisées pour sa mise en œuvre.
Nous aborderons également les défis rencontrés lors du développement et les solutions adoptées
pour les surmonter.

L'application web de gestion de stage vise à simplifier et rationaliser le processus de


recherche, d'attribution et de suivi des stages au sein de l'entreprise. Elle offre une plateforme
centralisée où les responsables des stages peuvent publier des offres de stage et gérer les
candidatures.

Pour développer cette application, nous avons utilisé les langages de programmation
Spring Boot et React. Spring Boot est un framework Java qui facilite le développement
d'applications web robustes et évolutives. Il offre des fonctionnalités intégrées pour la gestion des
données, la sécurité et la création d'API REST. Quant à React, il s'agit d'une bibliothèque
JavaScript populaire pour la construction d'interfaces utilisateur interactives et réactives.

Ce rapport présentera en détail les différentes fonctionnalités de l'application, notamment


la publication des offres de stage, la gestion des stagiaires , des utilisateurs et des documents et la
validation des stages. Nous discuterons également des tests réalisés pour vérifier le bon
fonctionnement de l'application et des perspectives d'amélioration futures.

En conclusion, ce rapport fournit une vision d'ensemble du projet de programmation de


l'application web de gestion de stage . L'objectif principal de cette application est d'optimiser le
processus de stage au sein de l'entreprise en offrant une plateforme centralisée et conviviale pour
la publication des offres de stage, la gestion des candidatures et le suivi des stages. Nous espérons
que cette application contribuera à améliorer l'efficacité de la gestion des stages au sein de la CPG,
en permettant une meilleure collaboration entre le-s responsables des stages et les stagiaires.
CHAPITRE 1
« Cadre de projet »
I. Introduction :

Dans ce chapitre nous allons analysé tous les aspects de notre projet comme les idées
générales et globales premièrement nous avons présenté notre projet puis analysé les solutions
existantes avec une étude critique et finalement donner la solution proposée.

II. Présentation de l’organisme d’accueil :


La Compagnie des Phosphates de Gafsa (CPG) est une entreprise minière tunisienne créée
en 1897. Elle est l'un des plus grands producteurs de phosphate au monde et est une source
importante de revenus pour l'économie tunisienne.

La CPG est impliquée dans toutes les étapes de la production de phosphate, de l'extraction
minière à la commercialisation des produits finis. L'entreprise exploite plusieurs mines de
phosphate dans la région de Gafsa en Tunisie, où elle emploie des milliers de travailleurs.

La CPG est également active dans le développement durable, en mettant en place des
pratiques environnementales responsables pour réduire son impact sur l'environnement.

En outre, la CPG est engagée dans le développement socio-économique de la région de


Gafsa, en soutenant des initiatives éducatives, culturelles et sportives. Elle collabore également
avec les autorités locales pour soutenir les projets de développement communautaire dans la
région.
En somme, la Compagnie des Phosphates de Gafsa est une entreprise minière tunisienne
importante qui est engagée dans des pratiques durables et responsables tout en contribuant au
développement socio-économique de la région de Gafsa.

Figure 1: Logo de la société CPG

1
III. Présentation du projet :

Le Projet de PFE consiste à développer une application web pour la Compagnie des
Phosphates de Gafsa (CPG) afin de suivre les stagiaires. Ce projet sera développé en utilisant
Springboot, React et SQL.

Cette application web permettra aux gestionnaires de CPG de gérer les informations des
stagiaires, leurs horaires et leurs objectifs. Elle fournira également des rapports et des alertes pour
les suivis et les évaluations des stagiaires.

Le projet sera développé en utilisant Springboot, React et SQL. Springboot est un cadre de
développement Java qui permet de créer des applications web. React est un cadre JavaScript pour
la création d'interfaces utilisateur. SQL est une base de données relationnelle.

Le projet sera développé en utilisant des techniques de programmation orientée objet et des
principes de conception tels que le modèle-vue-contrôleur (MVC). Les tests unitaires et les tests
d'intégration seront utilisés pour tester le code.

A. Les points faibles de l’interaction actuelle de CPG avec les stagiaires :

L'entreprise utilise des transactions papier avec les stagiaires et des méthodes primitif, cela
peut avoir des conséquences négatives pour elle-même, les stagiaires et l'ensemble de l'écosystème
dans lequel elle opère. Voici quelques-uns des points faibles potentiels de cette approche :

• Coûts administratifs plus élevés : Le traitement des transactions papier peut être
fastidieux et prendre beaucoup de temps. Cela peut entraîner des coûts administratifs plus
élevés pour l'entreprise, en raison des heures supplémentaires nécessaires pour gérer la
paperasse.

• Risque de perte de documents : Les documents papier peuvent être facilement perdus ou
endommagés. Si un document important est perdu, cela peut causer des retards dans le
traitement des demandes des stagiaires, ce qui peut avoir un impact négatif sur leur
expérience de stage.

2
• Difficulté à gérer les données : Les transactions papier peuvent rendre difficile la collecte,
la gestion et l'analyse des données relatives aux stagiaires. Cela peut empêcher
l'entreprise d'avoir une vue d'ensemble de la performance des stagiaires et de leur
progression au sein de l'entreprise.

• Diminution de la qualité des stages : Une méthode primitive de gestion des stagiaires
peut ne pas offrir les ressources, le soutien ou les conseils nécessaires pour aider les
stagiaires à réussir dans leur travail. Cela peut entraîner une diminution de la qualité des
stages et un impact négatif sur la réputation de l'entreprise.

• Départ des stagiaires : Si les stagiaires ne se sentent pas bien encadrés ou ne reçoivent
pas de soutien adéquat, ils peuvent être plus susceptibles de quitter l'entreprise avant la
fin de leur stage. Cela peut avoir des coûts financiers pour l'entreprise et avoir un impact
négatif sur la réputation de l'entreprise en tant qu'employeur.

• Perte d'opportunités de recrutement : Si les stagiaires ont une expérience négative dans
l'entreprise, ils sont moins susceptibles de postuler à des emplois à l'avenir ou de
recommander l'entreprise à d'autres étudiants. Cela peut limiter les opportunités de
recrutement pour l'entreprise.

B. Les Bénéfices d’avoir l’application :


Ce projet de suivi des stages a plusieurs avantages pour l'entreprise elle-même, pour les
stagiaires, ainsi que pour l'ensemble de l'écosystème dans lequel elle opère. Voici quelques-uns
des bénéfices potentiels :

• Réduction des coûts administratifs : l’application permet de réduire les coûts


administratifs en automatisant de nombreuses tâches liées au traitement des transactions
papier. Les demandes des stagiaires, les évaluations et autres documents peuvent être
gérés de manière électronique, ce qui réduit le temps et les ressources nécessaires.

3
• Sécurité des données : l’application offre un stockage sécurisé des documents et des
données des stagiaires. Les risques de perte ou de dommages aux documents papier sont
éliminés, ce qui garantit l'intégrité des informations importantes.

• Gestion et analyse des données améliorées : l’application permet de collecter et de stocker


de manière centralisée les données relatives aux stagiaires. Cela facilite l'analyse des
informations sur la performance des stagiaires, leur progression et les tendances globales.
Ces données peuvent être utilisées pour prendre des décisions éclairées et pour améliorer
les programmes de stage à l'avenir.

• Efficacité opérationnelle : L'application de gestion de stage permet d'automatiser de


nombreuses tâches administratives, ce qui permet aux employés de passer moins de temps
sur la gestion de la paperasse et plus de temps sur des tâches à plus forte valeur ajoutée.
Cela améliore l'efficacité globale des processus de gestion des stages.

• Contribution à la responsabilité sociale de l'entreprise : En offrant des stages de qualité et


en suivant régulièrement les stagiaires, l'entreprise peut contribuer à la formation de la
prochaine génération de professionnels et à l'amélioration de la qualité de l'enseignement
supérieur. Cela peut renforcer la position de l'entreprise en tant qu'acteur responsable dans
son écosystème.

C. Les Défis :
Le projet comporte de nombreux défis, notamment la gestion des données, la sécurité et la
performance. La gestion des données comprend la sélection des données à stocker et la création
des tables et des relations nécessaires. La sécurité comprend la gestion des droits d'accès et la
protection des données.
La performance est un autre défi important. Il est nécessaire de concevoir et de développer
l'application de manière à ce qu'elle soit performante et fiable. Des tests de performances seront
effectués pour vérifier que l'application fonctionne de manière satisfaisante.

4
IV. La Méthodologie de travail (Agile Scrum) :

A. Méthodologie adoptée

Afin d'améliorer l'efficacité de notre système de gestion de l'information et de répondre


aux besoins des clients de manière économique et dans les délais impartis, nous adoptons une
approche agile pour faire progresser nos projets. Les méthodes agiles se caractérisent par un
modèle de gestion de projet informatique qui favorise les échanges entre toutes les parties
prenantes, y compris les utilisateurs, les développeurs et autres professionnels du projet. Dans cette
optique, il est essentiel de donner la priorité aux relations et à la communication tout au long du
processus de développement.

Figure 2: Agile
B. SCRUM comme méthode agile adoptée :

1. Présentation et description :

La méthode Scrum, largement adoptée dans la gestion de projets informatiques, se


distingue par son approche agile qui favorise la collaboration et l'adaptabilité. [1]

5
2. Les 3 Rôles de l’équipe Scrum :

Figure 3: Rôle de l'équipe scrum

• Product Owner :

Responsabilités :
✓ Gérer les projets avec une approche centrée sur les objectifs commerciaux.
✓ Définir clairement la vision du produit et ses caractéristiques.
✓ Valider ou rejeter le produit à la fin de chaque Sprint.
Tâches :
✓ Mettre l'accent sur le retour sur investissement.
✓ Élaborer et communiquer une vision claire du projet.

6
• Scrum Master:

Responsabilités :
✓ Assumer le rôle de gardien du processus Scrum.
✓ Former et coacher l'équipe Scrum.
✓ Protéger l'équipe des perturbations en régulant les obstacles.
Tâches :
✓ Protéger et soutenir l'équipe Scrum.
✓ Éliminer les obstacles qui entravent la progression du projet.
✓ Assurer l'exécution fluide du processus.

• Equipe de développement :

Responsabilités :
✓ Assurer la livraison du produit final.
✓ Collaborer avec les utilisateurs finaux, les clients et les propriétaires de produits pour
comprendre les besoins de l'entreprise.
Tâches :
✓ Garantir la qualité du produit.
✓ Gérer la livraison du produit dans les délais.
✓ Estimer les efforts nécessaires pour réaliser les différentes tâches.
7
✓ Participer activement aux différentes phases du projet.
✓ Favoriser l'autogestion de l'équipe.

3. Les artefacts dans Scrum :

❖ Backlog produit (ou catalogue des besoins)

▪ Exigences priorisées par le Product Owner.


▪ Besoins d'évaluation de l'équipe.

❖ Sprint Backlog

▪ Extrait du Product Backlog

❖ Sprint (iteration)
▪ Développer la fonctionnalité Sprint Backlog.
▪ Mêlée quotidienne (Rencontre quotidienne
▪ Points de contrôle quotidiens de l’équipe.
▪ Interventions régulées : 2 min par personne.

4. Les activités de sprint :

❖ Daily Scrum

Le Daily Scrum constitue une réunion quotidienne où l'équipe se rassemble le matin afin
de définir les objectifs individuels pour la journée et d'identifier les éventuels obstacles à
surmonter. [2]

❖ La [Link]. Sprint (ou sprint planning)

▪ La planification des sprints est organisée au début de chaque sprint.

8
▪ Son objectif est de favoriser la collaboration entre les propriétaires de produits et les
équipes de développement, qui se réunissent pour examiner le backlog du produit et
déterminer quelles fonctionnalités doivent être prioritaires et incluses dans le prochain
cycle de développement.

❖ La [Link]. Sprint (ou sprint review)

Les revues de sprint sont les seules réunions dans le cadre Scrum où les parties prenantes
sont présentes. Lors de ces réunions, tout le travail accompli pendant le sprint leur est présenté et
discuté. [3]
C. Le langage de modélisation :

UML (Unified Modeling Language) est un langage de modélisation graphique utilisé pour
décrire des systèmes logiciels, notamment leur architecture, leur fonctionnement et leur
comportement. Il permet de communiquer des concepts complexes de manière claire et structurée
à différents intervenants, tels que les développeurs, les testeurs et les utilisateurs finaux.

UML comprend plusieurs types de diagrammes, chacun ayant une fonction spécifique :

▪ Le diagramme de cas d'utilisation : il décrit les fonctionnalités et les interactions du


système du point de vue de l'utilisateur final.

▪ Le diagramme de séquence : il montre l'enchaînement chronologique des actions et des


messages échangés entre les objets d'un système.

▪ Le diagramme de classes : il décrit les classes, les attributs, les méthodes et les relations
entre les objets d'un système.

Chacun de ces diagrammes a une fonction précise et permet de représenter visuellement


différentes perspectives du système. Ensemble, ils permettent une compréhension complète du
système et une communication claire entre les différents intervenants.[4]

9
Figure 4 : Logo de langage de modélisation UML

D. Diagramme de Gantt:

Le diagramme de Gantt est un outil largement utilisé en gestion de projet pour fournir une
représentation visuelle de l'avancement des différentes activités qui composent le projet. Il se
présente sous la forme d'un tableau où la colonne de gauche répertorie toutes les tâches à
accomplir, tandis que la ligne d'en-tête indique les unités de temps appropriées au projet (jours,
semaines, mois, etc.). Chaque tâche est représentée par une barre horizontale dont la position et
la longueur représentent respectivement la date de début, la date de fin et la durée de la tâche.
Ainsi, le diagramme de Gantt permet une visualisation claire et facile des éléments suivants :
▪ Les différentes tâches à effectuer ;
▪ Les dates de début et de fin de chaque tâche ;
▪ La durée de chaque tâche ;
▪ Les éventuels chevauchements entre les différentes tâches ;
▪ L'état d'avancement du projet dans son ensemble ; [5]

E. Work Breakdown Structure

Une Work Breakdown Structure (WBS) est une méthode de décomposition hiérarchique
d'un projet en tâches de plus en plus petites et gérables, afin de faciliter la planification, la
coordination et le contrôle des activités du projet.
La WBS permet de diviser le projet en éléments de travail distincts et interdépendants,
appelés "packages de travail", qui peuvent être affectés à des équipes spécifiques pour l'exécution
et le suivi. La WBS fournit également une vue globale de la portée du projet, des livrables attendus
et de l'ordonnancement des tâches. Elle est souvent utilisée en combinaison avec d'autres outils de
gestion de projet, tels que le diagramme de Gantt et le réseau PERT.[6]

10
Conclusion :
En conclusion de ce chapitre, nous avons présenté en détail l'organisme d'accueil et défini
les objectifs spécifiques de notre projet. Nous avons souligné les avantages de notre application,
démontrant sa valeur ajoutée pour l'organisme d'accueil et ses utilisateurs. Enfin, nous avons décrit
la méthodologie de travail adoptée pour une gestion efficace du projet. Ce chapitre établit ainsi
une fondation solide en présentant l'organisme d'accueil, les objectifs du projet, les avantages de
l'application et la méthodologie de travail, offrant un cadre clair pour notre entreprise.

11
Chapitre 2
« Evironnement, analyse de besoin et planification»
(Sprint 0)

12
I. Introduction :
Ce chapitre présente la planification, l'analyse et la spécification des besoins pour la
programmation de l'application. Nous utiliserons Spring Boot pour le backend et React pour le
frontend. Il met en évidence l'importance de ces étapes pour le développement réussi de
l'application web
II. Environnement de travail

Dans cette section du chapitre, nous allons vous présenter les divers contextes dans lesquels nous
exerçons notre activité, à savoir le domaine logiciel et le domaine matériel.

A. Environnement matériel

Ce « tableau 1 » présente les machines et leurs caractéristiques pour construire notre système

Table 1 : Environnement matériel

Ordinateur
Marque Asus
Processeur Ryzen 5 3550h
Ram 16 Go
SSD 1 TB
Système d’exploitation Windows 10 Pro

B. Environnement logiciel
5. Technologie utilisée :

- SpringBoot

Spring Boot est un framework open-source pour le développement d'applications Java qui
offre un ensemble d'outils et de fonctionnalités pour faciliter la création rapide et efficace
d'applications autonomes, évolutives et prêtes pour le cloud. Il utilise la configuration
conventionnelle et des starters pour minimiser la quantité de code et la configuration requises. Les
développeurs peuvent se concentrer sur la logique métier de leur application, ce qui accélère le

13
processus de développement. Les avantages de Spring Boot sont sa simplicité, sa rapidité de
développement, sa compatibilité avec une variété de projets Spring et sa facilité d'utilisation avec
les environnements de cloud computing.[7]

Figure 5 : Logo de « SpringBoot »


- React

React est une bibliothèque JavaScript qui permet de construire des interfaces interactives
et dynamiques pour les applications web. Il a été développé par Facebook et est maintenant
maintenu par une communauté de développeurs actifs. React utilise une approche de
programmation déclarative et est basé sur un modèle de composants réutilisables. Il utilise une
syntaxe en JSX qui permet de mélanger du code HTML et JavaScript dans les composants. L'un
des avantages de React est sa capacité à gérer efficacement les mises à jour de l'interface utilisateur
en temps réel, ce qui en fait un choix populaire pour les applications à forte intensité de données.
D'autres avantages incluent sa modularité, sa compatibilité avec d'autres bibliothèques et
frameworks, et sa communauté active et en constante évolution.[8]

Figure 6 : Logo de « React »


6. Outils utilisée :

- Visual Studio

Visual Studio est un environnement de développement intégré (IDE) très polyvalent pour
les programmeurs, offrant une large gamme d'outils de développement puissants pour différents
langages de programmation et plateformes. Il offre des fonctionnalités de débogage en temps réel
et une interface utilisateur intuitive.[9]

14
Figure 7 : Logo de « Visual Studio »

- Intellij

IntelliJ est un IDE pour les développeurs de logiciels, principalement utilisé pour les
langages Java, Kotlin et Groovy, mais prend en charge d'autres langages. Avec des fonctionnalités
d'analyse de code, de refactorisation et de débogage, IntelliJ est un outil puissant pour créer des
applications pour des plateformes telles que Java, Android et le web.[10]

Figure 8 : Logo de « IntelliJ »

- Postman
Postman est un outil de développement d'API permettant aux développeurs de tester et de
déboguer facilement les API grâce à une interface utilisateur graphique. Avec des fonctionnalités
telles que la collection d'API et les tests automatisés, Postman est un outil essentiel pour les
développeurs.[11]

Figure 9 : Logo de « StarUML»

- StartUML

StarUML est un outil de modélisation UML pour les développeurs de logiciels, permettant
de créer des diagrammes pour représenter la structure et le comportement des systèmes logiciels.
Avec des fonctionnalités de génération de code et de prise en charge de plusieurs langages,
StarUML est un outil essentiel pour la conception et le développement de systèmes logiciels.[12]

15
Figure 10 : Logo de « StarUML»

7. Système de gestion de bases de données

- MySQL Workbench

MySQL Workbench est un outil de développement intégré (IDE) spécialement conçu pour
faciliter la gestion des bases de données MySQL.. Il permet aux développeurs de concevoir, de
modéliser, de générer des requêtes, de gérer et de documenter leurs bases de données à partir d'une
interface utilisateur graphique conviviale. MySQL Workbench peut être téléchargé gratuitement
et est compatible avec divers systèmes d'exploitation tels que Windows, MacOs et Linux. [13]

Figure 11 : Logo de « MySQL Workbench»

- HeidiSQL

HeidiSQL est un outil de gestion de base de données gratuit et open-source qui permet aux
utilisateurs de se connecter et de gérer des bases de données à l'aide d'une interface graphique
conviviale. Il prend en charge plusieurs types de bases de données, notamment MySQL, MariaDB,
PostgreSQL et Microsoft SQL Server.[14]

Figure 12 : Logo de « HeidiSQL»

16
III. Conception architecturale :

L'architecture englobe les modèles et les méthodes employés pour la génération et la création
d'applications.
A. Architecture physique :

L'architecture à trois niveaux est une application d'un modèle plus large composé de plusieurs
couches. La structure logique du système est divisée en trois niveaux qui sont :

❖ La couche de présentation correspond à la partie visible et interactive de l'application


pour l'utilisateur, également connue sous le nom d'interface homme-machine.

❖ La couche de traitement correspond à la partie fonctionnelle de l'application, où la


logique métier est mise en œuvre en interagissant avec la couche de présentation. Elle
définit le fonctionnement de l'application sur les données en réponse aux demandes de
l'utilisateur.

❖ La couche d'accès aux données est responsable de la gestion de l'accès aux données de
l'application. Ces données peuvent être spécifiques à l'application elle-même ou gérées
par d'autres applications.

Figure 13 : Architecture 3 tiers

17
B. Architecture logique :

L'architecture logique MVSC (Modèle-Vue-Contrôleur-Service) est un modèle de conception


utilisé dans le développement logiciel pour séparer les différentes responsabilités d'une
application. Elle est composée des éléments suivants :

• Modèle (Model) : Cette composante représente les données et la logique métier de


l'application. Elle est responsable de la manipulation des données, de leur validation et
de leur traitement.

• Vue (View) : La vue est responsable de l'affichage des informations à l'utilisateur. Elle
se concentre sur la présentation des données issues du modèle de manière claire et
compréhensible. La vue communique avec le contrôleur pour récupérer les données
nécessaires à l'affichage.

• Contrôleur (Controller) : Le contrôleur agit comme un intermédiaire entre la vue et le


modèle. Il reçoit les actions de l'utilisateur à travers la vue, interagit avec le modèle pour
récupérer ou mettre à jour les données, puis met à jour la vue en conséquence.

• Service : Le service est une composante facultative qui peut être utilisée pour encapsuler
la logique métier complexe qui ne correspond pas directement au modèle ou au
contrôleur. Il peut être utilisé pour effectuer des opérations spécifiques, manipuler des
données ou interagir avec d'autres services externes.

Figure 14 : Architecture logique

18
IV. Planification des projet :

Cette section aborde la réparation des composants du système en utilisant les méthodes
Agile et Scrum, qui consistent à planifier les besoins à travers des itérations courtes et itératives.,
en travaillant en étroite collaboration avec les parties prenantes pour s'assurer que les exigences
sont claires et que l'application évolue en fonction des besoins en constante évolution.

A. Planification des sprints :

Dans cette section, nous allons établir le calendrier de travail en optant pour le développement de
trois sprints dont la durée varie d'un sprint à l'autre. Le "Tableau 2" ci-dessous illustre les
different sprints.

ID Sprint Description Date début Date fin


-Authentification
1 Sprint 1 - Gestion des utilisateurs 8 Mars 8 Avril
- Gestion des stages
2 Sprint 2 - Validation de stage 9 Avril 8 Mai

- Gestion des stagiaires


3 Sprint 3 - Gestion des documents 9 Mai 3 juin
Table 2 : Planification des sprints

19
B. Gestion des réparations des parties du système à l'aide d'un diagramme de
découpage des travaux (Work Breakdown Structure - WBS) :

Figure 15: « Work Breakdown chart »

C. Diagramme de Gantt :

Figure 16 : « Diagramme de Gantt »

20
V. Analyse et spécification des besoins :
A. Backlog du Produit :
Le « tableau 3 » présente le Backlog du produit :

Table 3 : Backlog du produit

Id
Estimation
ID Thème Story User story Importance
En tant qu'utilisateur, j'ai
besoin de pouvoir accéder
à mon compte en utilisant Elevée
1.1
un identifiant (matricule)
et un mot de passe.
En tant qu'utilisateur, si
Authentification j'oublie mon mot de passe,
je souhaite pouvoir le
Elevée
1.2 récupérer à partir du 30
compte administrateur.
En tant qu'administrateur,
je dois être autorisé à
accéder au système de Elevée
1.3
gestion des utilisateurs.
En tant qu'administrateur,
je souhaite pouvoir
effectuer les actions
1 1.4 suivantes : ajouter, Elevée
Gestion des supprimer ou modifier des
utilisateurs utilisateurs.
En tant qu'administrateur,
je ne dois pas avoir de
conflits de noms
Elevée
1.5 d'utilisateurs dans le
système
En tant qu’agent ou chef
de service je dois être
autorisé à accéder au
Elevée
2.1 système de gestion des
stages dans l’application

21
Gestion des En tant qu’agent ou chef
stages de service je veux ajouter ,
supprimer , consulter ou Elevée
2.2
modifier les stages 30
2 En tant qu’agent ou chef
de service je veux gérer et
2.3 uploader les documents de Moyen
stages
En tant que chef de
service je dois être
autorisé à accéder au
Elevée
2.4 système de validation de
stages.
Validation de
stage En tant que chef de
service je dois être
2.5 autorisé à accepter ou Elevée
refuser un stage .
En tant qu’agent ou
encadreur je dois être
autorisé à accéder au
Elevée
3.1 système de gestion des
stagiaires.
En tant qu’agent je veux
ajouter , supprimer ,
Gestion des 3.2 consulter ou modifier les Elevée 26
stagiaires stagiaires.
En tant qu’encadreur je
veux évaluer et uploader
les notes dans la base de
3.3 Moyen
donnée de l’application les
stagiaires.
En tant qu’encadreur je
3 dois être autorisé à
3.4 accéder au système de Moyen
gestion des documents.
Gestion des En tant qu’encadreur je
documents dois être autorisé à
accéder au qui
3.5 Moyen
appartiennent aux
stagiaires.

22
B. Identification de l’équipe SCRUM

Notre équipe SCRUM se présente comme suit :

Rôle Product Owner SCRUM Master SCRUM Team

Membre Mr Khaled Saada Mme Chebil Wiem Baher khaldi

Table 4 : L’équipe SCRUM

C. Identification des acteurs

• Administrateur : Il est responsable de la gestion des utilisateurs de l'application.

• Agent : Il est responsable de la gestion des stages.

• Chef de service : Il est responsable de la validation des stages, en vérifiant que les stages
proposés par les agents répondent aux exigences de l'établissement.

• Encadreur : Il est responsable de la gestion des stagiaires et des documents de stage.

D. Les besoins fonctionnels

• Administrateur :
- Création facile de nouveaux comptes utilisateurs.
- Modification aisée des informations de compte existantes.
- Suppression rapide des comptes inactifs ou inappropriés.

23
• Agent :
- Création de nouveaux stages : L'application de gestion de stage permet de créer
facilement de nouveaux stages en saisissant les informations pertinentes telles
que le titre du stage, la description, les compétences requises, etc.

- Attribution des stages aux étudiants : L'application facilite l'attribution des stages
aux étudiants en tenant compte de leurs préférences, de leurs compétences et des
critères spécifiques du stage. Cela permet une gestion efficace de l'affectation des
stagiaires aux stages disponibles.

- Mise à jour des informations de stage : L’agent peuvent utiliser l'application pour
mettre à jour les informations relatives aux stages tels que les dates, les horaires,
les missions, etc.

- Suppression des stages : L'application permet également la suppression des stages


lorsque cela est nécessaire. Les agents peuvent supprimer les stages annulés,
terminés ou qui ne sont plus pertinents, assurant ainsi la clarté et la gestion
efficiente des stages actifs.
-
• Chef de service :
- Validation des stages proposés : L'application permet la validation des stages
proposés par les agents en évaluant leur conformité aux critères et aux objectifs
établis. Cela garantit que seuls les stages appropriés sont pris en considération pour
la suite du processus de gestion.
-
• Encadreur :
- Gérer les documents de stage : L'application permet de gérer les documents liés
aux stages, tels que les conventions de stage, les rapports d'évaluation ou tout autre
document nécessaire. Cela facilite le stockage, l'organisation et l'accès aux
documents pertinents tout au long du processus de stage.

24
- Consulter les stages affectés : L'application permet de consulter les stages affectés
aux différents stagiaires. Les responsables et les encadreurs peuvent accéder
rapidement aux détails des stages attribués, tels que les dates, les missions, les
objectifs, etc. Cela facilite la coordination et le suivi des stages au sein de
l'organisation.
E. Les besoins non fonctionnels

Sécurité :
- L'application doit être sécurisée pour protéger les données sensibles des étudiants, des
encadreurs et des autres utilisateurs.
- L'application doit être conforme aux normes de sécurité, telles que les protocoles de
cryptage des données, les contrôles d'accès, les mots de passe forts, etc.
Performance :
- Il est essentiel que l'application soit rapide et réactive afin de garantir une expérience
utilisateur fluide.
- Il est impératif que l'application puisse gérer des volumes importants de données sans se
figer ni ralentir.
Accessibilité :
- L'application doit être accessible à tous les utilisateurs, y compris ceux qui ont des besoins
d'accessibilité, tels que les personnes malvoyantes ou atteintes de handicaps physiques.
- L'application doit être facile à utiliser et intuitive pour tous les utilisateurs, y compris ceux
qui ne sont pas familiers avec les technologies de l'information.
Fiabilité :
- L'application doit être fiable et disponible en tout temps, sauf en cas de maintenance ou de
mises à jour prévues.
- L'application doit être capable de récupérer les données en cas de panne ou d'erreur.
Évolutivité :
- L'application doit être évolutive pour répondre aux besoins futurs des utilisateurs, tels que
l'ajout de nouvelles fonctionnalités ou la prise en charge d'un plus grand nombre
d'utilisateurs.
- L'application doit être facile à mettre à jour et à maintenir pour garantir sa durabilité.

25
F. Diagramme de cas d’utilisation :
Les figures ci-dessous représentent le diagramme de cas d’utilisation de
l’application
1. Diagramme de cas d’utilisation global :

Figure 17 : Diagrammes de cas d'utilisation global de stage

G. Diagramme de classe :

Un diagramme de classe est un type de représentation graphique de modélisation UML


(Unified Modeling Language) utilisé pour représenter la structure statique et les relations des
classes dans un système logiciel. Il permet de visualiser les classes, les attributs, les méthodes, les
relations d'association, d'héritage et de dépendance, ainsi que les contraintes de multiplicité. Le
diagramme de classe est largement utilisé dans le processus de conception de logiciels pour mieux
comprendre la structure du système et faciliter la communication entre les membres de l'équipe de
développement.[15]

26
1. Diagramme de classe de l’application

Figure 18 : Diagramme de classe global

Conclusion

En conclusion de ce chapitre, nous avons examiné l'environnement de travail, réalisé la


planification des besoins avec une méthode agile, analysé et spécifié les besoins, et abordé la
structure interne du système. Ce chapitre établit les bases solides pour le succès du projet et guide
nos prochaines étapes.

27
Chapitre 3 :
« Authentication et gestion des utilisateurs»

(Sprint 1)

28
I. Introduction
Dans ce chapitre, nous aborderons l'authentification et la gestion des utilisateurs dans
Backlog. L'authentification sécurise l'accès à l'application web, permettant aux utilisateurs d'être
identifiés de manière unique et d'accéder uniquement aux ressources autorisées. La gestion des
utilisateurs, quant à elle, permet la création, la modification et la suppression de comptes
utilisateurs dans votre application.
II. Backlog de premier sprint:
Vous trouverez dans « le tableau 5 » le backlog de premier sprint

ID Thème Id User story Importance Estimation


Story
En tant qu'utilisateur, j'ai
1.1 besoin de pouvoir Elevée
accéder à mon compte en
Authentification 15
utilisant un identifiant
(matricule) et un mot de
passe.
En tant qu'utilisateur, si
j'oublie mon mot de Elevée
1.2 passe, je souhaite pouvoir
le récupérer à partir du
1
compte administrateur.
En tant qu'administrateur,
je dois être autorisé à Elevée
1.3 accéder au système de
gestion des utilisateurs.
Gestion des
utilisateurs En tant qu'administrateur, 15
1.4 je souhaite pouvoir Elevée
effectuer les actions
suivantes : ajouter,
supprimer ou modifier
des utilisateurs.
En tant qu'administrateur,
je ne dois pas avoir de Elevée
1.5 conflits de noms
d'utilisateurs dans le
système

29
Table 5 : Backlog de premier sprint

A. Diagramme de cas d’utilisation du premier sprint :

Figure 19 : Diagramme de cas d’utilisation « Authentification»

Figure 20: Diagramme de cas d’utilisation « Gestion des utilisateurs»

30
1. Analyse des cas d’utilisation
i. Analyse de cas d’utilisation « Authentification »
• Description textuelle
Le « tableau 6 » représente la description textuelle de cas d’utilisation Authentification

Titre
Authentification

Acteurs Agent
Chef de service
Encadreur
Administrateur
Objectif
Accéder aux fonctionnalités autorisées au profil authentifié

L'acteur doit avoir un compte déjà créé.


Pré-conditions L'application doit être déployée et la connexion à la base de donnés doit être établie
pour vérifier les identifiants.

Post-conditions
L'acteur est connecté.

1- L'acteur demande l'accès au système.


Scenario 2- L'acteur saisit son login et son mot de passe.
nominal 3- Le système vérifie que toutes les données obligatoires sont saisies.
4- S’il y a une information manquante, l'exception 1 est lancée.
5- Le système vérifie l'existence de l'utilisateur.
6- Si l'un des données est erroné alors l'exception 2 est lancée.
7- Si l'utilisateur est identifiée, le système affiche son interface (selon ses droit
d'accès).
Exception 1: Le système affiche le message “ Champs obligatoire "
Exceptions Exception 2: Le système affiche le message "Nom d’utilisateur ou mot de passe
incorrecte "

Table 6 : Description textuelle du cas-d’utilisation « Authentification »

31
• Diagramme de séquence système de l’authentification:

Figure 21 : Diagramme de séquence détaillé « Authentification»

• Diagramme d’activité

32
Figure 22 : Diagramme d’activité « Authentification»
ii. Analyse de cas d’utilisation « Gestion des utilisateurs »
• Description textuelle
Le « tableau 7 » représente la description textuelle de cas d’utilisation Gestion des utilisateurs

Titre Gérer les utilisateurs

Le cas d'utilisation vise à décrire le processus de gestion des utilisateurs par


Objectif l’administrateur.

L'administrateur doit être autorisé à accéder au système de gestion des utilisateurs.


Pré-conditions Il ne doit pas y avoir de conflits de noms d'utilisateurs dans le système.

L’utilisateur est ajouté .


Post-conditions L’utilisateur est modifié.
L’utilisateur est supprimer.
1- L'administrateur se connecte au système de gestion des utilisateurs.
2- L'administrateur crée un nouveau compte utilisateur en entrant les informations
nécessaires telles que le nom, le prénom, le nom d'utilisateur, le mot de passe
et les autorisations d'accès.
Scenario 3- L'administrateur enregistre les informations du nouveau compte utilisateur
nominal dans le système de gestion des utilisateurs.
4- L'administrateur peut maintenant gérer les autorisations d'accès et les droits de
privilège pour le nouveau compte utilisateur, ainsi que pour les comptes
d'utilisateurs existants.
Table 7 : Description textuelle du cas-d’utilisation « Gérer les utilisateurs »

33
• Diagramme de séquence système :
La gestion des utilisateurs est une fonctionnalité clé dans de nombreuses applications,
permettant aux administrateurs de gérer efficacement les utilisateurs enregistrés. Pour améliorer la
compréhension et la lisibilité de ce processus, il peut être utile de diviser le diagramme de séquence
de la gestion des utilisateurs en trois parties distinctes :
Le premier diagramme de séquence peut représenter le processus d'ajout d'utilisateurs, où
l'administrateur crée de nouveaux comptes d'utilisateurs en fournissant des informations
d'identification et des détails sur les autorisations et les rôles des utilisateurs.

Figure 23 : Diagramme de séquence détaillé « Ajouter utilisateur»

Le deuxième diagramme de séquence peut représenter le processus de suppression des


utilisateurs, où l'administrateur peut supprimer les comptes d'utilisateurs existants de l'application.

34
Figure 24 : Diagramme de séquence détaillé « Supprimer utilisateur»

Le troisième diagramme de séquence peut représenter le processus de modification des


utilisateurs, où l'administrateur peut apporter des modifications aux informations d'identification,
aux autorisations ou aux rôles des utilisateurs existants.

35
Figure 25 : Diagramme de séquence détaillé « Modifier utilisateur»

En divisant le diagramme de séquence de la gestion des utilisateurs en trois parties


distinctes, il devient plus facile pour l'administrateur de comprendre et de gérer chaque étape du
processus de manière efficace et claire.

36
• Diagramme d’activité
o L’ajout d’un utilisateur

Figure 26 : Diagramme d’activité « Ajouter utilisateur»

37
o La suppression d’un utilisateur

Figure 27 : Diagramme d’activité « supprimer utilisateur»


o La modification d’un utilisateur

38
Figure 28 : Diagramme d’activité « Modifier utilisateur»

39
• Réalisation
Cette « figure 27» représente l’interface de l’ajout d’un utilisateur.

Figure 29 : Interface d’ajout d’un utilisateur

Cette « figure 28 » illustre le scénario de réussite lors de l'ajout d'un utilisateur.

Figure 30 : Interface de succès d’ajout d’un utilisateur

40
Cette « figure 29 » représente le scénario de réussite lors de la mise à jour d'un utilisateur.

Figure 31 : Interface de succès de modification d’un utilisateur

Cette « figure 30 » représente le scénario de réussite lors de la suppression d'un utilisateur.

Figure 32 : Interface de succès de suppression d’un utilisateur

41
III. Les tests avec Postman :
Au cours de ce chapitre, nous allons utiliser l'outil Postman pour effectuer des tests d'API. Les
tests d'API sont essentiels pour assurer le bon fonctionnement de l'application et garantir sa
qualité. Nous aborderons divers types de tests, tels que les tests d'ajout, de suppression et de
modification, afin de vérifier le comportement des API dans différentes situations.
A. Test d’ajout d’utilisateur :

Figure 33 : Test d’ajout avec Postman de l’utilisateur


B. Test de modification d’utilisateur:

Figure 34 : Test de suppression avec Postman de l’utilisateur

42
C. Test de suppression d’utilisateur:

Figure 35 : Test de modification avec Postman de l’utilisateur

Conclusion

Ce chapitre a abordé divers aspects essentiels tels que le backlog du premier sprint, les
diagrammes de cas d'utilisation, l'explication textuelle, les diagrammes d'activité, la réalisation
du projet et les tests avec Postman. L'ensemble de ces éléments a joué un rôle clé dans la réussite
de la conception et de l'implémentation d'un système d'authentification et de gestion des
utilisateurs. Grâce à ces efforts, les exigences fonctionnelles ont été satisfaites, offrant ainsi une
expérience utilisateur sécurisée et conviviale.

43
Chapitre 4 :
« Gestion des stages et validation des des stages»

(Sprint 2)

44
I. Introduction :
Ce chapitre aborde la gestion et la validation des stages dans Backlog. Les stages sont
essentiels pour la mise en pratique des connaissances et le développement de compétences
professionnelles. Dans Backlog, la gestion des stages est simplifiée avec une interface intuitive
permettant l'ajout, la modification et la suppression des stages. Nous examinerons le processus de
validation des stages, le suivi des progrès des stagiaires et la validation de leurs travaux. Enfin,
nous aborderons les bonnes pratiques et les défis liés à l'organisation des stages.
II. Backlog de deuxième sprint:
Vous trouverez dans le « tableau 8 » le backlog de deuxième sprint

ID Thème User Id Story Importance


story
En tant qu’agent ou chef de
service je dois être autorisé à Elevée
2.1 accéder au système de
2 gestion des stages dans
Gestion des l’application
stages En tant qu’agent ou chef de 15
2.2 service je veux ajouter , Elevée
supprimer , consulter ou
modifier les stages
En tant qu’agent ou chef de
2.3 service je veux gérer et Moyen
uploader les documents de
stages
En tant que chef de service
2.4 je dois être autorisé à Elevée
accéder au système de
Validation de
validation de stages.
stage 15
En tant que chef de service
2.4 je dois être autorisé à Elevée
accepter ou refuser un stage .
Table 8 : Backlog de deuxième sprint

45
A. Diagramme de cas d’utilisation du deuxième sprint :

Figure 36 : Diagramme de cas d’utilisation « Gestion des stages »

Figure 37: Diagramme de cas d’utilisation « Validation des stages »

46
1. Analyse des cas d’utilisation
i. Analyse de cas d’utilisation « Gestion des stages»
• Description textuelle
Le « tableau 9 » représente la description textuelle de cas d’utilisation Gestion des stages
Titre Gérer stage
Acteurs Agent et Chef de service
Le cas d'utilisation vise à décrire le processus de gestion des stages par un agent
Objectif dans l’application
L'agent doit être autorisé à accéder au système de gestion des stages dans
Pré- l’application
conditions Il doit y avoir des offres de stages disponibles
Post- Le stage est ajouté .
conditions Le stage est modifié.
Le stage est supprimer.
Le stage est consulté.
1- L'agent se connecte au système de gestion des stages.
2- L'agent fait l’ajout de stage dans la base de donnée.
Scenario 3- L’agent peut consulter le dossier de stage : il peut imprimer l'affectation de
nominal stage et la liste des stage pour télécharger dans la base de donnée.
4- S’il y a un mise à jour des données l’agent va faire des modification de stage
5- Si le stage est terminer ou annulée l’agent va faire une suppression de stage
Exceptions
Table 9 : Description textuelle du cas-d’utilisation «Gérer Stage»

• Diagramme de séquence système :

La gestion des stages est une fonctionnalité clé dans de nombreuses applications,
permettant aux responsables de superviser et de gérer efficacement les différentes étapes du
processus de stage. Pour améliorer la compréhension et la lisibilité de ce processus, il peut être
utile de diviser le diagramme de séquence de la gestion des stages en trois parties distinctes :
Le premier diagramme de séquence peut représenter le processus d'ajout de stages, où les
responsables peuvent créer de nouvelles offres de stage en fournissant des informations détaillées
sur les exigences, les responsabilités et les compétences requises pour le stage.

47
Figure 38 : Diagramme de séquence « Ajouter stage »

Le deuxième diagramme de séquence peut représenter le processus de suppression de


stages, où les responsables peuvent supprimer les offres de stage existantes de l'application une
fois que le stage est terminé ou annulé.

48
Figure 39: Diagramme de sequence « Supprimer stage »

Le troisième diagramme de séquence peut représenter le processus de modification de


stages, où les responsables peuvent apporter des modifications aux détails des offres de stage
existantes, telles que la durée du stage, les conditions de travail ou les rémunérations.

49
Figure 40 : Diagramme de sequence « Modifier stage »

En divisant le diagramme de séquence de la gestion des stages en trois parties distinctes, il


devient plus facile pour les responsables de comprendre et de gérer chaque étape du processus de
manière efficace et claire.

• Diagramme d’activité
o L’ajout d’un stage

50
Figure 41 : Diagramme d’activité « Ajouter stage»

o La suppression d’un stage

Figure 42 : Diagramme d’activité «supprimer stage»

51
o La modification d’un stage

Figure 43 : Diagramme d’activité «Modifier stage»

• Réalisation
Cette « figure 42 » représente l’interface d’ajout de stage.

Figure 44 : Interface d’ajout d’un stage

Cette « figure 43 » illustre le scénario de réussite lors de l'ajout d'un stage.

52
Figure 45 : Interface de succès d’ajout d’un stage

Cette « figure 44 » représente le scénario de réussite lors de la mise à jour d'un stage.

Figure 46 : Interface de succès de modification d’un stage

Cette « figure 45 » représente le scénario de réussite lors de la suppression d'un stage.

53
Figure 47 : Interface de succès de suppression d’un stage

III. Les tests avec Postman :


A. Test d’ajout stage :

Figure 48 : Test d’ajout de stage avec Postman

54
B. Test de modification stage :

Figure 49 : Test de mise à jour de stage avec Postman

C. Test de suppression stage :

Figure 50 : Test de suppression de stage avec Postman

55
ii. Analyse de cas d’utilisation « Validation des stages»
• Description textuelle
Le « tableau 10 » represente la description textuelle de cas d’utilisation Validation des stages
Titre Valider stage
Objectif Le cas d'utilisation vise à décrire le processus de validation d'un stage par un chef
de service dans un système informatique.
Le chef de service doit être autorisé à accéder au système de validation de stages.
Pré-conditions Il doit y avoir un stage en attente de validation dans le système.

Le statut du stage doit être correctement mis à jour dans le système de validation de
Post-conditions stages.
1- Le chef de service se connecte au système de validation de stages.
2- Le chef de service recherche le stage qui doit être validé.
3- Le chef de service examine les informations relatives au stage, telles que la
Scenario durée du stage, les objectifs du stage, les activités réalisées et les compétences
nominal acquises par l'étudiant.
4- Le chef de service vérifie que le stage a été effectué conformément aux
exigences de l'entreprise et aux normes établies.
5- Si le stage est satisfaisant, le chef de service valide le stage et met à jour le
statut du stage dans le système de validation de stages.
6- Si le stage n'est pas satisfaisant, le chef de service peut demander des
modifications ou des clarifications à l'étudiant avant de valider le stage.
Table 10 : Description textuelle du cas-d’utilisation «Valider Stage»

56
• Diagramme de séquence système :

Figure 51 : Diagramme de séquence « Valider stage »

Conclusion

Ce chapitre a abordé plusieurs éléments clés tels que le backlog du deuxième sprint, les
diagrammes de cas d'utilisation, l'explication textuelle, les diagrammes d'activité, la réalisation
du projet et les tests avec Postman. L'ensemble de ces composants a joué un rôle essentiel dans la
conception et la mise en place réussies d'un système de gestion des stages et de validation
efficace. Ce système répond aux exigences fonctionnelles et offre une solution pratique pour les
utilisateurs impliqués dans ce processus.

57
Chapitre 5 :
« Gestion des stagiaires et Gestion des documents»

(Sprint 2)

58
I. Introduction
La gestion des stagiaires est complexe et Backlot propose une fonctionnalité complète et
intégrée pour faciliter cette tâche. Dans ce chapitre, nous explorerons les fonctionnalités de gestion
des stagiaires et des documents, y compris l'ajout, la modification et la suppression des profils de
stagiaires. Nous aborderons également la création, la modification et le stockage des documents
de stage, ainsi que les bonnes pratiques de sécurité et de confidentialité.
II. Backlog de troisième sprint:
Vous trouverez dans le « tableau 11 » le backlog de troisième sprint

Table 11 : Backlog de troisième sprint

Id
ID Thème Story User story Importance Estimation

En tant qu’agent ou
encadreur je dois être
3 3.1 Elevée
autorisé à accéder au
système de gestion des
stagiaires.
Gestion des En tant qu’agent je veux
stagiaires 3.2 ajouter , supprimer , Elevée 13
consulter ou modifier les
stagiaires.
En tant qu’encadreur je
veux évaluer et uploader
3.3 les notes dans la base de Moyen
donnée de l’application les
stagiaires.
En tant qu’encadreur je
3.4 dois être autorisé à accéder Moyen
au système de gestion des
Gestion des
documents.
documents 13
En tant qu’encadreur je
3.5 dois être autorisé à accéder Moyen
au qui appartiennent aux
stagiaires.

59
A. Diagramme de cas d’utilisation du premier sprint :

Figure 52 : Diagramme de cas d’utilisation « Stagiaire »

Figure 53 : Diagramme de cas d’utilisation « Gestion des documents »

60
1. Analyse des cas d’utilisation
i. Analyse de cas d’utilisation « Gestion des stagiaires»
• Description textuelle
Le « tableau 12 » represente la description textuelle de cas d’utilisation gestion des stagiaires
Titre Gérer stagiaires
Le cas d'utilisation vise à décrire le processus de gestion des stagiaires par un agent
Objectif dans l’application.

Pré- L'agent doit être autorisé à accéder au système de gestion des stagiaires.
conditions Les informations des stagiaires doivent être disponibles

Post- Les informations des stagiaires doivent être correctement mises à jour dans le
conditions système.
1- L'agent se connecte au système de gestion des stagiaires.
2- L'agent choisit l'option de gestion des stagiaires.
3- L'agent peut effectuer différentes opérations sur les stagiaires, telles que la
consultation, la modification, la suppression ou l'ajout de stagiaires.
4- Si l'agent souhaite modifier les informations d'un stagiaire, il peut le faire
directement dans le système de gestion des stagiaires.
5- Si l'agent souhaite ajouter un nouveau stagiaire, il peut le faire en remplissant le
Scenario formulaire de demande et télécharger les documents nécessaires dans la base de
nominal données
6- Si l'agent souhaite supprimer un stagiaire, il doit s'assurer que cette action est
justifiée et qu'elle est en conformité avec les règles de gestion des stagiaires.
7- L'agent enregistre les modifications apportées aux informations des stagiaires
dans le système de gestion des stagiaires.
1- Si le système de gestion des stagiaires est indisponible, l'agent ne peut pas
accéder aux informations des stagiaires.
2- Si l'agent rencontre des difficultés lors de la gestion des stagiaires, il peut
contacter l'assistance technique pour obtenir de l'aide.
3- Si l'agent n'a pas les autorisations nécessaires pour effectuer une opération, il ne
pourra pas le faire.
4- Si l'agent doit modifier les informations personnelles d'un stagiaire (nom,
Exceptions prénom, adresse, etc.), il doit s'assurer que ces modifications sont autorisées et
que le stagiaire est informé de ces modifications.
5- Si l'agent doit ajouter un nouveau stagiaire, il doit s'assurer que toutes les
informations requises sont correctement renseignées dans le formulaire de
demande.
Table 12 : Description textuelle du cas-d’utilisation «Gérer stagiaires»

61
• Diagramme de séquence système :
o L’ajout de stagiaire

Figure 54 : Diagramme de séquence « Ajouter stagiaire »

62
o Suppression de stagiaire

Figure 55 : Diagramme de séquence « Supprimier stagiaire »

63
o Modification de stagiaire

Figure 56 : Diagramme de séquence « Modifier stagiaire »

• Diagramme d’activité:
o L’ajout d’un stagiaire

64
Figure 57 : Diagramme d’activité « Ajouter stagiaire»

o La suppression d’un stagiaire

Figure 58 : Diagramme d’activité « supprimer stagiaire»

65
o La modification d’un stagiaire

Figure 59 : Diagramme d’activité « Modifier stagiaire»

• Réalisation
Cette « figure 58 » représente l’interface d’ajout d’un stagiaire.

Figure 60 : Interface d’ajout d’un stagiaire

66
Cette « figure 59 » représente le scénario de réussite lors de l’ajout d'un stagiaire.

Figure 61 : Interface de succès d’ajout d’un stagiaire

Cette « figure 60 » représente le scénario de réussite lors de la mise à jour d'un stagiaire.

Figure 62 : Interface de succès de modification d’un stagiaire

Cette « figure 61 » représente le scénario de réussite lors de la suppression d'un stagiaire.

67
Figure 63 : Interface de succès de suppression d’un stagiaire

III. Les teste avec Postman (stagiaire)


A. Test d’ajout

Figure 64 : Test d’ajout de stagiaire avec Postman

68
B. Test de suppression

Figure 65 : Test de suppression de stagiaire avec Postman

C. Test de modification

Figure 66 : Test de modification de stagiaire avec Postman

69
i. Analyse de cas d’utilisation « Gestion des documents»
• Description textuelle
Le « tableau 13 » represente la description textuelle de cas d’utilisation gestion des documents

Titre Gérer document stage


Le cas d'utilisation vise à décrire le processus de gestion des documents (pointages,
Objectif rapports et notes) par un encadreur dans un système informatique
L'encadreur doit être autorisé à accéder au système de gestion des documents.
Pré- Les documents (présence, rapports et notes) doivent être enregistrés et disponibles
conditions dans le système.
La base de données doit être accessible pour l'encadreur.
Post- Les documents (présence, rapports et notes) doivent être correctement uploadés dans
conditions la base de données.

L'encadreur se connecte au système de gestion des documents.


L'encadreur choisit le type de document qu'il souhaite gérer : présence, rapports ou
notes.
L'encadreur recherche le document spécifique qu'il souhaite gérer.
L'encadreur peut effectuer différentes opérations sur le document, telles que la
consultation, la modification, la suppression ou l'ajout de commentaires.
Si l'encadreur souhaite modifier le document, il peut le télécharger, effectuer les
modifications nécessaires et le télécharger à nouveau dans le système de gestion des
documents.
Scenario Si l'encadreur souhaite ajouter des commentaires au document, il peut le faire
nominal directement dans le système de gestion des documents.
Si l'encadreur est satisfait des modifications, il upload le document dans la base de
données en suivant les procédures spécifiques.
L'encadreur enregistre les modifications apportées au document dans le système de
gestion des documents.

Table 13 : Description textuelle du cas-d’utilisation «Gérer Document»

70
• Diagramme de séquence système :
o L’ajout de document

Figure 67 : Diagramme de séquence « Ajouter document »

71
o Suppression de document

Figure 68 : Diagramme de séquence « supprimer document »

72
o Modification de document

Figure 69 : Diagramme de séquence « Modifier document »

73
• Diagramme d’activité
o L’ajout d’un document

Figure 70 : Diagramme d’activité « Ajouter document»

o La suppression d’un document

Figure 71 : Diagramme d’activité « supprimer document»

74
o La modification d’un document

Figure 72 : Diagramme d’activité « Modifier document»

75
• Réalisation

Cette « figure 71 » représente l’interface d’ajout d’un document.

Figure 73 : Interface d’ajout d’un document

Cette « figure 72 » représente le scénario de réussite lors de l’ajout d'un document.

Figure 74 : Interface de succès d’ajout d’un document

76
Cette « figure 73 » représente le scénario de réussite lors de la mise à jour d'un document.

Figure 75 : Interface de succès de modification d’un document

Cette « figure 74 » représente le scénario de réussite lors de la suppression d'un document.

Figure 76 : Interface de succès de suppression d’un document

77
IV. Les test avec Postman (document)
A. Test d’ajout

Figure 77 : Test d’ajout de document avec Postman

B. Test de suppression

Figure 78 : Test de suppression de document avec Postman

78
C. Test de modification

Figure 79 : Test de modification de document avec Postman

Conclusion

Dans ce chapitre, nous avons exploré plusieurs aspects importants de la gestion des stagiaires et
de la gestion des documents. Nous avons débuté en présentant le backlog du troisième sprint, qui
a établi les fonctionnalités clés à développer durant cette phase spécifique du projet. Ensuite,
nous avons examiné les diagrammes de cas d'utilisation, offrant une représentation visuelle des
interactions entre les utilisateurs et le système, ainsi que des scénarios d'utilisation possibles.

79
Conclusion générale et
perspectives
En conclusion, l'application web "Internship Management" développée avec Spring Boot et
React représente une opportunité exceptionnelle de mettre en pratique nos connaissances
théoriques dans le domaine du développement logiciel. Grâce à ce stage, nous avons pu acquérir
une expérience précieuse et développer nos compétences techniques.

L'application offre une solution complète et conviviale pour la gestion des stages. Elle permet
aux entreprises et aux responsables pédagogiques de collaborer efficacement tout au long du
processus de stage. Grâce à l'utilisation de Spring Boot et React, nous avons pu créer une
architecture robuste et modulaire, garantissant une performance optimale et une expérience
utilisateur fluide.

L'application offre des fonctionnalités essentielles telles que la gestion des offres de stage, la
candidature des étudiants, le suivi des tâches et des évaluations.

Ce projet nous a permis de développer de nouvelles compétences en matière de développement


web, d'approfondir notre compréhension des Framework Spring Boot et React.

En conclusion, l'application "Internship Management" offre une solution moderne et efficace


pour la gestion des stages, facilitant la collaboration entre les acteurs du processus de stage. Nous
sommes fiers du travail accompli et confiants dans l'impact positif que cette application aura sur
les entreprises, les étudiants et les établissements d'enseignement. Nous restons ouverts à
l'évolution continue de cette application en ajoutant de nouvelles fonctionnalités et en l'adaptant
aux besoins spécifiques de nos utilisateurs.

80
Webographies

[1] : [Link]

[2] : [Link]

[3] : [Link]

[4] : [Link]

[5] : [Link]

[6] : [Link]

[7] : [Link]

[8] : [Link]

[9] : [Link]

[10] : [Link]

[11] : [Link]

[12]: [Link]

[13] : [Link]

81
[14] : [Link]

[15]: [Link]

82

Vous aimerez peut-être aussi