Académique Documents
Professionnel Documents
Culture Documents
C’est avec un grand plaisir que je réserve cette page en signe de gratitude et de profonde
reconnaissance à tous ceux qui m’ont aidé à la réalisation de ce travail.
J’adresse également mes remerciements à mon encadrant Monsieur Ayadi Mouhamed Gaith pour
ses efforts de suivi et pour l’aide précieuse qu’il m’a prodiguée et qui m’a aidé à accomplir mon
projet de fin d’études dans les meilleures conditions.
Je tiens aussi à présenter, par le présent rapport, l’expression de mes profondes gratitudes à
l’ensemble des enseignants de la Faculté des Sciences Juridiques, Économiques et de Gestion de
Jendouba qui ont assuré ma formation et m’a transmis la base de connaissances.
Enfin, mes meilleurs et plus vifs remerciements s’adressent aux membres du jury pour avoir
accepté d’évaluer ce travail.
3
Dédicace
Avant tout je tiens à remercier le Dieu, le Grand Puissant, de m’avoir donné la force d’arriver
jusqu’au là.
Je dédie cette réussite à mon regretté père, dont l’amour, la bienveillance et le soutien ont
toujours été ma principale source de motivation. Accomplir cette étape importante de ma vie me
remplit de fierté, dans l’espoir qu’il aurait été fier de moi.
J’exprime également ma profonde gratitude envers ma mère, mon roc inébranlable, pour son
amour inconditionnel et son soutien constant.
À mes chers frères Khalil et Samer, ainsi qu’à ma sœur Mariem, vous êtes les compagnons
qui m’ont toujours encouragé et soutenu. Votre présence illumine chaque jour de ma vie. Kha-
lil, ta sagesse et ta détermination m’inspirent, Samer, ton humour et ta bienveillance sont des
trésors inestimables. Mariem, ta gentillesse est un rayon de soleil qui réchauffe mon cœur. Je
me considère béni de vous avoir à mes côtés. Que notre amour familial perdure et nous guide à
travers tous les défis.
À ma chère famille, vous êtes la source de mon bonheur, de mon soutien et de ma force. Je vous
dédie cette réussite avec un amour infini.
5
Table des matières
Introduction générale 1
2 Phase de planification 17
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
7
8 Table des matières
3 Sprint 1 37
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2 Backlog du sprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3 Tableau des taches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4 Phase d’analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.1 Raffinement du cas d’utilisation «S’inscrire» . . . . . . . . . . . . . . . 38
4.2 Raffinement du cas d’utilisation «S’authentifier» . . . . . . . . . . . . . 39
4.3 Raffinement du cas d’utilisation «Gestion des utilisateurs» . . . . . . . . 40
4.4 Raffinement du cas d’utilisation «Envoyer des emails» . . . . . . . . . . 41
5 Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.1 Conception statique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.2 Conception dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6 Réalisation du sprint 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7 Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Table des matières 9
4 Sprint 2 57
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2 Backlog du sprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3 Tableau des taches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4 Phase d’analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.1 Raffinement du cas d’utilisation «Gestion des catégories » . . . . . . . . 59
4.2 Raffinement du cas d’utilisation «Gestion des cours » . . . . . . . . . . . 60
4.3 Raffinement du cas d’utilisation «Gestion des formations » . . . . . . . . 61
4.4 Raffinement du cas d’utilisation «Ajouter des avis» . . . . . . . . . . . . 63
5 Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.1 Conception statique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.2 Conception dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6 Réalisation et test du sprint 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
6.1 Interface liée à un visiteur de site : . . . . . . . . . . . . . . . . . . . . . 70
6.2 Interface liée à un administrateur : . . . . . . . . . . . . . . . . . . . . . 72
6.3 Interfaces liée à un participant : . . . . . . . . . . . . . . . . . . . . . . 73
6.4 Interface liée à un formateur : . . . . . . . . . . . . . . . . . . . . . . . 74
7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Conclusion 101
Table des figures
11
12 Table des figures
15
16 Liste des tableaux
Dans le domaine éducatif, l’information joue un rôle clé. Les avancées technologiques ont
permis d’améliorer l’accès à l’information et la communication, offrant ainsi de nouvelles op-
portunités d’apprentissage. Les systèmes d’information facilitent la gestion des ressources éduca-
tives, tels que les outils d’apprentissage en ligne, les bases de données éducatives, les plateformes
de collaboration et les solutions de gestion des élèves et des enseignants.
A cet effet, notre projet de fin d’études consiste a développer une plateforme décisionnelle
de gestion de centre de formation.
Le rapport sera composé de cinq chapitres.
- Le premier chapitre est une présentation générale du mon projet , la solution proposée,
la méthodologie utilisée.
1
2 Introduction
- Le cinquième chapitre s’intitule «Sprint 3» le rôle de ce chapitre est l’analyse des avis des
formations la consultation des tableaux de bord.
- Le rapport se termine par une conclusion générale qui va récapituler tout ce qui a été énoncé
dans le rapport.
Chapitre 1
2 Cadre du projet
Ce travail est effectué dans le cadre de projet de fin d’étude en vue de l’obtention de Diplôme
de licence en Informatique Décisionnelle à la Faculté des Sciences Juridiques, Économiques
et de Gestion de Jendouba.
Ce projet est réalisé au sein de la société Tunisie Télecom durant trois mois. Son objectif prin-
cipal est le développement d’une plateforme décisionnelle de gestion de centre de formation.
3 Organisme d’accueil
3
4 Chapitre 1. Cadre général du projet
Le logo Tunisie Telecom actuel est une feuille en sept couleurs : bleu, vert, jaune, orange,
rouge, rose, violet. Il y a aussi deux grandes lettres « TT » (Tunisie Telecom) en couleur blanche
sur la feuille avec un slogan : "La vie est émotions". D’ailleurs Selon Nizar BOUGUILA, ancien
PDG de Tunisie Telecom, « Tunisie Telecom souhaite être en phase avec les évolutions du sec-
teur et garantir une meilleure proximité avec sa clientèle à travers la diversité des offres et des
services ».[1]
4 Analyse de l’existant
Cette section a pour objectif d’étudier fait le tour sur les solutions de E-Learning les plus
connues sur le marché. Cette étude permet de dégager les points forts et les points faibles de
chacune ces solutions. Dans ce qui suit, nous présentons une analyse de l’existant, puis nous
détaillons la critique de l’existant.
Cette section a pour objectif d’étudier fait le tour sur les solutions de E-Learning les plus
connues sur le marché. Cette étude permet de dégager les points forts et les points faibles de
chacune ces solutions. Dans ce qui suit, nous présentons une analyse de l’existant, puis nous
détaillons la critique de l’existant.
La formation continue se fait actuellement de façon traditionnelle, cours, apprenants et for-
mateurs sur place.
Ce type de formation présente beaucoup d’inconvénients tels que :
— Contrainte du nombre de Places limitées.
— Contrainte du nombre de salles réduites.
— Charge élevée de la formation.
4. Analyse de l’existant 7
Dans le but de résoudre ces inconvénients plusieurs outils ont étais créer à base des nouvelles
technologies. Parmi lesquels nous pouvons citer : Coursera, edX, Udemy, OpenClassrooms,
w3Schools...
Coursera (Fig 1.3) est une plateforme de formation en ligne fondée en 2012 par des profes-
seurs de l’Université de Stanford. Elle propose des cours en ligne en partenariat avec plus de 200
universités et organisations à but non lucratif dans le monde entier. Coursera offre une variété de
cours en ligne, de programmes de spécialisation et de diplômes universitaires, couvrant une large
gamme de sujets allant de la technologie à la psychologie.
EdX (Fig.1.4) est une plateforme en ligne de cours en ligne ouverts et massifs (MOOC) créée
en 2012 en partenariat entre l’Université de Harvard et le Massachusetts Institute of Technology
(MIT). La plateforme permet à des universités, des écoles et d’autres organisations de proposer
des cours en ligne gratuits ou payants à un large public. EdX offre des cours dans une variété de
domaines, y compris les sciences, les technologies, les affaires, les arts et les sciences humaines,
et compte actuellement plus de 20 millions d’apprenants inscrits dans le monde entier.
Udemy (Fig 1.5) est une plateforme de formation en ligne fondée en 2010 qui permet aux
utilisateurs de créer et de vendre des cours en ligne. Udemy propose des cours en ligne sur une
variété de sujets, y compris la programmation, le développement personnel, la finance, la photo-
graphie, la cuisine, etc. Les cours sont créés par des experts dans leur domaine et peuvent être
achetés par les utilisateurs individuels ou par les entreprises pour la formation de leurs employés.
Le tableau (1.2) présente Les avantages et les inconvénients de tous les outils E-learning
traités.
Notre étude a montré que les solutions du marché n’offrent pas les fonctionnalités néces-
saires à une plateforme de E-Learning (coaching ......) Notre application tente à d’être parmi
les premières plateformes tunisienne qui intégrer ces différentes fonctionnalités et confronte les
inconvénients des solutions existants.
L’étude d’existant nous a permis de dégager plusieurs anomalies que nous avons détaillées.
Nous envisageons les solutions suivantes :
— Notre plateforme de e-learning doit être basée sur un environnement d’apprentissage plus
confortable, ce qui évitera les problèmes de compatibilité avec le système d’exploitation
du formateur et celui des apprenants.
4. Analyse de l’existant 9
Udemy Large gamme de cours, y compris La qualité des cours peut varier
des cours pratiques et des cours sur considérablement en fonction de
les compétences douces. l’instructeur et du sujet.
Les cours sont généralement abor- Certains cours peuvent manquer de
dables et peuvent être achetés indi- profondeur et de rigueur acadé-
viduellement. mique.
Les cours sont souvent pratiques et Les certificats délivrés ne sont
orientés vers les compétences, ce pas toujours reconnus par les
qui les rend utiles pour les per- employeurs ou les établissements
sonnes qui cherchent à améliorer d’enseignement.
leurs compétences professionnelles
ou à changer de carrière.
TABLE 1.2 – Les avantages et les inconvénients de tous les outils traités.
10 Chapitre 1. Cadre général du projet
— Notre plateforme doit être rapide (temps de connexion, temps de partage) . Étant donné
le nombre de fonctionnalités importantes, elle doit aussi offrir une simplicité d’utilisation
et surtout une ergonomie d’interface.
— Notre plateforme doit offrir liberté et qualité d’enseignement.
— Elle doit assurer commodité et flexibilité.
— Elle doit faciliter l’avancement de carrière pour les apprenants.
5 Méthodologie de travail
Assurer une coordination efficace des acteurs et des tâches est essentiel pour mener à bien
un projet. Pour atteindre cet objectif, il est primordial de choisir la méthode de gestion de projet
appropriée. Avant d’entamer la mise en œuvre du projet, il est donc recommandé d’évaluer les
différentes méthodes de gestion de projet disponibles et de sélectionner celle qui sera la plus
adaptée pour atteindre les objectifs du projet. Cette sélection permettra de garantir une coordina-
tion efficace des différentes parties prenantes impliquées dans le projet et d’assurer la réussite du
projet dans son ensemble.
Les méthodes classiques de gestion de projet sont des approches traditionnelles et prédictives
pour la planification et la gestion de projets. Elles sont souvent caractérisées par une approche
séquentielle, où chaque étape est planifiée et exécutée de manière linéaire, du début à la fin.
Cependant, les méthodes classiques peuvent être moins adaptées aux projets complexes et dy-
namiques, où l’incertitude et les changements sont fréquents. Dans de tels projets, une approche
agile peut être plus appropriée, où les équipes travaillent en étroite collaboration et adoptent une
approche itérative pour développer et livrer des produits.
5. Méthodologie de travail 11
En d’autres termes, la méthode agile favorise plus l’autonomie des individus, implique au
maximum le client et aussi, elle permet une grande réactivité à ses demandes et une prise de
décision plus rapide. Cette approche repose sur un cycle de développement itératif, incrémental
et adaptatif. Parmi les méthodologies agiles nous citons, l’extrême Programming (XP), Scrum et
Crystal.[2]
a- Méthode SCRUM
Scrum signifie ’mêlée’ en français. Son nom provient du rugby. Cette méthode est un cadre
méthodologique agile qui révolutionne la gestion de projet.[3]
La figure (Fig 1.7) ci-dessous décrit le déroulement d’un projet Scrum.
1- Sprint
Il s’agit d’une itération de courte durée, qui prend généralement 2 à 4 semaines, au cours de
laquelle nous devons livrer un incrément de la solution finale. Chaque sprint a une durée fixe,
un objectif et un périmètre (Sprint Backlog) qui peut être renégocié entre l’équipe et le Product
Owner.[6]
2- Sprint Planning
La planification du sprint est une cérémonie Scrum qui lance le sprint. Elle a pour objectif de
définir ce qui peut être livré dans le sprint et comment y parvenir. La planification du sprint est
effectuée en collaboration avec toute l’équipe Scrum.[7]
3- Daily Scrum
C’est une réunion de 15 minutes au cours duquel le Scrum master, le Product Owner et l’équipe
rappellent le travail effectué au cours des dernières 24 heures et planifient ce qui doit être fait
dans les prochaines 24 heures.[8]
4- Sprint Review
C’est une réunion effectue à la fin du chaque sprint. Au sein de cette réunion l’équipe Scrum
présente les éléments de Product Backlog qui a été réalisé au cours de sprint.[9]
5- Sprint Rétrospective
Cette réunion est interne à l’équipe Scrum et dure 3 heures pour un sprint d’un mois. Le but est
l’adaptation aux changements qui peuvent survenir et l’amélioration continue du processus de
réalisation.
nous progressons dans les sprints. Pour cela, nous avons opté pour la méthode Scrum, qui est la
plus adaptée pour notre projet.
6 Langage de modélisation
Pour concevoir notre application, nous avons choisi UML [Unified Modeling Language] qui
est un langage de modélisation, qui permet de définir les modèles objets à travers un ensemble
de diagrammes.
En effet, c’est la méthode la plus convenable à notre projet qui se base sur le principe de la
programmation orientée objet. Ce langage possède une variété de diagrammes qui couvrent nos
besoins.
7 Conclusion
Dans le premier chapitre introductif, nous avons présenté la société Tunisie Telecom et le
cadre de notre projet, puis nous avons proposé une solution qui peut répondre à nos besoins.
Dans le prochain chapitre, nous allons commencer la planification de notre projet.
Chapitre 2
Phase de planification
1 Introduction
Ce chapitre sera consacré a la réalisation de la première phase de la méthodologie Scrum
«Sprint 0» qui présente les fonctionnalités de base du projet, le diagramme des cas d’utilisation
global,et le Product Backlog qui va nous permettre de planifier les releases.
Avant de spécifier les besoins de notre client, la première tâche consiste à définir ce qui est
inclut ou pas dans le système. Nous devons identifier les différentes entités intervenantes sur le
système. Ces entités sont appelées acteurs qui jouent un rôle essentiel dans tous les projets infor-
matiques. Les acteurs qui vont interagir avec ce projet sont classifiés en trois catégories :
17
18 Chapitre 2. Phase de planification
Fonctionnalités Description
S’inscrire En tant qu’utilisateur, je dois m’inscrire afin d’accéder aux fonc-
tionnalités offertes par la plateforme..
Authentification Le système permet aux utilisateurs de s’authentifier après l’ins-
cription pour des raisons de sécurité et pour accéder à la plate-
forme.
Gestion des utilisateurs Le système permet à l’administrateur de modifier role, supprimer
et des utilisateurs .
Envoyer des Emails Cette fonctionnalité permet aux administrateur d’envoyer des
Emails aux utilisateurs .
Gestion des catégories Le système permet à l’administrateur d’ajouter, modifier, suppri-
mer et consulter des catégories.
Gestion des cours Le système permet aux administrateur et aux formateurs d’ajouter
d’ exporter des cours et aux participants de consulter catalogue
cours et de les importer .
Gestion des formations Le système permet aux administrateur d’ajouter ,modifier , sup-
primer , aux participants de consulter catalogue formations.
Gestion des avis le participant peut ajouter son avis sur un cours
Analyse des avis des forma- l’administrateur peut les analyser à l’aide d’une technique de data
tions mining.
— Performance : L’application doit être rapide et réactive pour permettre aux utilisateurs
de naviguer sans délai et d’accéder rapidement aux cours et aux ressources en ligne.
— Disponibilité : L’application doit être disponible en ligne 24 heures sur 24, 7 jours sur
7, pour permettre aux utilisateurs d’accéder aux cours et aux ressources à tout moment,
sans interruption.
— Sécurité : L’application doit garantir la sécurité des données des utilisateurs, notamment
en matière de confidentialité et de protection contre les cyberattaques. Elle doit également
respecter les lois et les réglementations en matière de protection des données.
— Scalabilité : L’application doit être capable de gérer un grand nombre d’utilisateurs si-
multanément, notamment en période de pointe, sans perdre en performance ou en dispo-
nibilité.
— Convivialité : L’interface utilisateur de l’application doit être conviviale, intuitive et fa-
cile à utiliser pour permettre aux utilisateurs de naviguer facilement dans les cours, d’ac-
céder aux ressources et de suivre leur progression.
— Accessibilité : L’application doit être accessible aux personnes handicapées, conformé-
ment aux normes d’accessibilité du Web, afin de permettre à tous les utilisateurs d’accéder
aux cours et aux ressources en ligne.
b- Le Product Backlog
Dans lequel le Product Owner crée une liste hiérarchisée de fonctionnalités appelée user story
qui pourrait être liée au produit.
c- Planification de projet
Pour bien organiser le déroulement de différentes étapes de notre projet on a réalisé une pla-
nification (Fig 2.1).
Nous avons découpé notre projet en plusieurs taches afin d’assurer son déroulement .au début
nous avons commencé avec notre sprint 0, puis on a découpé notre projet en 3 sprints.
2. Analyse des besoins 21
d- Diagramme de Gantt
La figure ci-dessous (Fig 2.3) représente le diagramme du cas d’utilisation général de notre
platforme. Ce diagramme illustre les différents acteurs ainsi que les cas d’utilisations affectés à
chacun de ces acteurs.
4 Environnement de travail
: Dans cette partie nous présentons l’environnement matériel et l’environnement technique
pour la réalisation de notre application.
b- Postman
Postman (Fig 2.11) est un outil de devéloppement d’API qui sert à la création , le test, la docu-
mentation , le contrôle, et la publication de la documentation des APIs des utilisateurs.[11]
c- Angular
Angular (Fig 2.12) est un framework JavaScript open source développé par Google pour la
création d’applications web et mobiles. Il est utilisé pour créer des applications web interactives
à page unique (Single-Page Applications ou SPA) et des applications mobiles hybrides en utili-
sant des technologies telles que HTML, CSS et TypeScript.
d- Spring boot
Spring Boot (Fig 2.13) est un framework open source basé sur le framework Spring pour le
développement d’applications Java. Il est conçu pour faciliter la création d’applications Java de
haute qualité, robustes et évolutives en utilisant une approche basée sur les conventions plutôt
que la configuration.
4. Environnement de travail 29
STS (Spring Tool Suite) (Fig 2.14)est un environnement de développement intégré (IDE)
open source basé sur Eclipse et conçu pour le développement d’applications Spring.
f- WampServer
WampServer(Fig 2.15) est une plate-forme de développement Web sous Windows pour des
applications Web dynamiques à l’aide du serveur Apache2, du langage de scripts PHP et d’une
base de données MySQL. Il possède également PHPMyAdmin pour gérer plus facilement vos
bases de données.[12]
30 Chapitre 2. Phase de planification
h- HTML
L’acronyme de HTML (Fig 2.16) est HyperText Mark-Up Language. Il s’agit d’un langage
de programmation dont le rôle principal est de formaliser l’écriture d’un document avec des ba-
lises de formatage en vue de créer des pages Web ou bien des emails au format HTML.[17]
i- CSS
L’acronyme de CSS (Fig 2.17) est Cascading Style Sheets. Il s’agit d’un langage permettant
de gérer la présentation générale d’une page web en insérant des styles sur le code HTML. Ces
derniers permettent de préciser et de définir les comportements des éléments de la page.[18]
4. Environnement de travail 31
j- Bootstrap
Bootstrap(Fig 2.18) est un framework open source de développement front-end créé par Twit-
ter et maintenu par un grand nombre de développeurs. Il fournit des composants et des outils pour
la conception d’interfaces utilisateur (UI) pour les sites web et les applications web.
k- Draw.io
Draw.io (Fig 2.19) est une application de création de graphiques gratuite qui permet aux uti-
lisateurs de créer et de partager des graphiques dans un navigateur Web.[15]
Orange Data Mining (Fig 2.20) est un logiciel libre d’exploration de données (data mining).
Il propose des fonctionnalités de modélisation à travers une interface visuelle, une grande variété
de modalités de visualisation et des affichages variés dynamiques.[16]
m- phpMyAdmin
phpMyAdmin (Fig 2.21) est une application web open source de gestion de base de données
MySQL développée en PHP. Elle fournit une interface graphique conviviale pour la gestion de
la structure, des données et des utilisateurs des bases de données MySQL.
n - Gantt Project
Gantt Project (Fig 2.22) est un logiciel libre de gestion de projet écrit en Java, ce qui permet
de l’utiliser sur divers systèmes d’exploitation Windows, Linux et MacOs. Il permet d’éditer un
diagramme de Gantt.[17]
5. Architecture de la solution 33
o- Overleaf
Overleaf (Fig 2.23) est un éditeur LaTeX en ligne, collaboratif en temps réel.[18]
5 Architecture de la solution
Le modèle représente les données de l’application. Il définit aussi l’interaction avec la base
de données et le traitement de ces données.
La vue est le composant graphique de l’interface utilisateur. Elle présente les données du
modèle à l’utilisateur.
Le contrôleur est responsable des prises de décision. Il gère la logique du code qui prend
des décisions et agit en tant qu’intermédiaire entre le modèle et la vue.
34 Chapitre 2. Phase de planification
Les fonctionnalités relatives aux besoins spécifiques de notre solution exigent une mise en
place d’une architecture bien étudiée afin d’assurer une meilleure performance.
C’est pour cette raison que dans notre projet, nous avons opté pour une architecture trois tiers
qui sert principalement à concevoir l’application en trois couches logicielles :
• La couche de traitement qui assure à son tour la mise en œuvre des différentes règles et la
gestion de la logique applicative.
• La couche d’accès aux données correspond aux données qui sont destinées à être conser-
vées.
6 Conclusion
Dans ce chapitre nous avons identifié les besoins fonctionnels et non fonctionnels de notre
système ainsi que les acteurs. Ensuite, nous avons détaillé la première étape de la méthodologie
que nous avons choisie à savoir l’identification de l’équipe de travail et la réalisation de Back-
log du produite des sprints. Puis nous avons présenté l’environnement matériel et logiciel que
nous utiliserons pour développer notre plateforme. Dans le chapitre suivant nous entamons le
développement du premier release.
Chapitre 3
Sprint 1
1 Introduction
Ce chapitre fait l’objet d’une présentation du premier sprint. L’étude de se sprint couvre
l’analyse, la conception, la réalisation et les tests.
2 Backlog du sprint
Le sprint est une période qui dure entre une et quatre semaines, au bout de cette période
l’équipe doit réaliser un incrément de produit livrable. Un nouveau sprint démarre lorsque le
précédent est terminé.
Le tableau ci-dessous présente le backlog de notre premier sprint
37
38 Chapitre 3. Sprint 1
4 Phase d’analyse
Dans cette partie nous présentons la phase d’analyse qui répond à la question « que fait le
système ». La réponse de cette question se traduit par la présentation du diagramme des cas d’uti-
lisation puis la description textuelle de chacun d’entre eux.
Les scénarios d’exécution du cas d’utilisation «S’inscrire » sont décrits par le tableau(3.2)
suivant représentant la fiche descriptive du cas
4. Phase d’analyse 39
Les scénarios d’exécution du cas d’utilisation «S’authentifier» sont décrits par le tableau (3.3)
représentant la fiche descriptive du cas
40 Chapitre 3. Sprint 1
Scénario alternatif
Le système affiche un message d’erreur in-
formant l’utilisateur qu’il a laissé des champs
vides
Scénario alternatif
— L’utilisateur n’a pas saisi les bons iden-
tifiants : Le système affiche un message
d’erreur informant l’utilisateur que son
login ou mot de passe sont incorrects
5 Conception
Une classe est un ensemble de fonctions et de données (attributs) qui sont liées ensemble par
un champ sémantique. Les classes sont utilisées dans la programmation orientée objet Une classe
est représentée par un rectangle séparé en trois parties :
TABLE 3.4 – Scénarios d’exécution du cas d’utilisation «Consulter liste des utlisateurs » .
Pour notre application, nous allons élaborer les diagrammes de séquence pour déterminer la
dynamique du système. Ce diagramme met en valeur les échanges de messages entre acteurs et
objets de manière chronologique.
— Interface
— Contrôle
— Entité
5. Conception 45
6 Réalisation du sprint 1
Dans cette partie, nous présentons les différentes interfaces réalisées au cours de ce Sprint,
dont on présente :
Et finalement Interface consultation liste des utilisateurs présenté par la figure 3.16
7 Tests
Les tests représentent une étape primordiale et fondamentale du processus du Scrum qu’on
ne peut pas douter. Ainsi, ils nous aident à réaliser une évaluation sur les objectifs déterminés au
début du sprint et les résultats courants. La méthodologie Scrum nous permet de tester chaque
incrément à sa fin pour valider le développement de cet incrément-ci, dans le but de garantir une
qualité optimum du produit.
Un exemples de test est présenté par la suite.
8. Conclusion 55
Par exemple, La figure 3.17 présente le succès de l’envoi d’email. Aussi, La figure 3.18
8 Conclusion
Au cours de ce chapitre, nous avons présenté le premier sprint. Pour ce faire, nous avons
passé par la présentation du Backlog product, l’analyse, la conception et la réalisation. Dans le
chapitre suivant nous entamons le deuxième sprint.
56 Chapitre 3. Sprint 1
Scénario alternatif
— Si l’administrateur ne saisit pas le champ email (ou
les champs email s’il y en a plusieurs), le système
affiche un message d’erreur demandant à l’utilisa-
teur de saisir le(s) champ(s) manquant(s).
— Si l’email est incorrectement formaté ou invalide, le
système affiche un message d’erreur indiquant que
l’email n’a pas pu être envoyé.
Sprint 2
1 Introduction
Durant ce chapitre, nous entamons le deuxième sprint. Pour cela, nous commençons par le
Backlog du sprint, nous passons ensuite aux parties analyse et conception, pour terminer enfin
par les parties réalisation et test.
2 Backlog du sprint
Le tableau (4.1) présente le backlog de notre deuxieme sprint.
57
58 Chapitre 4. Sprint 2
2 Gestion des
— En tant que administrateur, formateur , je peux ajou-
cours
ter et exporter des cours
— En tant que participant ou administrateur ou forma-
teur, je peux consulter catalogue cours
— En tant que participant ou administrateur ou , je peux
rejoindre à un ou plusieurs cours
— En tant que administrateur, participant , je peux im-
porter des cours
— En tant que administrateur , je peux modifier cours
— En tant que administrateur , je peux supprimer cours
4 Gestion des
avis En tant que participant , je peux ajouter mon avis sur un
cour
4 Phase d’analyse
Les scénarios d’exécution du cas d’utilisation «Gestion des catégories» sont décrits par les
tableaux (4.2 , 4.3 , 4.4 et 4.5) représentant la fiche descriptive du cas.
60 Chapitre 4. Sprint 2
Scénario alternatif
— Aucun catégorie trouvé : Le système af-
fiche un message d’erreur
TABLE 4.2 – Scénarios d’exécution du cas d’utilisation «Consulter la liste des catégories »
Les scénarios d’exécution du cas d’utilisation «Gestion des cours» sont décrits par les ta-
bleaux (4.6 , 4.7 , 4.8 et 4.9) représentant la fiche descriptive du cas
4. Phase d’analyse 61
Scénario alternatif
— Si le champ est vide, l’ajout n’est pas effec-
tué,le système affiche un message d’erreur
Les scénarios d’exécution du cas d’utilisation «Gestion des fournisseurs» sont décrits par les
tableaux (4.10 , 4.11 , 4.12 et 4.13) représentant la fiche descriptive du cas
62 Chapitre 4. Sprint 2
Scénario alternatif
— Si le champ est vide, la modification n’est pas
effectué,le système affiche un message d’er-
reur
Scénario alternatif
— Si Aucun cours n’est enregistré. Le sys-
tème affiche une page vide.
5 Conception
Scénario alternatif
— Si le format de fichier sélectionné est
incompatible avec l’application, le sys-
tème affiche un message d’erreur.
Scénario alternatif
— Si Aucun cours n’est enregistré. Le sys-
tème affiche une page vide.
L’ Interface de consultation de la liste des catégories (Fig 4.22) : Grâce à cette page, l’ad-
ministrateur a la possibilité de gérer les catégories.
L’ Interface d’ajout des catégories (Fig 4.23) : Grâce à cette page, l’administrateur a la possi-
bilité d’ajouter une catégorie.
L’ Interface de consultation catalogue des cours (Fig 4.24) : Grâce à cette page, l’adminis-
trateur dispose de fonctionnalités de gestion des cours.
Interface de consultation et d’importation des cours pour l’administrateur (Fig 4.25) :
Grâce à cette page, l’administrateur dispose de fonctionnalités pour importer des cours après
leur participation.
L’ Interface d’ajout et d’export des cours (Fig 4.26) : Grâce à cette page, l’administrateur
dispose de fonctionnalités d’jouter et d’exporter cours .
L’ Interface de consultation catalogue de formations (Fig 4.27) : Grâce à cette page, l’admi-
nistrateur dispose de fonctionnalités de gestion des formations.
L’ Interface d’ajout de formation (Fig 4.28) : A travers cette page, l’administrateur a la pos-
sibilité d’ajouter une catégorie.
6. Réalisation et test du sprint 2 73
Scénario alternatif
— L’Administrateur manager saisit des
données manquantes ou erronées : le
système affiche un message d’erreur
L’ Interface de consultation catalogue des cours (Fig 4.29) A travers cette page, le parti-
cipant a la possibilité de consulter catalogue et rejoindre un cours .
L’ Interface de consultation catalogue de formations (Fig 4.30) : En utilisant cette page, le
participant a la possibilité de consulter le catalogue des formations et de participer à une ou plu-
sieurs d’entre elles.
L’ Interface d’ajout d’avis (Fig 4.31) : En utilisant cette page, les participants ont la possibilité
d’ajouter leur avis sur un cours.
74 Chapitre 4. Sprint 2
7 Conclusion
Au cours de ce chapitre, nous avons présenté la deuxième sprint. Pour ce faire, nous avons
passé par la présentation du Backlog product, l’analyse, la conception et la réalisation. Dans le
chapitre suivant nous entamons le troisième sprint.
7. Conclusion 75
Scénario alternatif
— Si le participant saisit des données man-
quantes ou erronées, le système signale
une erreur et demande au participant de
corriger les données avant d’effectuer
cette opération
F IGURE 4.20 – L’ Interface de consultation catalogue de formations en tant que visiteur de site
88 Chapitre 4. Sprint 2
F IGURE 4.21 – L’ Interface de consultation catalogue des cours (interface les visiteurs de site )
F IGURE 4.24 – L’ Interface de consultation catalogue des cours en tant que interface admin
F IGURE 4.29 – L’ Interface de consultation catalogue des cours en tant que participant
92 Chapitre 4. Sprint 2
2 Backlog du sprint 3
Le tableau ci-dessous présente le backlog de notre troisiéme sprint
93
94 Chapitre 5. Sprint 3 : Analyse des avis des formations
3 Pré-traitement du texte
La première étape est de récupérer le corpus textuel concernant les avis et de le nettoyer
afin de pouvoir appliquer ultérieurement une méthode d’extraction des mots-clés. Nous pouvons
maintenant aborder le pré-traitement du texte en plusieurs étapes :
— La récupération du corpus, ansi qu’un premier traitement de ce dernier pour avoir des
données textuelles exploitables .
— La tokenization, qui désigne le découpage en mots des différents documents qui consti-
tuent le corpus.
— La normalisation et la construction du dictionnaire qui permet de ne pas prendre en
compte des détails importants au niveau local (ponctuation, majuscules, conjugaison, etc.)
« Tokenize » signifie « séparer par token » : c’est le process qui va décomposer le corpus
textuel en des mots afin de pouvoir effectuer des opérations de pré-traitement. Le terme token
désigne généralement un mot et/ou un élément de ponctuation.
— Ex. La phrase "Hello World !" comprend donc 3 tokens.
Après la tokenization, nous devons chercher comment nettoyer et normaliser notre corpus
afin d’obtenir une matrice de vocabulaire et un dictionnaire représentatifs de nos documents.
La première manipulation souvent effectuée dans le traitement du texte est la suppression de
ce qu’on appelle en anglais les stopwords. Ce sont les mots très courants dans la langue étudiée
("et", "à", "le"... en français) qui n’apportent pas de valeur informative pour la compréhension
du "sens" d’un document et corpus. Nous devons donc chercher les supprimer. Un mot vide est
un mot non significatif figurant dans un texte comme les prépositions, les articles, les pronoms
(« le », « la », « de », « du », « ce ». . .). On l’oppose à mot plein.
Le processus de « lemmatisation » consiste à représenter les mots (ou « lemmes ») sous leur
forme canonique.
— Par exemple pour un verbe, ce sera son infinitif.
— Ex. Le lemme aimer renvoie à un grand nombre de formes composées a aimé, a été aimé, a
été aimée, etc.
— Pour un nom, son masculin singulier.
— Ex. Le lemme petit renvoie à 4 formes : petit, petite, petits, petites
Il existe un autre processus qui exerce une fonction similaire qui s’appelle la racinisation
(ou stemming en anglais). Cela consiste à ne conserver que la racine des mots étudiés. L’idée
étant de supprimer les suffixes, préfixes et autres des mots afin de ne conserver que leur origine.
3. Pré-traitement du texte 95
3.2 Réalisation
Nous allons utiliser l’outil Orange Data Mining (voir Figure 5.1) pour pratiquer le text mining
par un processus de flux de travail (workflow) basé sur des widgets.
Nous devons le configurer pour permettre analyser des données textuelles comme il est pré-
senté dans la Figure 5.2. Après la configuration, nous commençons la création du workflow de
pré-traitement du texte (voir Figure 5.3). Les widgets utilisés dans ce worflow sont :
— Le widget Corpus lit les corpus de texte à partir des fichiers existants. On peut appliquer
le widget Create Corpus pour cette tâche.
— On peut utiliser le widget Corpus Viewer pour visualiser des fichiers texte (instances de
Corpus).
— Le preprocess text widget divise le texte en unités plus petites (Tokens), les filtre, exé-
cute la normalisation (stemming, lemmatization). Les étapes de l’analyse sont appliquées
séquentiellement.
— Et finalement, le widget Word Cloud génère un nuage de mots à partir du corpus.
96 Chapitre 5. Sprint 3 : Analyse des avis des formations
(5.1)
Cette métrique calcule le nombre de fois qu’un mot apparaît dans un texte (fréquence du
terme) et le compare à la fréquence inverse du document (la fréquence de ce mot dans l’ensemble
de données).
La multiplication de ces deux quantités fournit le score TF-IDF d’un mot dans un document.
Plus le score est élevé, plus le mot est pertinent pour le document.
4.2 Réalisation
Nous avons ajouté le widget Extract Keywords au workflow précédent (voir Figure 5.4).
Nous trouvons des mots caractéristiques avec le widget Extract Keywords en utilisant la méthode
TF-IDF. Le widget renvoie une liste de mots et nous pouvons sélectionner les mots les mieux
classés à envoyer à la sortie.
4.3 Conclusion
Au cours de ce chapitre, nous avons effectué le processus d’extraction des mots-clés en utili-
sant Orange Data Mining pour résumer le contenu des avis concernant les formations. L’extrac-
tion de mots-clés est une méthode automatisée d’extraction des mots les plus pertinents. Nous
avons exploité le TF IDF.
4. Extraction et Consultation des mots-clés 99
Ce rapport représente le fruit du travail réalisé au sein de la Société Tunisie Télecom dans
le cadre de notre projet de fin d’études pour l’obtention de Diplôme de licence en Informatique
Décisionnelle à la Faculté des Sciences Juridiques, Économiques et de Gestion de Jendouba.
Cette solution a été développée pour répondre aux besoins de collaborateur de l’entreprise
Tunisie Télécom leur permettant de gérer centre des formations manière efficace et d’accéder
rapidement aux informations pertinentes. Elle facilite également la prise de décision pour les
responsables
Notre travail a débuté par une analyse approfondie du contexte du projet et des exigences du
système à venir. Tout au long de notre travail, nous avons adopté la méthodologie Scrum pour
construire notre plateforme de manière itérative et progressive.
Par la suite nous identifier les besoins fonctionnels et non fonctionnels, on a préparé le Backlog
du produit.
Malgré les contraintes de temps et les difficultés auxquelles nous avons été confrontés, nous
sommes parvenus à réaliser la majeure partie de notre plateforme.
Pour conclure, notre travail ne s’arrête pas là. En effet, ce projet offre des possibilités d’amé-
lioration, notamment :
— Enrichir notre plateforme en ajoutant de nouvelles fonctionnalités.
— Développer une application mobile pour une expérience utilisateur plus complète et adap-
tée aux besoins actuels.
101
102 Conclusion
Bibliographie
[2] Veronique Messager Rota, Gestion de projet vers les méthodes agiles, Edition Eyrolles,
2008.https ://www.kromberg-schubert.com/home