Rapport Final 1
Rapport Final 1
MÉMOIRE
Présenté à
En vue de l’obtention
par
Baher Khaldi
A nos chers parents pour leur soutien, leur patience, leur encouragement
A tous nos amies, toute personne qui occupe une place dans nos
cœurs.
|Baher Khaldi
Remerciement
nous souhaitons remercier nos autres professeurs qui nous ont encouragés
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
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.
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.
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.
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.
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.
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.
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
Figure 2: Agile
B. SCRUM comme méthode agile adoptée :
1. Présentation et description :
5
2. Les 3 Rôles 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.
❖ Sprint 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.
❖ 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]
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.
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 classes : il décrit les classes, les attributs, les méthodes et les relations
entre les objets d'un système.
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]
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
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]
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]
- 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]
- 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]
- 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»
- 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]
- 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]
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 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.
17
B. Architecture logique :
• 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.
• 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.
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.
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.
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) :
C. Diagramme de Gantt :
20
V. Analyse et spécification des besoins :
A. Backlog du Produit :
Le « tableau 3 » présente le 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
• 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.
• 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.
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 :
G. Diagramme de classe :
26
1. Diagramme de classe de l’application
Conclusion
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
29
Table 5 : Backlog de premier sprint
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é
Post-conditions
L'acteur est connecté.
31
• Diagramme de séquence système de l’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
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.
34
Figure 24 : Diagramme de séquence détaillé « Supprimer utilisateur»
35
Figure 25 : Diagramme de séquence détaillé « Modifier utilisateur»
36
• Diagramme d’activité
o L’ajout d’un utilisateur
37
o La suppression 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.
40
Cette « figure 29 » représente le scénario de réussite lors de la mise à jour 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 :
42
C. Test de suppression d’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
45
A. Diagramme de cas d’utilisation du deuxième sprint :
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»
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 »
48
Figure 39: Diagramme de sequence « Supprimer stage »
49
Figure 40 : Diagramme de sequence « Modifier stage »
• Diagramme d’activité
o L’ajout d’un stage
50
Figure 41 : Diagramme d’activité « Ajouter stage»
51
o La modification d’un stage
• Réalisation
Cette « figure 42 » représente l’interface d’ajout de 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.
53
Figure 47 : Interface de succès de suppression d’un stage
54
B. Test de modification stage :
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 :
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
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 :
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
62
o Suppression de stagiaire
63
o Modification de stagiaire
• Diagramme d’activité:
o L’ajout d’un stagiaire
64
Figure 57 : Diagramme d’activité « Ajouter stagiaire»
65
o La modification d’un stagiaire
• Réalisation
Cette « figure 58 » représente l’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.
Cette « figure 60 » représente le scénario de réussite lors de la mise à jour d'un stagiaire.
67
Figure 63 : Interface de succès de suppression d’un stagiaire
68
B. Test de suppression
C. Test de modification
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
70
• Diagramme de séquence système :
o L’ajout de document
71
o Suppression de document
72
o Modification de document
73
• Diagramme d’activité
o L’ajout d’un document
74
o La modification d’un document
75
• Réalisation
76
Cette « figure 73 » représente le scénario de réussite lors de la mise à jour d'un document.
77
IV. Les test avec Postman (document)
A. Test d’ajout
B. Test de suppression
78
C. Test de modification
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.
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