Académique Documents
Professionnel Documents
Culture Documents
Université de la Manouba
Rapport
de projet de fin d'études
Sujet
Élaboré par :
Bouchoucha Wiem
Organisme d'accueil :
CENTRE DE CALCUL EL KHAWAREZMI
Encadré par :
ESEN Mme Hamida Amdouni
Société M. Jamel Aloui
Remerciements
Avant de présenter notre travail, nous tenons à exprimer notre grande reconnaissance
envers les personnes qui nous ont, de prés ou de loin, apporté leurs soutiens. Qu’ils trouvent
ici collectivement et individuellement l’expression de toute notre gratitude.
Aussi, nous exprimons notre parfaite reconnaissance et nos remerciements à notre encadrante
Mme. HAMIDA AMDOUNI. D’abord, pour le temps qu’elle a bien voulu consacrer à
l’encadrement, Aussi pour le suivi de ce travail et les conseils qu’elle nous a prodigués après
sa minutieuse lecture. Puis, les réunions qui ont rythmés les différentes étapes de la rédaction
de rapport.
Enfin, les discussions que nous avons tenues ont permis d’orienter ce travail d’une manière
sûre et pertinente. Nous la remercions vivement pour son effort, sa disponibilité et surtout
ses conseils qui ont largement contribués à rehausser la valeur de ce travail.
Que les membres de jury trouvent, ici, l’expression de nos remerciements pour l’honneur
qu’ils nous font en acceptant de juger ce travail.
Dédicaces
j’ai l’honneur d’exprimer ma gratitude à ceux qui sont toujours présents dans ma vie.
À mes chers parents, Je tiens à vous exprimer toute ma gratitude pour tout ce que
vous avez fait pour moi. Vous m’avez donné la vie, l’amour et le soutien inconditionnel dont
j’ai besoin pour grandir et réaliser mes rêves.
À mes chers frères Mohamed et Wajih, Je tiens à vous dire à quel point vous êtes
importants pour moi. Vous êtes mes amis, mes confidents et mes partenaires de vie, et je suis
chanceuse de vous avoir dans ma vie.
À mon cher frère Kais, Je tiens à te remercier du fond du cœur pour tout ce que tu
as fait pour m’aider dans mon projet. Ta contribution a été exceptionnelle et je suis très
reconnaissante de t’avoir à mes côtés. Tu m’as aidé à surmonter les obstacles, à trouver des
solutions créatives et à maintenir la motivation tout au long du processus.
Table des matières
Introduction générale 2
1 Étude Préalable 3
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Cadre du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Présentation de l’organisme d’accueil . . . . . . . . . . . . . . . . . . . . . . 4
1.3.1 Organigramme de CCk : . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Description du projet : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5 Étude de l’existant : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5.1 Analyse de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.5.2 Critique de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5.3 Solutions proposées . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.6 Méthodologie de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.6.1 Choix de la méthodologie . . . . . . . . . . . . . . . . . . . . . . . . 8
1.6.2 Méthodes classiques vs Méthode agiles . . . . . . . . . . . . . . . . . 9
1.6.3 Les 4 valeurs d’agiles . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6.4 Les 12 principes d’agiles . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.6.5 Présentation de la méthodologie SCRUM . . . . . . . . . . . . . . . . 10
1.6.6 Les artefacts de la méthode Scrum . . . . . . . . . . . . . . . . . . . 12
1.7 Les cérémonies de la méthode Scrum . . . . . . . . . . . . . . . . . . . . . . 13
1.7.1 Langage de modélisation à adopter : . . . . . . . . . . . . . . . . . . 14
1.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2 Planification et Architecture 16
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2 Identification des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.1 Identification des acteurs . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.2 Diagramme de contexte statique . . . . . . . . . . . . . . . . . . . . . 17
2.2.3 Identification des besoins fonctionnels . . . . . . . . . . . . . . . . . . 18
2.2.4 Besoins non fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3 Structure et découpage de projet . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3.1 Identification de l’équipe SCRUM . . . . . . . . . . . . . . . . . . . . 20
2.4 Backlog de produit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4.1 Structure des sprints . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5 Diagramme de cas d’utilisation global . . . . . . . . . . . . . . . . . . . . . . 24
2.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Ces dernières années, les nouvelles technologies ont rencontrées un grand succès et offrent
des capacités de plus en plus avancées. Ils facilitent la création et le déploiement d’applications
web innovantes qui répondent aux besoins des utilisateurs.
le Centre de Calcul elKhawarezmi est l’un des plus grands entreprises de Tunisie,
promouvant et facilitant l’utilisation des technologies numériques dans les universités et la
communauté scientifique. Il est également responsable de la recherche pour améliorer l’utili-
sation des technologies de l’information numérique dans l’enseignement supérieur au profit
des enseignants et des étudiants. Faciliter et peut aider les étudiants à trouver facilement des
informations sur les universités et les établissements en Tunisie.
C’est dans ce cadre, que le "CCK" nous a chargé et de concevoir, de développer et de mettre
en ligne un annuaire universitaire interactif qui comporte des détails et des informations
sur les universités et les établissements.
Ce rapport présente les différentes étapes de la réalisation de notre projet. Il est divisé en
5 chapitres.
Un premier chapitre intitulé « Étude de projet » consacré à la présentation du cadre général
du projet : l’organisme d’accueil, l’étude de l’existant et la solution adoptée. Puis, il aborde
la méthodologie appliquée pour assurer le bon déroulement de notre travail, ainsi que
l’architecture de notre projet.
Le deuxième chapitre « Planification et architecture » présente le backlog du produit de
notre projet. Il détaille les besoins fonctionnels et non fonctionnels, le diagramme de cas
d’utilisation générale ainsi que l’affectation des rôles de chaque membre de l’équipe SCRUM.
Nous passons ensuite au troisième chapitre « Sprint 1 : Gestion des intervenants » qui
représente notre premier sprint suivi par le quatrième chapitre « Sprint 2 : Consultation,
1
réclamation et évaluation des informations de l’annuaire » qui représente le deuxième sprint
de la plateforme.
Le cinquième et le dernier chapitre « Phase de Clôture » qui résume les divers outils utilisés
lors de la conception et le développement de la plateforme ainsi que les technologies que nous
avons inclues pour enrichir notre projet.
Et finalement, nous clôturons notre rapport par une conclusion générale qui résume le travail
effectué tout au long de la période de stage de projet de fin d’études.
2
Chapitre 1
Étude Préalable
1.1 Introduction
Pour qu’un projet aboutisse, il doit fournir une bonne étude préalable visant à approfondir
l’analyse de ses différentes dimensions d’innovation. Dans ce chapitre nous nous intéressons à
présenter le cadre général de notre projet. Il s’agit d’abord de présenter l’entreprise qui a
réalisé les travaux. Nous nous sommes ensuite attachés à examiner les solutions existantes et
adoptées. Enfin, nous commençons ce chapitre par une introduction à la méthodologie de
gestion du projet employé.
3
1.3 Présentation de l’organisme d’accueil
Le Centre de Calcul el-Khawarizmi (CCK) créé en octobre 1976 à la suite de
l’introduction de l’informatique en tant que spécialité universitaire à la faculté des sciences
de Tunis, le CCK avait pour vocation initiale de fournir des services de calcul aux éta-
blissements, agences et administrations relevant des ministères de l’éducation nationale et
de l’enseignement supérieur. Depuis lors, le CCK s’est engagé à promouvoir l’utilisation
des technologies numériques dans le milieu universitaire et scientifique en général, tout en
encourageant leur développement et leur optimisation. En tant qu’organisme de recherche, le
CCK poursuit son objectif d’améliorer l’utilisation des technologies de l’information et de la
communication dans le milieu universitaire, dans le but de favoriser l’épanouissement des
enseignants et des étudiants.[1]
4
1.3.1 Organigramme de CCk :
5
1.5.1 Analyse de l’existant
En effet, la CCK dispose d’un annuaire universitaire en ligne disponible dans l’adresse (
http ://www.annuaire.rnu.tn/ ).
Afin de préciser les fonctionnalités de notre application web, nous avons effectué une
étude des fonctionnalités disponible sur le site d’annuaire universitaire existant :
• Administrateur :
Il a pour missions de gérer son profil, gérer les universités et gérer les établissements.
• Visiteur :
6
1.5.2 Critique de l’existant
La critique existante est une méthode analytique qui consiste à évaluer objectivement les
forces et les faiblesses des systèmes, organisations, processus ou produits existants. Il vise
à identifier les problèmes et les opportunités d’amélioration afin de mettre en œuvre des
solutions appropriées et efficaces.
L’étude des différentes solutions existantes est une étape importante pour accomplir le
bon déroulement du projet et nous permettre d’atteindre nos objectifs. Dans cette partie
nous commençons par critiquer les fonctionnalités existantes dans l’application web.
L’un des avantages de l’annuaire universitaire est sa fonction de recherche qui permet aux
intervenants de trouver rapidement et facilement les informations qu’ils cherchent. Cependant,
malgré cet avantage, l’annuaire universitaire peut présenter quelques inconvénients. Tout
d’abord, certaines informations peuvent être obsolètes, incomplètes ou inexactes. Les utilisa-
teurs doivent donc être prudents lors de l’utilisation de l’annuaire et vérifier les informations
auprès des sources officielles.
De plus, l’annuaire universitaire n’est pas entièrement à jour et peut ne pas inclure toutes
les informations dont les utilisateurs ont besoin. Par exemple, les nouvelles recherches.
Enfin, cet annuaire universitaire n’est pas suffisamment interactif pour encourager l’enga-
gement des intervenants. Par exemple, il n’offre pas des fonctionnalités de mise en réseau
social ou de partage de contenu qui pourraient être utiles pour les étudiants et les enseignants.
En conclusion, l’annuaire universitaire actuel peut être une source utile pour les membres
de la communauté universitaire. Cependant, il peut présenter des inconvénients tels que des
informations obsolètes ou incomplètes, une accessibilité limitée et une interaction insuffisante.
d’ajouter des fonctionnalités interactives pour encourager l’engagement des utilisateurs.
7
1.5.3 Solutions proposées
Pour remédier aux problèmes évoqués précédemment, nous proposons de développer une
application web qui permet :
-L’actualisation des données et leur mise à jour : Pour garantir l’exactitude et la
pertinence des informations fournies par l’annuaire universitaire.
-Utiliser les filtres de recherche : pour filtrer les résultats en fonction de la localisation et
de la spécialité.
-L’ajout des fonctionnalités interactives : Pour améliorer l’engagement des utilisateurs,
il serait judicieux d’ajouter des fonctionnalités interactives à l’annuaire comme les fonction-
nalités de mise en réseau social ou de partage du contenu.
Le choix entre les différentes méthodes de gestion de projet dépend de plusieurs facteurs
tels que la nature du projet et sa taille. Pour les projets de petite envergure, impliquant un
domaine bien maîtrisé, un cycle de vie en cascade peut suffire. Toutefois, pour les projets
dont les données ne sont pas disponibles dès le départ ou dont les besoins sont flous, une
méthode itérative ou orientée prototypes est plus appropriée. Les méthodes AGILE sont
largement utilisées aujourd’hui dans le monde et sont considérées comme des méthodes
itératives efficaces. Les méthodes AGILE sont collaboratives et s’adaptent aux approches
incrémentales, ce qui permet de produire des produits de haute qualité tout en tenant compte
8
de l’évolution des besoins du client. Elles assurent une meilleure communication avec le
client et une meilleure visibilité du produit livrable. Elles permettent également de détecter
les problèmes dès le début, ce qui permet de prendre des mesures correctives sans trop de
pénalités en termes de coûts et de délais. Étant donné la nature évolutive du projet, nous
avons opté pour une méthode AGILE, en particulier SCRUM. [2]
Fonctionne bien avec les grands projets et les Adapté aux projets de petite et moyenne taille
projets gouvernementaux
9
1.6.4 Les 12 principes d’agiles
La méthodologie SCRUM est basée sur un processus de développement itératif qui consiste
à réaliser des livraisons fréquentes de logiciel en ajoutant de nouvelles fonctionnalités à chaque
itération. La transparence est une valeur clé de SCRUM, qui maintient une liste visible de
toutes les demandes de corrections et d’évolutions à implémenter. Ainsi, le client peut suivre
l’avancement du projet et recevoir un logiciel fonctionnel à chaque itération, environ toutes
les 4 semaines. Au fur et à mesure que le projet avance, le logiciel est enrichi de nouvelles
fonctionnalités et devient de plus en plus complet. [2]
Pour cela, la méthode s’appuie sur des développements itératifs à un rythme constant
d’une durée de 2 à 4 semaines. La figure 1.5 illustre le cycle de vie de la méthode SCRUM.
La figure illustre le processus de mise en œuvre de la méthode SCRUM, qui commence par
la définition des fonctionnalités de l’application pour former le backlog du produit. Ensuite,
10
Figure 1.5 – Cycle de vie de méthode SCRUM [2]
la planification du sprint est effectuée pour élaborer un plan détaillé de chaque itération,
généralement d’une durée de deux à quatre semaines. Tout au long du sprint, les membres
de l’équipe tiennent des réunions quotidiennes pour présenter l’état d’avancement de leurs
tâches respectives, discuter des difficultés rencontrées et planifier les tâches restantes. Une
fois le sprint terminé, le produit partiel est examiné pour assurer sa conformité et l’améliorer
en fonction des résultats de la rétrospective..
Nous pouvons remarquer quatre valeurs principales dans les méthodes agiles [3] :
L’équipe : nous nous concentrons sur les personnes et leurs interactions plutôt que sur
les processus et les outils.
L’application : le plus important c’est d’avoir une application fonctionnelle plutôt que
d’avoir une documentation complète.
Organisation
11
sprint sur la base des valeurs (charges) qui lui sont communiquées par l’équipe.
— Equipe s’organise elle-même et elle reste inchangée pendant toute la durée d’un sprint.
Elle doit tout faire pour délivrer le produit.
• «Sprint Backlog» : Représente une partie des Users Stories indiquées dans le Product
Backlog qui ont été prises en charge par l’équipe Scrum.
• «Incrément» : En plus des artefacts qui ont été achevés dans le sprint précédent,
l’incrément Scrum représente tous les éléments "achevés" du sprint actuel.
12
1.7 Les cérémonies de la méthode Scrum
Les cérémonies de la méthode Scrum sont :
• «Sprint» :Il s’agit d’une itération ou d’une période de développement qui est fixe et
qui ne peut pas varier pendant le travail, elle contient un ensemble d’exigences (User
Stories) à développer.
• «Sprint planning meeting» :Il s’agit d’une session au cours de laquelle il est nécessaire
de définir l’objectif du sprint et les éléments prioritaires du Backlog de produit.
• «Daily Scrum» : : est une réunion qui a lieu au début de chaque journée entre les
membres de l’équipe pour échanger et partager ce qu’ils ont fait, ce sur quoi ils vont
travailler et les obstacles auxquels ils sont confrontés.
13
1.7.1 Langage de modélisation à adopter :
14
1.8 Conclusion
Au début de ce chapitre, nous avons exposé le contexte général de notre projet ainsi que
présenté l’organisme d’accueil.
Ensuite, Nous avons effectué une analyse de l’existant pour identifier les points forts et les
points faibles du système en place chez CCK. Cette analyse a conduit à la proposition de la
solution que nous avons présentée précédemment. Enfin, nous avons déterminé notre choix de
méthodologie et de langage de modélisation pour ce projet. Le prochain chapitre portera sur
la présentation des acteurs impliqués dans le système et de leurs interactions avec celui-ci,
ainsi que sur l’exposition des besoins fonctionnels et non-fonctionnels de notre projet.
15
Chapitre 2
Planification et Architecture
2.1 Introduction
Ce chapitre se concentre sur l’analyse et la spécification des besoins. Nous commençons
par la spécification des besoins fonctionnels et non fonctionnels de notre projet. Ensuite,
notre backlog de produit. Puis, nous présentons l’environnement de travail et les technologies
utilisées. Enfin, nous terminons ce chapitre par une présentation de l’architecture de notre
application.
Dans cette partie, nous décrivons les différents intervenants qui interagissent avec notre
système. En effet, un intervenant peut accéder et/ou modifier directement l’état du système
en émettant ou en recevant des messages, potentiellement par l’intermédiaire de porteurs de
données.
16
Les principaux acteurs du notre système et ses rôles :
• Visiteur : il a pour mission de consulter les actualités, et les détails concernant les
universités ainsi que leur établissements, des recommandations et des évaluations sur le
contenu des établissements.
• Administrateur : il a pour missions de gérer son profil, gérer les universités et traiter
les demandes de modifications effectués par le directeur de l’université ou le directeur
de l’établissement.
17
2.2.3 Identification des besoins fonctionnels
Nous pouvons décrire les exigences fonctionnelles ou les cas d’utilisation en utilisant
le langage de modélisation UML comme suit : "Un cas d’utilisation (ou use case) est une
séquence d’actions effectuées par le système pour produire un résultat observable qui est
important pour un acteur particulier. Chaque cas d’utilisation spécifie le comportement
attendu du système dans son ensemble, sans imposer de contraintes sur la façon dont ce
comportement doit être implémenté". Chaque exigence fonctionnelle représente donc un
ensemble d’actions réalisées par le système pour répondre aux besoins de l’utilisateur.[7]
18
Les Besoins fonctionnels de l’acteur«Directeur d’université» :
–S’authentifier : Pour pouvoir accéder à son profil, le directeur d’université doit s’authentifier
en spécifiant un login et un mot de passe.
–Gérer son profil : La plateforme permet au directeur d’université de gérer son profil.
–Gérer les informations de l’université : la plateforme permet au directeur d’université de
gérer les informations de son université comme l’emplacement, l’historique, les établissements
liés à cet université.
–Gérer les établissements : La plateforme permet au directeur d’université d’ajouter, de
modifier et de supprimer les établissements ainsi que leur directeur d’établissement.
Gérer les demandes de modifications de son université : La plateforme permet au
directeur de l’université d’envoyer une demande de modification des informations à l’adminis-
trateur.
Les besoins non fonctionnels font référence aux exigences qui ne sont pas directement
liées aux fonctionnalités de l’application, mais qui ont une importance cruciale pour garantir
la qualité, la fiabilité et la performance du système.
Nous énumérons dans ce qui suit les principaux besoins non fonctionnels de notre l’application :
— Sécurité : L’application devra être sécurisée, les projets ne devront pas être accessible
à tous les utilisateurs. En effet l’application est accessible par un identifiant et un mot
de passe attribué à chaque rôle (User / Admin). Notons que les deux rôles n’ont pas
19
les même accès à l’application et n’ont pas aussi la même gestion des permissions par
projet.
— Convivialité : L’application doit être simple et facile à manipuler même pour les non
initiés.
20
2.4 Backlog de produit
Nous amorçons le processus en établissant le backlog de produit, qui consiste en une liste
de fonctionnalités à implémenter, classées par ordre de priorité. Les priorités sont établies en
concertation avec le client et le chef de projet lors de réunions dédiées. Le backlog de produit
sert également à établir le plan de chaque sprint en incluant les fonctionnalités à réaliser d’ici
la date butoir de chaque itération.
La complexité des tâches est fait à l’aide de la suite Fibonacci. Cette dernière est une suite
d’entiers , dont chaque valeur est la somme des deux précédentes, en considérant les deux
valeurs initiales 0 et 1. Le début de cette suite est : 0, 1, 2, 3, 5, 8, 13, ... jusqu’à l’infini. La
priorité du user story selon la valeur métier et l’ordre de réalisation.
Le tableau 2.1 expose le Backlog de produit de notre solution. La lettre «P» signifie Priorité
et la lettre «C» signifie Complexité.
21
6 Gérer les informations En tant que directeur d’université, je peux 3 2
d’un établissement gérer les informations de mon établissement
7 Traiter les demandes de En tant qu’administrateur je peux traiter les 2 3
modifications demandes de mise à jour du directeur d’uni-
versité et du directeur d’établissement.
8 Consulter les établisse- En tant que visiteur, je peux consulter les 1 2
ments établissements.
9 Chercher établissements En tant que visiteur, je peux chercher des 3 3
établissements en spécifiant le nom.
10 Recommander des établis- En tant que visiteur, je peux recommander 2 1
sements des établissements.
11 Évaluer les informations En tant que visiteur, je peux évaluer des éta- 2 3
des établissements blissements.
12 Consulter les statistiques En tant que visiteur, je peux consulter les 1 2
statistiques.
Une fois que nous avons terminé le backlog du produit, nous avons établis une réunion de
planification. Le but de cette réunion est de construire le backlog de sprint en se basant sur
le backlog de produit réalisé par le Product Owner. A la fin, nous avons identifié, les durées
prévisionnelles du travail à effectuer durant chaque sprint.
Nous choisissons d’effectuer deux Sprints dans notre projet :
22
– Gérer universités.
–Gérer établissements.
–Traiter les demandes de mise à jour.
–Date début : 11 Mars 2022
–Date fin : 31 Mars 2022.
23
2.5 Diagramme de cas d’utilisation global
Le diagramme de cas d’utilisation, présenté par la figure 2.4, permet de synthétiser les
spécifications générales de notre application web ainsi que les fonctionnalités de chaque acteur
du système. Il présente les différentes fonctionnalités de l’utilisateur et le visiteur de notre
application. L’utilisateur doit s’authentifier pour accéder à son espace.
24
2.6 Conclusion
Au sein de ce chapitre, nous avons déterminé les acteurs et identifié le backlog du produit
à travers l’identification des besoins fonctionnels et non-fonctionnels de notre projet. Ensuite,
nous avons fait la première étape de Scrum en déterminant l’équipe, réalisant le diagramme
global des cas d’utilisation, enfin, nous avons identifié le backlog produit et les sprints de
notre projet.
Dans le prochain chapitre, nous passerons à notre premier sprint, qui finit par être la première
version possible.
25
Chapitre 3
3.1 Introduction
Après avoir effectué une analyse et une spécification des besoins globaux de notre projet,
ce chapitre se concentre sur les différentes étapes du premier sprint nommé «Gestion des
intervenants». Nous commençerons par exposer le backlog de sprint, suivi d’une analyse
détaillée, d’une spécification fonctionnelle, de la conception, de l’implémentation et des tests.
Le sprint "gestion des intervenants" vise à mettre en place un système d’authentification
sécurisé pour les utilisateurs qui accèdent à l’application développée dans le cadre du projet.
Cela implique notamment l’identification des différents types d’utilisateurs qui ont accès à
notre application web.
26
Id Titre User Story Priorité
1 S’authentifier En tant qu’utilisateur, qui peut être ad- 3
ministrateur, directeur d’université ou
directeur d’établissement je dois m’au-
thentifier pour accéder à la plateforme.
2 Gérer profil En tant qu’utilisateur, qui peut être ad- 2
ministrateur, directeur d’université ou
directeur d’établissement, je peux gérer
mon profil.
3 Gérer université En tant qu’administrateur, je peux ajou- 3
ter, modifier ou supprimer une univer-
sité ainsi que son directeur.
4 Gérer les informations d’une En tant que directeur d’université, je 2
université peux ajouter, modifier ou supprimer des
informations sur mon université par l’en-
voie d’une demande de mise à jour à
l’administrateur.
5 Gérer établissement En tant que directeur d’université, je 3
peux ajouter, modifier, supprimer un
établissement, ainsi que son directeur.
6 Gérer les informations d’un En tant que directeur d’établissement, 3
établissement je peux ajouter, modifier ou supprimer
des informations sur mon établissement
par l’envoie d’un demande de mise à
jour à l’administrateur.
7 Traiter les demander de mise En tant qu’administrateur, je peux trai- 2
à jour ter les demandes de mise à jour de di-
recteur d’université ou directeur d’éta-
blissement.
27
3.3.1 Diagramme de cas d’utilisation du premier sprint
28
3.4 Analyse des cas d’utilisation du premier sprint :
29
Diagramme de séquence de s’authentifier
30
Analyse de cas d’utilisation « Consulter profil » :
31
Description textuelle de cas d’utilisation « Modifier profil » :
32
Diagramme de séquence système du cas d’utilisation « Modifier profil »
Figure 3.6 – Raffinement du cas d’utilisation «Gérer les informations d’un établissement»
33
Analyse de cas d’utilisation « Consulter les informations d’un établissement »
34
Analyse de cas d’utilisation Demander des modifications sur un établissement
Table 3.6 – Description textuelle de cas d’utilisation «Demander des modifications d’un
établissement»
35
Diagramme de séquence « Demander des modifications des informations d’un
établissement »
Figure 3.8 – Diagramme de séquence « Demander des modifications des informations d’un
établissement »
36
3.4.4 Analyse de cas d’utilisation « Gérer les établissements »
37
Diagramme de séquence du cas d’utilisaion « Consulter les établissements »
38
Analyse de cas d’utilisation « Ajouter établissement »
39
Diagramme de séquence du cas d’utilisation « Ajouter établissement»
40
Analyse de cas d’utilisation « Modifier établissement »
41
Figure 3.12 – Diagramme de séquence « Modifier établissement »
42
Scénario nominal 1-Directeur d’université clique sur «Supprimer établissement».
2-Le système affiche la suppression d’un établissement ainsi
que son directeur.
3-Directeur d’université valide la suppression.
4-Le système affiche un message indiquant que l’établissement
est supprimé.
Scénario alternatif 3.a-Directeur d’université annule la suppression.
3.a.1-Le système annule la suppression.
3.a.2-Reprise de l’étape 1 du scénario nominal.
43
3.4.5 Analyse de cas d’utilisation « Gérer les informations d’une
université »
Figure 3.14 – Raffinement du cas d’utilisation « Gérer les informations d’une université »
44
Diagramme de séquence « consulter une université »
45
Analyse de cas d’utilisation Demander des modifications sur une université
Table 3.12 – Description textuelle de cas d’utilisation « Demander des modifications d’une
université »
46
Diagramme de séquence « Demander des modifications des informations d’une
université »
47
3.4.6 Analyse de cas d’utilisation « Gérer les universités » :
48
Diagramme de séquence du cas d’utilisation « Consulter les universités »
49
Analyse de cas d’utilisation « Ajouter université »
50
Diagramme de séquence du cas d’utilisation « Ajouter université »
51
Analyse de cas d’utilisation « Modifier université »
52
Diagramme de séquence du cas d’utilisation « Modifier université »
53
Analyse de cas d’utilisation « Supprimer université »
54
Diagramme de séquence « Supprimer université »
Figure 3.22 – Raffinement du cas d’utilisation « traiter les demandes de mise à jour »
55
Analyse de cas d’utilisation « Consulter les demandes de mise à jour »
Table 3.17 – Description textuelle de cas d’utilisation « Consulter les demandes de mise à
jour »
56
Analyse de cas d’utilisation « Approuver/Refuser les demandes de mise à jour »
57
Diagramme de séquence « Approuver/Refuser les demandes de mise à jour »
Le diagramme des classes participantes est un élément clé qui relie les cas d’utilisation
aux diagrammes de conception logicielle tels que les diagrammes d’interaction et de classes.
Il représente trois types de classes d’analyse, à savoir les classes de dialogue, de contrôle et
d’entité, ainsi que leurs relations. C’est une étape importante dans la modélisation de notre
système car elle permet de visualiser l’interaction entre les différentes classes et de mieux
comprendre le fonctionnement global du système.[8]
58
Diagramme de classes participants par acteur «Utilisateur».
59
Diagramme de classes participants par acteur «Directeur d’université».
60
3.5.2 Diagramme de séquence détaillé :
61
Diagramme de séquence détaillé de cas d’utilisation « Consulter profil»
62
Diagramme de séquence détaillé « Gérer les informations d’un établissement »
63
Diagramme de séquence détaillée du cas d’utilisation «Demande des modifications
des informations d’un établissement»
Figure 3.33 – Diagramme de séquence détaillé de cas d’utilisation «Demande des modifica-
tions des informations d’un établissement»
64
Diagramme de séquence détaillé « Gérer établissement »
Figure 3.34 – Diagramme de séquence détaillé de cas d’utilisation « Afficher la liste des
établissements »
65
Diagramme de séquence détaillé du cas d’utilisation « Ajouter établissement »
66
Diagramme de séquence détaillé de cas d’utilisation « Modifier établissement »
67
Diagramme de séquence détaillé de cas d’utilisation « Supprimer établissement »
68
Diagramme de séquence détaillé de cas d’utilisation «Demande des modifications
des informations d’une université»
Figure 3.39 – Diagramme de séquence détaillé de cas d’utilisation «Demande des modifica-
tions des informations d’une université»
69
Diagramme de séquence détaillé « Gérer les université»
Figure 3.40 – Diagramme de séquence détaillé de cas d’utilisation «Afficher la liste des
universités »
70
Diagramme de séquence détaillé du cas d’utilisation « Ajouter université »
71
Diagramme de séquence détaillé du cas d’utilisation « Modifier université »
72
Diagramme de séquence détaillé du cas d’utilisation « Supprimer université »
Figure 3.44 – Diagramme de séquence détaillé de cas d’utilisation «Consulter les demandes
de mise à jour»
73
Diagramme de séquence détaillée du cas d’utilisation «Approuver/Refuser un
demande de mise à jour»
74
Figure 3.46 – Diagramme de classe globale du premier sprint
3.7 Implémentation
L’étape d’implémentation ou de "codage" consiste à mettre en œuvre les "user stories" qui
ont été traitées lors du premier sprint. Pendant cette étape, nous allons définir la structure
de la base de données pour le sprint en cours, tout en appliquant les règles de transformation
du modèle entité/association en modèle relationnel.
75
3.7.1 Les Schéma de la base de données
76
Attribut Type Contrainte
id INT(20) PRIMARY KEY
adresse VARCHAR(255) -
description VARCHAR(255) -
email VARCHAR(255) -
fax VARCHAR(255) -
name VARCHAR(255) -
téléphone VARCHAR(255) -
établissement-id INT(20) FOREIGN KEY
3.7.2 Maquettes
Cette section a pour but de présenter les différentes interfaces développées au cours de ce
sprint sous forme de maquettes. Le maquettage est une technique de conception d’interface
qui permet de simuler de manière complète ou partielle les interfaces utilisateur attendues
afin d’obtenir une idée de la manière dont les utilisateurs interagiront avec l’application à
venir.
77
Maquette de l’interface «Authentification»
78
Maquette de l’interface «Liste des universités»
79
Maquette de l’interface «Modifier université»
80
Maquette de l’interface «Demande de modification»
Les figures 3.47/ 3.48/ 3.49/ 3.50,/ 3.51/ 3.52/ 3.53/ 3.54 présente les maquettes des
interfaces réalisées de sprint 1 qui sont la maquette de l’interface d’authentification, la
maquette de l’interface "Consulter profil", la maquette de l’interface "Modifier profil", la
maquette de l’interface de "liste des universités", la maquette de l’interface de "Ajouter
université", la maquette de l’interface de "Modifier université", la maquette de l’interface de
"Supprimer université", la maquette de l’interface de "Consulter établissement, la maquette
de l’interface de "Demander des modifications", et la maquette de l’interface de "Traiter les
demandes de mise à jour".
81
3.7.3 Réalisation
Cette partie est consacrée à l’exposition du travail achevé à travers des captures d’écrans
de différentes interfaces développées durant ce sprint.
82
La figure 3.55 présente l’interface d’authentification et l’interface de récupération de mot
de passe. Pour s’authentifier, l’utilisateur doit saisir son email et son mot de passe. Puis,
il doit collectionner sur le bouton "se connecter". S’il a oublié son mot de passe, il doit
sélectionner sur le lien "Mot de passe oublié ?" pour récupérer son mot de passe.
83
Figure 3.57 – Interface «Liste des établissements»
3.7.4 Test
Dans la méthode agile, les tests jouent un rôle crucial pour assurer la fiabilité des fonc-
tionnalités développées. Il est impératif de les effectuer avant chaque sprint afin de garantir
que le développement se déroule sans encombre. En d’autres termes, l’importance des tests
ne peut être sous-estimée dans le processus de développement agile.
Un test unitaire est une méthode qui permet de vérifier le bon fonctionnement d’une
unité de programme. En d’autres termes, il s’agit d’un processus qui permet de confirmer
que l’unité de code testée fonctionne comme prévu.
En utilisant Spring Boot pour développer notre application web, nous avons l’avantage
de bénéficier de fonctionnalités intégrées pour effectuer différents types de tests. Pour tester
les API REST, nous pouvons utiliser l’outil de test Postman qui nous permet de vérifier
84
facilement le fonctionnement de nos endpoints. En outre, Spring Boot offre des options de test
unitaire et d’intégration avec des classes de test intégrées pour s’assurer que notre application
fonctionne correctement à tous les niveaux.
85
Figure 3.60 – Interface de résultat du test d’ajout d’une université.
En cas d’échec, notre méthode de test doit retourner un message indiquant que l’université
est déjà existe.
86
Figure 3.62 – Code de source de la méthode de test d’ajout d’une université.
87
Figure 3.65 – Code de source de la méthode de test de modification d’une université.
En cas d’échec, notre méthode de test doit retourner un message indiquant que la méthode
testée n’a pas retourné le résultat prévu. Nous avons essayé de modifier une université en
déclarant l’attribut ‘adresse’ est NULL et nous avons eu un message d’échec.
88
Figure 3.67 – Code de source de la méthode de test de modification d’une université.
89
Le test unitaire du cas d’utilisation « Supprimer Université »
En cas d’échec, notre méthode de test doit retourner un message indiquant que l’université
n’existe pas.
90
Figure 3.72 – Code de source de la méthode de test de suppression d’une université.
91
Figure 3.74 – Tableau de valeurs de Brundown Chart du sprint 1.
92
Figure 3.75 – Diagramme de Burn down Chart du sprint 1.
3.8 Conclusion
A travers ce chapitre, nous avons présenté notre conception du premier sprint de notre
application. Nous avons fourni, dans un premier lieu, une conception globale de l’organisation
de notre système. Ensuite, nous avons présenté la conception détaillée à travers des diagrammes
UML et des tableaux du cas d’utilisation. Enfin, nous avons présenté les maquettes et les
interfaces réalisées.
Dans le chapitre suivant nous allons passer à la mise en œuvre du deuxième sprint de notre
projet.
93
Chapitre 4
4.1 Introduction
Maintenant, que le premier sprint de notre projet est terminé, nous nous tournons vers la
mise en œuvre du deuxième sprint.
Nous commençons par présenter le backlog de sprint suivi d’une analyse détaillée et d’une
conception.
4.2 Sprint 2
le but de sprint est de mettre en oeuvre les stories qui sont présentées par le tableau de
backlog de sprint.
Nous commençons cette partie en présentant le backlog de sprint, suivi d’une analyse
approfondie et d’une phase de conception. Nous illustrons ensuite cette partie avec des
maquettes et des interfaces créées au cours de ce sprint.
Le tableau 4.1 décrit les stories de notre backlog de sprint 2.
94
Id Titre User Story Priorité
1 Consulter les établissementsEn tant que visiteur, je veux consulter 1
les établissements
3 Chercher des établissements En tant que visiteur, je veux chercher 3
des spécialités.
4 Chercher les spécialités En tant que visiteur, je veux chercher 3
des spécialité.
5 Recommander établissement En tant que visiteur je veux recomman- 2
der un établissement.
6 Evaluer établissement En tant que visiteur, je veux évaluer un 2
établissement.
2 Consulter les statistiques En tant que visiteur, je veux consulter 1
les statistiques.
95
Ce diagramme de cas d’utilisation présente les différentes fonctionnalités qu’un visiteur
peut effectuer. Il peut :
✓Consulter les établissements.
✓Chercher des établissements.
✓Chercher des spécialités.
✓Recommander établissement.
✓Évaluer établissement.
✓Consulter les statistiques.
Le tableau 4.2 expose les acteurs et les différents scénarios du cas d’utilisation de consulter
les établissements.
96
Diagramme de séquence système du cas d’utilisation «Consulter les établisse-
ments»
Figure 4.2 – Diagramme de séquence système du cas d’utilisation « Consulter les établisse-
ments »
Le tableau 4.4 expose les acteurs et les différents scénarios du cas d’utilisation « Chercher
établissement ».
97
Scénario alternatif 4.a-Données manquantes.
4.a.1-Le système affiche un message d’erreur.
4.a.2-Reprise de l’étape 3 du Scénario nominal.
4.b-Données introuvables.
4.a.1-Le système affiche un message d’erreur.
4.a.2-Reprise de l’étape 3 du Scénario nominal.
98
4.4.3 Analyse de cas d’utilisation « Chercher spécialité »
Le tableau 4.5 expose les acteurs et les différents scénarios du cas d’utilisation « Chercher
spécialité ».
99
Diagramme de séquence système du cas d’utilisation « Chercher spécialité »
Le tableau 4.3 expose les acteurs et les différents scénarios du cas d’utilisation « Recom-
mander établissement ».
100
Cas d’utilisation Recommander établissement
Acteurs Visiteur
Pré-conditions Établissement consulté.
Post-conditions Recommandation effectuée.
Scénario nominal 1-Le visiteur clique sur « Recommandation établissement ».
2-Le système affiche le formulaire de recommandation.
3-Le visiteur remplis le formulaire et clique sur «Envoyer».
4-le système vérifie les informations saisies.
5-le système affiche ("Recommandation envoyée").
Scénario alternatif 4.a-Données manquantes.
4.a.1-Le système affiche un message d’erreur.
4.a.2-Reprise de l’étape 3 du Scénario nominal.
101
Diagramme de séquence système du cas d’utilisation « Recommander établisse-
ment »
Le tableau 4.3 expose les acteurs et les différents scénarios du cas d’utilisation « Évaluer
établissement ».
102
Cas d’utilisation Évaluer établissement
Acteurs Visiteur
Pré-conditions Établissement consulté.
Post-conditions Évaluation effectuée.
Scénario nominal 1-Le visiteur clique sur « Évaluer ».
2-Le système affiche le champ d’évaluation.
3-Le visiteur donne son avis et clique sur «Envoyer».
4-Le système enregistre la réponse.
Scénario alternatif Néant.
103
4.4.6 Analyse de cas d’utilisation « Consulter les les statistiques »
Figure 4.7 – Diagramme de séquence système du cas d’utilisation «Consulter les statistiques»
104
4.5 Conception des cas d’utilisation
Le diagramme des classes participantes est un élément clé qui relie les cas d’utilisation
aux diagrammes de conception logicielle tels que les diagrammes d’interaction et de classes.
Il représente trois types de classes d’analyse, à savoir les classes de dialogue, de contrôle et
d’entité, ainsi que leurs relations. C’est une étape importante dans la modélisation de notre
système car elle permet de visualiser l’interaction entre les différentes classes et de mieux
comprendre le fonctionnement global du système.[8]
105
4.5.2 Diagramme de séquence détaillé
Figure 4.9 – Diagramme de séquence détaillé du cas d’utilisation «Consulter les établisse-
ments»
106
Diagramme de séquence détaillé du cas d’utilisation « chercher établissement ».
107
Diagramme de séquence détaillé du cas d’utilisation «chercher spécialité».
108
Diagramme de séquence détaillé du cas d’utilisation «Recommander établisse-
ment».
109
Diagramme de séquence détaillé du cas d’utilisation « Évaluer établissement ».
110
Diagramme de séquence détaillé du cas d’utilisation «Consulter les statistiques».
Figure 4.14 – Diagramme de séquence détaillé du cas d’utilisation «Consulter les statis-
tiques»
111
Figure 4.15 – Diagramme de classe globale du deuxième sprint
4.6.1 Implémentation
Au cours de cette étape, nous allons utiliser les règles de conversion du modèle en-
tité/association vers le modèle relationnel pour déterminer la structure de la base de données
qui sera utilisée durant le sprint actuel.
112
Attribut Type Contrainte
id INT(20) PRIMARY KEY
name VARCHAR(255) -
4.6.2 Maquettes
Dans cette partie, nous présentons les différentes maquettes des interfaces à développer
pendant ce sprint. La figure 4.16 expose les trois maquettes de ce sprint qui sont la maquette
de l’interface de gestion des permissions, la maquette de l’interface d’affectation d’un rôle à
un utilisateur et la maquette l’interface de gestion des membres dans un projet.
113
Maquette de l’interface «Consulter établissement»
114
4.6.3 Réalisation
115
4.6.4 Test
Pendant cette étape, nous allons confronter les résultats escomptés avec ceux que nous
avons obtenus. Cela nous permettra de vérifier que les méthodes que nous avons implémentées
auparavant fonctionnent correctement.
Dans cette section, nous allons utiliser le Framework de tests unitaires open source
Postman pour présenter plusieurs exemples de tests unitaires que nous avons effectués, ainsi
que la méthodologie que nous avons suivie pour les réaliser.
116
Figure 4.22 – Interface de résultat du test de recherche d’un établissement.
117
Figure 4.24 – Code de source de la méthode de test «Chercher établissement».
La revue de sprint a pour but d’examiner les résultats obtenus au cours de cette itération.
118
Figure 4.25 – Tableau de valeurs de Brundown Chart du sprint 2.
119
Figure 4.26 – Diagramme de Burn down Chart du sprint 1.
4.7 Conclusion
A travers ce chapitre, nous avons présenté notre conception du deuxième sprint de notre
application. D’abord, nous avons fourni une conception détaillée à travers les diagrammes
UML et les tableaux du cas d’utilisation. Ensuite, nous avons présenté les maquettes qui
nous aident à la réalisation de l’application. Enfin, nous avons exposé les interfaces réalisées.
120
Chapitre 5
Phase de clôture
5.1 Introduction
Le chapitre final couvrira les dernières étapes du cycle de développement Scrum. Nous
commencerons par dresser la liste des environnements matériels et logiciels utilisés pour la
mise en œuvre du projet. Ensuite, nous présenterons un schéma de déploiement illustrant
l’architecture de notre application, ainsi qu’un diagramme des différentes tâches accomplies
tout au long du projet.
Tout au long de notre projet, nous avons utilisé comme environnement matériel un
ordinateur portable qui dispose les caractéristique suivantes :
— Marque : DELL
121
5.2.2 Environnement de développement et de modélisation
• Spring Tool Suit [9] : Spring Tool Suite est un framework open source conçu pour
faciliter la définition et la construction de l’infrastructure d’une application Java, tout
en simplifiant le processus de développement et de test. La figure 2.5 met en avant le
logo de Spring Tool Suite.
• Visual Studio Code [10] : C’est un éditeur de code extensible développé par Microsoft
pour Windows, Linux et macOS et orienté pour les langages Web. Il offre plusieurs
fonctionnalités telles que l’auto complétion, la détection d’erreurs, le formatage de
code,...etc. La figure 2.6 présente le logo de Visual Studio Code.
• Taiga [11] : C’est une plateforme de gestion de projet, open source qui facilite la
gestion et l’organisation de projet. Il dispose une interface claire, simple et facile à
comprendre l’état d’avancements des tâches du projet. La figure 2.7 présente le logo de
Taiga.
122
Figure 5.3 – logo de Taiga
• Draw.io [12] :Draw.io est une application gratuite en ligne, accessible via un navigateur
web sécurisé en protocole https. Cet outil permet de créer facilement des diagrammes
et des organigrammes. Il offre une grande variété de fonctions permettant de concevoir
des dessins vectoriels et de les sauvegarder au format XML, ainsi que de les exporter
selon différents formats. La figure 2.8 présente le logo de Draw.io.
• Lucidchart [13] :Lucidchart est une plateforme de collaboration en ligne basée sur
le cloud, qui permet de créer des diagrammes, des visualisations de données ainsi que
d’autres schémas conceptuels. La figure 2.8 illustre le logo de Lucidchart.
123
Figure 5.5 – logo de Lucidchart
• Latex [14] :Le LaTeX (représenté par le logo LATEX) est un langage et un système
de composition de documents. Il se compose d’une série de macro-commandes conçues
pour simplifier l’utilisation du traitement de texte. La figure 2.8 montre le logo de LaTeX.
• Balsamiq [15] :Balsamiq est un logiciel de conception de wireframes, qui permet aux
équipes de créer des maquettes et des prototypes interactifs, ainsi que de réaliser des
tests utilisateur. Cet outil est destiné à tous ceux qui souhaitent créer des wireframes,
sans avoir besoin de compétences particulières en web design. La figure 2.8 présente le
logo de Balsamiq.
124
Figure 5.7 – logo de Balsamiq
• Xampp [16] :XAMPP est une suite de logiciels qui permet de configurer facilement
un serveur Web local, un serveur FTP et un serveur de messagerie électronique. Cette
distribution de logiciels libres est connue pour sa grande flexibilité d’utilisation et pour
son installation rapide et facile. La figure 2.8 présente le logo de XAMPP.
• phpMyAdmin [17] :Il s’agit d’une application Web de gestion des systèmes de gestion
de base de données MySQL et MariaDB, principalement développée en PHP, appelée
phpMyAdmin. Cette application permet de gérer les bases de données de manière
conviviale et intuitive. La figure 2.8 présente le logo de phpMyAdmin.
125
5.2.3 Environnement logiciel
Nous présentons les frameworks et les logiciels utilisés dans notre application.
• Angular [18] : Il s’agit d’un Framework JavaScript Open Source nommé Angular,
développé par Google. Il offre de nombreuses fonctionnalités avancées qui permettent de
créer des applications Web puissantes. De plus, il propose des services pour l’animation,
les requêtes HTTP et d’autres encore. La figure 2.9 présente le logo d’Angular.
• Spring Boot [19] : Le Framework Java Spring (Spring Framework) est une infrastruc-
ture open source fréquemment utilisée en entreprise pour développer des applications
autonomes de production qui s’exécutent sur la machine virtuelle Java (JVM). Le logo
de Spring Boot est présenté dans la figure 2.10.
126
5.3.1 Architecture logique
Afin de concevoir l’architecture logique de notre système, nous avons choisi d’utiliser le
pattern d’architecture MVC (Modèle - Vue - Contrôleur), qui est une méthode permettant
d’organiser l’interface d’un programme en trois entités distinctes : le modèle, la vue et le
contrôleur. Chacune de ces entités a un rôle bien défini dans la gestion de l’interface. Dans
l’architecture MVC, les rôles des trois entités sont les suivants :
Nous nous basons sur les orientations techniques de notre application, dans cette partie
nous présentons l’architecture physique de l’application et les technologies utilisées.
127
Figure 5.13 – Architecture physique de l’application
La figure 2.13 présente l’architecture physique de notre application qui est construite par
deux parties :
Les notions de modules, de composants et d’injection de services sont les points les plus
intéressants dans le Framework Angular.
Le diagramme de Gantt est un outil couramment utilisé en gestion de projet pour visualiser
l’état d’avancement des différentes activités qui constituent un projet. Ce diagramme se
128
compose d’une colonne de gauche qui énumère toutes les tâches à effectuer, et d’une ligne
d’en-tête qui représente les unités de temps les plus adaptées au projet, telles que les jours,
les semaines ou les mois. Chaque tâche est représentée par une barre horizontale dont la
position et la longueur reflètent la date de début, la durée et la date de fin. En somme, le
diagramme de Gantt est considéré comme l’un des outils les plus efficaces pour représenter
visuellement l’avancement d’un projet.[21]
5.4 Conclusion
Dans ce chapitre, nous avons exposé en détail l’environnement de travail que nous avons
mis en place pour notre application, ainsi que l’architecture globale de celle-ci. Nous avons
décrit les différentes technologies utilisées, les outils de développement, les systèmes d’exploi-
tation, les langages de programmation, les frameworks et les librairies, afin de donner une
vue d’ensemble précise de l’environnement technique de notre projet. Nous avons également
présenté l’architecture logicielle de l’application, en décrivant les différentes couches fonction-
nelles et leur rôle dans le fonctionnement global de l’application.
129
Conclusion générale
Dans ce rapport, nous présentons notre travail et notre expérience de stage au sein de
CCK dans le cadre de notre projet de fin d’études, dans le but d’obtenir notre Licence
Appliquée en Informatique de Gestion à l’École Supérieure d’Economie Numérique (ESEN).
Ce stage de fin d’études représente une expérience incontournable pour tout étudiant sou-
haitant s’acclimater à la vie professionnelle et découvrir l’environnement de travail au sein
d’une entreprise. Pendant cette période, nous avons eu l’occasion de mettre en pratique les
connaissances acquises au cours de notre parcours académique. Cette expérience a été rendue
possible grâce à l’encadrement et au soutien de nos tuteurs, qui ont joués un rôle important
dans notre réussite.
Dans le cadre de notre projet de fin d’étude effectué au sein du CCK, nous avons développé
une application web dont l’objectif est de mettre en oeuvre un annuaire universitaire interactif
bien référencé.
Ce présent rapport commence par une présentation sur le contexte général de notre stage au
sein de l’entreprise CCK. Après avoir identifié les besoins à travers la capture des exigences,
nous avons divisé notre projet en deux sprints puisque nous avons choisi d’utiliser la mé-
thodologie Agile "SCRUM". Le premier consiste à gérer les intervenants du système, et le
deuxième consiste à consulter, recommander et évaluer des informations de l’annuaire.
Enfin, le dernier chapitre de notre rapport a porté sur la phase de clôture.
130
Références bibliographiques
131
[19] : https ://www.ibm.com/fr-fr/topics/java-spring-boot/ (consulté le 01/04/2023).
132