0% ont trouvé ce document utile (0 vote)
128 vues75 pages

Rapport PFE Ahmed Dabbabi Version 0

Ce rapport de stage présente la conception et le développement d'une plateforme web intelligente pour la gestion académique des étudiants, réalisée par Ahmed Dabbebi sous la supervision de M. Ala Eddine Kharrat. Le document détaille les méthodologies utilisées, les spécifications des besoins, ainsi que les différentes étapes de la réalisation du projet, incluant l'analyse et la conception technique. Il exprime également des remerciements à ceux qui ont soutenu l'auteur tout au long de son parcours académique et professionnel.

Transféré par

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

Rapport PFE Ahmed Dabbabi Version 0

Ce rapport de stage présente la conception et le développement d'une plateforme web intelligente pour la gestion académique des étudiants, réalisée par Ahmed Dabbebi sous la supervision de M. Ala Eddine Kharrat. Le document détaille les méthodologies utilisées, les spécifications des besoins, ainsi que les différentes étapes de la réalisation du projet, incluant l'analyse et la conception technique. Il exprime également des remerciements à ceux qui ont soutenu l'auteur tout au long de son parcours académique et professionnel.

Transféré par

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

Ministère de l’Enseignement Supérieur

Et de la Recherche Scientifique
****
Université de Sousse
****
Ecole Supérieure des Sciences et de la Technologie de Hammam Sousse

Licence Fondamentale en Sciences de l'Informatique


Rapport de Stage de Fin d’Etudes

Conception et Développement d’une plateforme web intelligente pour la


gestion académique des étudiants

Réalisé par :
Ahmed Dabbebi

Encadrant Académique : M. Ala Eddine Kharrat

Encadrant Professionnel : MM. Fatma Mlika

Année Universitaire : 2023-2024


Dédicace

Du fond du cœur, Je dédie ce travail

À mon cher père & À ma chère mère

Pour leur affection, leur sacrifices déployés à mon égard,

leur encouragement pendant tout mon cursus scolaire et

universitaire, pour leur patience et leur confiance en moi.

Qu’ils trouvent dans ces quelques lignes le témoignage de

ma profonde reconnaissance et de mon grand Amour

À mes chers frères Mohamed et Mouadh

&

À ma chère Yasmyn

Que ce travail soit l’expression de mon grand attachement

et ma gratitude pour tout signe d’affection aux joyeux

moments qu’on a partagé ensemble. Que Dieu vous garde

toujours unis.

À mes chers amis

Pour l’appui qu’ils m’ont fourni durant ce travail et leur

soutien moral continu. Qu’ils trouvent ici l’expression de

mon profond respect.

À toute ma famille & À tous ceux qui me sont chers

2
Remerciements

Avant tout, je rends grâce à Dieu, source de force et de persévérance, qui nous accompagne
dans chaque étape de notre parcours.

Il m’est difficile de trouver les mots justes pour exprimer toute ma reconnaissance en-
vers **Monsieur Ala Eddine KHARRAT**, mon encadrant académique, qui a été bien plus
qu’un simple guide tout au long de cette aventure. Son engagement sans faille, sa disponibilité
constante et son soutien indéfectible ont été d’une valeur inestimable. Que ce soit à travers nos
nombreuses réunions, en ligne comme en présentiel, il était toujours là, prêt à répondre à mes
interrogations, à éclairer mes doutes et à me pousser à donner le meilleur de moi-même. Son
suivi rigoureux, sa patience et ses conseils avisés ont non seulement enrichi mon travail, mais
ont également renforcé ma confiance et ma passion pour ce domaine. Bien au-delà de son rôle
d’encadrant, il a été un véritable **grand frère**, toujours présent pour m’épauler, me motiver
et m’orienter avec bienveillance. Pour tout cela, je lui suis infiniment reconnaissant.

J’exprime également ma sincère gratitude à l’ensemble de l’équipe pédagogique de l’**École


Supérieure des Sciences et de la Technologie de Hammam Sousse**. Leur engagement, leur
complémentarité scientifique et technologique, ainsi que leur bienveillance ont été une source
d’enrichissement considérable. Merci à chacun d’entre vous pour votre professionnalisme, votre
disponibilité et votre volonté constante de nous guider vers l’excellence.

Je tiens aussi à adresser mes remerciements les plus sincères à toute l’équipe de **IOBIRD**
pour leur accueil chaleureux, leur accompagnement et leur professionnalisme tout au long de
mon stage. Leur soutien et leur disponibilité ont grandement facilité l’aboutissement de mon
projet, et je leur en suis profondément reconnaissant.

Je souhaite également exprimer toute ma gratitude aux **membres du jury**, qui ont
accepté d’évaluer ce travail. Leur expertise et leur regard critique sont d’une grande importance,
et je les remercie pour le temps qu’ils ont consacré à l’examen de ce mémoire.

Enfin, un immense merci à toutes les personnes qui, de près ou de loin, ont contribué à la
réalisation de ce projet. Leur soutien, leurs encouragements et leur aide précieuse ont été une
véritable source de motivation et de réussite.

3
Table des matières

Introduction générale 1

1 Présentation du projet 3
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Présentation de l’organisme d’accueil . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 IOBIRD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 Activités d’IOBIRD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Présentation du sujet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.1 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.2 Étude de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Analyse de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Critique de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.3 Solution proposée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4 Méthodologie du travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.1 La méthode Agile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4.2 La méthode Agile : SCRUM . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4.3 Avantages du modèle SCRUM . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.4 L’équipe SCRUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5 Planification du travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2 Analyse et spécification des besoins 15


2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 Spécification des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.1 Identification des acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.2 Besoins fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.3 Besoins non fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3 Modélisation des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3.1 Langage de Modélisation UML . . . . . . . . . . . . . . . . . . . . . . . 18

4
Table des matières 5

2.3.2 Diagrammes de cas d’utilisation général . . . . . . . . . . . . . . . . . . 19


2.3.3 Raffinement des cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . 21
Analyse de cas d’utilisation : « Gestion des tâches » . . . . . . . . . . . . 21
Analyse de cas d’utilisation : « Gestion des notes » . . . . . . . . . . . . 23
Analyse de cas d’utilisation : « Gestion des documents » . . . . . . . . . 24
Analyse de cas d’utilisation : « Gestion du calendrier » . . . . . . . . . . 26
2.4 Maquettes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.4.1 Accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.4.2 Gestionnaire des documents . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4.3 Calendrier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.4.5 Tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3 Étude conceptuelle 33
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2 Conception de la plateforme : vue statique . . . . . . . . . . . . . . . . . . . . . 33
3.2.1 Diagramme de déploiment . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2.2 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3 Conception de la plateforme : vue dynamique . . . . . . . . . . . . . . . . . . . 36
3.3.1 Diagramme de séquences . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Diagramme de séquence « Ajouter une tâche » : . . . . . . . . . . . . . . 36
Diagramme de séquence « Ajouter une note » : . . . . . . . . . . . . . . 38
Diagramme de séquence « Classification des documents » : . . . . . . . . 40
3.4 Diagramme d’état/transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Diagramme d’état/transition : objet tâche . . . . . . . . . . . . . . . . . 42
3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4 Réalisation 43
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.2 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.3 Environnement de développement . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.3.1 Environnement technique . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.3.2 Environnement technique(AI) . . . . . . . . . . . . . . . . . . . . . . . . 46
4.3.3 Choix technologiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
La partie Frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.3.4 Environnement matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Table des matières 6

4.4 Présentation des interfaces du plateforme . . . . . . . . . . . . . . . . . . . . . . 49


4.4.1 Interface de login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.4.2 Interface d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.4.3 Interface de gestionnaire de fichiers . . . . . . . . . . . . . . . . . . . . . 51
4.4.4 Interface de calendrier . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.4.5 Interface de notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.4.6 Interface de tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.5 Présentation de la partie IA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Objectif de l’algorithme d’IA . . . . . . . . . . . . . . . . . . . . . . . . 58
Étapes principales de l’algorithme . . . . . . . . . . . . . . . . . . . . . 59
Pseudo-code de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . 60
Explication des avantages de l’IA dans votre application : . . . . . . . . 61
4.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

Conclusion générale 64
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Webographie 65
Liste des tableaux

1.1 Critique des solutions existantes . . . . . . . . . . . . . . . . . . . . . . . . . . . 8


1.2 SCRUM sprints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3 Diagramme de Gantt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.1 Comparaison des abonnements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16


2.2 Description textuelle du cas d’utilisation «Gestion des tâches» . . . . . . . . . . 22
2.3 Description textuelle du cas d’utilisation «Gestion des notes» . . . . . . . . . . . 24
2.4 Description textuelle du cas d’utilisation «Gestion des notes» . . . . . . . . . . . 25
2.5 Description textuelle du cas d’utilisation «Gestion du calendrier» . . . . . . . . 27

7
Table des figures

1.1 Logo de IOBIRD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3


1.2 Logo de Menutium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Logo de Sprime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Logo de Notion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.5 Logo de Coda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.6 Logo de Todoist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.7 Logo de Microsoft OneNote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.8 Cycle de vie de en SCRUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.1 Logo d’UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19


2.2 Diagramme de cas d’utilisation global . . . . . . . . . . . . . . . . . . . . . . . 20
2.3 Diagramme de cas d’utilisation « Gestion des tâches » . . . . . . . . . . . . . . 21
2.4 Diagramme de cas d’utilisation « Gestion des notes » . . . . . . . . . . . . . . . 23
2.5 Diagramme de cas d’utilisation « Gestion des documents » . . . . . . . . . . . . 24
2.6 Diagramme de cas d’utilisation « Gestion du calendrier » . . . . . . . . . . . . 26
2.7 Interface de la page accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.8 Interface de la page gestionnaire des documents . . . . . . . . . . . . . . . . . . 29
2.9 Interface de la page calendrier . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.10 Interface de la page notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.11 Interface de la page tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.1 Diagramme de déploiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34


3.2 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3 Diagramme de séquence système de « Ajouter une tâche » . . . . . . . . . . . . 37
3.4 Diagramme de séquence détaillé de « Ajouter une tâche » . . . . . . . . . . . . . 38
3.5 Diagramme de séquence système de « Ajouter une note » . . . . . . . . . . . . . 39
3.6 Diagramme de séquence détaillé de « Ajouter une note » . . . . . . . . . . . . . 40
3.7 Diagramme de séquence détaillé de « Classification des documents » . . . . . . . 41
3.8 Etat transition de l’objet « tâche » . . . . . . . . . . . . . . . . . . . . . . . . . 42

8
Table des figures 9

4.1 Fonctionnement du modèle MVC . . . . . . . . . . . . . . . . . . . . . . . . . . 44


4.2 Logo de Vscode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.3 Logo de Overleaf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.4 Logo de Github . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.5 Logo de Lucidchart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.6 Logo de Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.7 Logo de NumPy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.8 Logo de NLTK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.9 Logo de Scikit-learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.10 Logo de React . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.11 Interface d’authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.12 Interface d’accueil (1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.13 Interface d’accueil (2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.14 Interface de gestionnaire de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.15 Interface de fichier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.16 Interface de dossier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.17 Interface de calendrier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.18 Interface d’ajout d’un nouveau événement . . . . . . . . . . . . . . . . . . . . . 54
4.19 Interface de modification de labels . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.20 Interface de notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.21 Interface d’ajout d’une nouvelle note . . . . . . . . . . . . . . . . . . . . . . . . 56
4.22 Interface de tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.23 Interface d’ajout d’une nouvelle tâche . . . . . . . . . . . . . . . . . . . . . . . . 57
4.24 Interface d’ajout d’une nouvelle section . . . . . . . . . . . . . . . . . . . . . . . 58
4.25 Algorithme d’association de matière . . . . . . . . . . . . . . . . . . . . . . . . 60
4.26 Processus général de notre solution proposée . . . . . . . . . . . . . . . . . . . . 61
Introduction générale

À l’ère du numérique, les étudiants sont constamment à la recherche d’outils efficaces pour
optimiser leur organisation et améliorer leur productivité dans le cadre de leurs études. La
gestion du temps, des ressources et des tâches représente un défi majeur pour la réussite aca-
démique. Les méthodes traditionnelles, telles que l’utilisation de classeurs papier et d’agendas,
ne répondent plus de manière optimale aux besoins des étudiants d’aujourd’hui.

Face à ce constat, le développement d’une application web dédiée aux étudiants apparaît
comme une solution pertinente pour les accompagner dans la gestion de leurs études. Cette
plateforme centralisée offrirait un espace personnalisé où les étudiants pourraient stocker et
organiser leurs fichiers, tels que les cours, les séries d’exercices et les travaux pratiques. De plus,
un calendrier intégré permettrait une gestion efficace des événements importants et des dates
limites, facilitant ainsi la planification des révisions et la soumission des travaux dans les délais
impartis.

En outre, l’application web proposerait un espace dédié à la prise de notes, offrant aux
étudiants la possibilité de consigner leurs réflexions, leurs idées et les points clés de leurs cours.
Cet outil favoriserait une meilleure rétention des connaissances et une révision facilitée. Par
ailleurs, un module de gestion des tâches permettrait aux utilisateurs de créer des rappels et
de suivre l’avancement de leurs projets, garantissant ainsi une organisation optimale de leur
charge de travail.

L’application web serait accessible à différents types d’utilisateurs, chacun bénéficiant de


fonctionnalités adaptées à leurs besoins spécifiques. Les administrateurs seraient chargés de la
gestion globale de la plateforme, assurant son bon fonctionnement et sa sécurité. Les utilisa-
teurs standards auraient accès aux fonctionnalités de base, tandis que les utilisateurs premium
bénéficieraient d’avantages supplémentaires.

L’objectif de ce projet de fin d’études est de concevoir et de développer une application web
complète et conviviale, spécialement conçue pour répondre aux besoins des étudiants en matière
de gestion de leurs études. En offrant une solution centralisée et intuitive, cette plateforme vise
à faciliter l’organisation, la planification et le suivi des tâches académiques, permettant ainsi
aux étudiants de se concentrer pleinement sur leur réussite scolaire.

Ce rapport est composé de quatre chapitres. Tout d’abord, nous commençons dans le pre-
mier chapitre par la description et la présentation de l’organisme d’accueil, tout en exposant la
méthodologie adoptée et la planification du travail pour assurer le bon déroulement du projet
et l’étude de l’existant en fin.
Ensuite, nous allons identifier les acteurs ainsi que les différents services et fonctionnalités de
notre application dans le deuxième chapitre par l’intégration des maquettes après.
Le troisième chapitre portera sur toute la phase conceptuelle de notre plateforme.

1
Introduction générale 2

Le quatrième et dernier chapitre, concernera la réalisation de notre plateforme, où nous pré-


senterons l’environnement de développement, l’architecture de notre application et quelques
interfaces de celle-ci et nous clôturons par une conclusion générale et perspectives.
Chapitre 1

Présentation du projet

1.1 Introduction
Dans ce chapitre, nous débutons par une présentation de l’entité accueillante. Ensuite,
nous détaillons le sujet du projet à réaliser, précédé par une exposition de la problématique
ayant motivé cette démarche. Nous définissons également les exigences fonctionnelles et non
fonctionnelles. Après cela, nous examinons et évaluons les solutions actuellement en place, ce
qui nous conduit à proposer une nouvelle solution et à définir les divers objectifs de ce travail.

1.2 Présentation de l’organisme d’accueil


Dans cette section nous allons présenter l’entreprise d’accueil ainsi que ses secteurs d’activité.

1.2.1 IOBIRD
IOBIRD est une entreprise spécialisée dans le développement de logiciels, notamment pour
les solutions de commerce électronique mobile. Elle aide les petites et moyennes entreprises en
Tunisie à augmenter leurs ventes en ligne grâce à des applications personnalisées, offrant des
commandes automatisées en temps réel et des programmes de fidélisation intelligents basés sur
l’apprentissage automatique.
L’objectif d’Iobird est de transformer les idées des clients en solutions évolutives et de haute
qualité.[1]

Figure 1.1 – Logo de IOBIRD

3
1.2. Présentation de l’organisme d’accueil 4

1.2.2 Activités d’IOBIRD


Parmi les solutions notables développées par Iobird, on trouve :

• Menutium : MenuTium est une application mobile spécialisée dans la livraison de


nourriture, conçue pour révolutionner l’expérience de commande et de livraison de repas.
Grâce à une technologie de pointe et une architecture innovante, MenuTium facilite la
vie des utilisateurs en leur offrant un service cinq étoiles qui répond à leurs besoins
alimentaires.
Pour les restaurants, la plateforme permet d’atteindre de nouveaux clients et d’augmenter
les ventes en s’appuyant sur un réseau de livraison en pleine expansion.
Du côté des livreurs, MenuTium offre l’opportunité de devenir son propre patron, avec la
possibilité de travailler à tout moment et en tout lieu, et de gagner un revenu attractif en
fonction de son propre emploi du temps.
Avec MenuTium, la livraison de nourriture devient plus accessible, efficace et rentable
pour toutes les parties impliquées.

Figure 1.2 – Logo de Menutium

• Sprime : Sprime est un logiciel d’ingénierie assistée par ordinateur (IAO) basé sur le
cloud computing, développé par Iobird.
Ce produit avancé permet de réaliser des simulations de dynamique des fluides computa-
tionnelle (CFD), d’analyse par éléments finis (FEA) et de simulations thermiques.
Grâce à sa puissance et à sa flexibilité, Sprime est devenu un outil essentiel dans divers
secteurs de pointe, y compris l’aérospatiale.
Actuellement utilisé par SpaceX, Sprime contribue de manière significative à l’optimi-
sation des conceptions et des performances des projets spatiaux, en offrant des capacités
de simulation précises et efficaces directement accessibles via le cloud.
1.3. Présentation du sujet 5

Figure 1.3 – Logo de Sprime

1.3 Présentation du sujet


De nos jours, le paysage éducatif est confronté à un défi majeur : la planification et la ges-
tion efficaces des études des étudiants. Face à l’augmentation du nombre d’étudiants et à la
diversification croissante des programmes d’études, il est devenu impératif de fournir des outils
adaptés pour garantir leur réussite académique.
Malheureusement, le manque d’outils spécialisés disponibles entraîne souvent une baisse de la
qualité de l’enseignement et une utilisation inefficace des ressources disponibles.
La gestion manuelle des emplois du temps et des ressources devient obsolète, tandis que les
outils de suivi des progrès des étudiants sont souvent limités.
Ce projet propose le développement d’une application web dédiée aux étudiants pour la gestion
efficace de leurs études. Elle offrira des fonctionnalités telles que le téléchargement et l’organi-
sation de fichiers de cours, un calendrier pour gérer les événements et les échéances, un espace
de prise de notes et des fonctionnalités de gestion des tâches.
Deux types d’abonnements seront pris en compte : un abonnement gratuit et un autre payant.

1.3.1 Problématique
De nos jours plusieurs étudiants font face à des difficultés lors de la planification de leurs
études en raison du manque d’outils adaptés disponibles ce qui peut entraîner une baisse de la
qualité de l’enseignement.
De plus avec l’augmentation du nombre des étudiants et la diversification des programmes
d’études, il devient de plus en plus difficile de garantir leur réussite académique.
La gestion manuelle des emplois du temps et des ressources devient rapidement obsolète et
entraîne des erreurs ainsi qu’une utilisation inefficace des ressources disponibles.
En outre, les outils de suivi des progrès des étudiants actuellement disponibles sont souvent
limités et ne fournissent pas une vue d’ensemble complète de la performance académique.
En somme, il est crucial de développer une plateforme de planification d’études intégrée et
conviviale qui permettra aux étudiants de relever ces défis et d’améliorer l’expérience d’appren-
tissage.
1.3. Présentation du sujet 6

1.3.2 Étude de l’existant

Analyse de l’existant

Il existe déjà plusieurs solutions numériques sur le marché qui offrent aux étudiants des
fonctionnalités pour faciliter l’organisation de leurs études.
Avant de présenter notre proposition pour une nouvelle application web, nous allons examiner
quelques-unes des solutions existantes les plus populaires dans ce domaine.
En étudiant ces solutions, nous pouvons mieux appréhender les besoins des étudiants et dé-
terminer comment notre application pourrait se démarquer en proposant des fonctionnalités
novatrices et une expérience utilisateur optimisée.
Parmi les nombreuses options disponibles, nous avons choisi quatre solutions particulièrement
pertinentes en matière de gestion des études et de productivité : Notion, Coda (pour les étu-
diants), Todoist (pour les étudiants) et Microsoft OneNote.
Chacune de ces applications propose des approches différentes pour aider les utilisateurs à or-
ganiser leurs tâches, prendre des notes et collaborer de manière efficace.
Dans les sections suivantes, nous allons définir et analyser en détail ces quatre solutions afin
de mieux cerner leur positionnement sur le marché et d’identifier les possibilités d’amélioration
pour notre propre application.

• Notion : Notion (voir figure 1.4) est une application polyvalente de prise de notes et de
gestion de projet qui permet aux étudiants de créer, organiser et partager des documents,
des listes de tâches, des tableaux, des bases de données et bien plus encore.
Avec Notion, les étudiants peuvent collaborer en temps réel sur des projets, suivre leurs
progrès et centraliser toutes leurs informations et ressources au même endroit.[2]

Figure 1.4 – Logo de Notion

• Coda (pour les étudiants) : Coda (voir figure 1.5) est une plateforme de productivité
tout-en-un qui combine les fonctionnalités d’un traitement de texte, d’un tableur et d’une
base de données. Les étudiants peuvent utiliser Coda pour créer des documents interactifs,
organiser leurs idées, gérer leurs tâches et collaborer avec leurs camarades de classe.
Coda offre des fonctionnalités avancées de personnalisation et d’automatisation, ce qui
1.3. Présentation du sujet 7

en fait un outil puissant pour optimiser les flux de travail et améliorer l’efficacité dans les
études.[3]

Figure 1.5 – Logo de Coda

• Todoist (pour les étudiants) : Todoist (voir figure 1.6) est une application de ges-
tion des tâches qui permet aux étudiants d’organiser leurs listes de tâches, de définir des
rappels et des dates d’échéance, et de suivre leur progression dans la réalisation de leurs
projets et devoirs.
Avec Todoist, les étudiants peuvent créer des listes de tâches personnalisées, les classer
par priorité et les partager avec d’autres personnes.[4]

Figure 1.6 – Logo de Todoist

• Microsoft OneNote : Microsoft OneNote (voir figure 1.7) est une application de prise
de notes numérique développée par Microsoft. Elle permet aux utilisateurs de capturer,
organiser et partager des informations sous forme de notes, de croquis, de listes, d’enre-
gistrements audio, de captures d’écran et d’autres contenus multimédias.
OneNote offre une interface flexible qui permet aux utilisateurs de créer des cahiers per-
sonnalisés contenant des sections et des pages pour organiser leurs informations de manière
efficace.[5]
1.3. Présentation du sujet 8

Figure 1.7 – Logo de Microsoft OneNote

Critique de l’existant

Bien que les solutions que nous venons de citer permettent une gestion d’études efficace,
nous envisageons de rajouter nos touches d’amélioration puisque ces dernières disposent d’un
ensemble d’incohérences et de points faibles. le tableau 1.1 présente les points forts et les points
faibles de chaque solution citée dans la section précédente :

Tableau 1.1 – Critique des solutions existantes

Solution Points forts Points faibles


Notion - Interface intuitive et personnalisable - Courbe d’apprentissage légèrement
- Intégration de diverses fonctionnali- plus élevée pour les débutants
tés (notes, bases de données, tableaux, - Version gratuite limitée
etc.)
- Collaboration en temps réel
- Application mobile
Coda (pour étu- - Interface conviviale et facile à - Moins de modèles préconçus com-
diants) prendre en main paré à d’autres solutions
- Intégration de documents, feuilles de - Certaines fonctionnalités avancées
calcul et automatisations peuvent être limitées dans la version
- Collaboration en temps réel étudiante
- Tarif préférentiel pour les étudiants
Microsoft OneNote - Intégration native avec la suite Mi- - Interface parfois moins intuitive que
crosoft Office d’autres solutions
- Organisation hiérarchique des notes - Personnalisation limitée de l’appa-
(blocs-notes, sections, pages) rence des notes
- Reconnaissance d’écriture manus- - Collaboration en temps réel parfois
crite moins fluide
- Application mobile
Todoist (pour étu- - Interface épurée et facile à utiliser - Moins adapté pour la prise de notes
diants) - Gestion de tâches et de projets effi- longues et détaillées
cace - Fonctionnalités de mise en forme du
- Intégration avec de nombreuses ap- texte limitées
plications tierces - Collaboration en temps réel moins
- Tarif préférentiel pour les étudiants développée que d’autres solutions
1.4. Méthodologie du travail 9

Le tableau de comparaison des solutions existantes met en lumière les forces et les faiblesses
de chaque option.
Notion se distingue par son interface intuitive et sa gamme étendue de fonctionnalités, mais sa
courbe d’apprentissage peut être abrupte pour les débutants.
Coda offre une interface conviviale et des tarifs préférentiels pour les étudiants, mais ses fonc-
tionnalités avancées sont limitées dans la version étudiante.
Microsoft OneNote bénéficie d’une intégration native avec Microsoft Office, mais son interface
peut être moins intuitive.
Todoist propose une gestion efficace des tâches et des tarifs préférentiels pour les étudiants,
mais il est moins adapté pour la prise de notes détaillées.

1.3.3 Solution proposée

Face à la nécessité de mieux gérer leurs études, notre projet vise à créer une application
web dédiée aux étudiants. Cette solution fournira un espace unique où les utilisateurs pourront
télécharger et organiser leurs fichiers de cours, séries d’exercices, travaux pratiques, etc.
De plus, un calendrier intégré permettra aux étudiants de planifier efficacement leurs événe-
ments et de respecter leurs délais.
Un espace dédié aux notes offrira la possibilité d’enregistrer des informations importantes, tan-
dis qu’un module de gestion des tâches permettra de créer des rappels pour les activités à venir.
Cette application sera conçue pour répondre aux besoins de différents types d’utilisateurs.
Un administrateur supervisera le système, tandis que les utilisateurs standards auront accès à
toutes les fonctionnalités de base.
En outre, les utilisateurs bénéficiant d’un abonnement premium disposeront d’avantages sup-
plémentaires, les aidant à optimiser davantage leur expérience d’apprentissage.
En rassemblant les données et en automatisant les processus, notre application offrira une vi-
sibilité en temps réel sur les activités liées aux études.
Elle permettra de réduire la dépendance aux méthodes traditionnelles de gestion et d’alléger la
charge administrative, libérant ainsi du temps pour se concentrer sur l’essentiel : l’apprentissage.

1.4 Méthodologie du travail

Avant la réalisation d’un projet informatique, il est nécessaire de choisir une méthode de
travail afin de rendre le développement plus fidèle aux besoins du client.
C’est pour cela que nous avons opté pour la méthodologie agile Scrum puisque ses caractéris-
tiques correspondent au chemin souhaité pour notre travail et elle est adoptée par toutes les
équipes de l’entreprise.
1.4. Méthodologie du travail 10

1.4.1 La méthode Agile

La méthode agile consiste en une approche itérative et progressive du développement de


logiciels, se caractérisant par sa souplesse et sa capacité à s’ajuster aux évolutions.
Au lieu de suivre un plan strict, les équipes agiles encouragent la collaboration continue entre
les membres de l’équipe et les parties prenantes, ainsi que des cycles de développement courts
appelés “itérations” ou “sprints".
Ces itérations permettent de créer des versions fonctionnelles du logiciel à intervalles réguliers,
favorisant ainsi la rétroaction rapide et son intégration dans le processus de développement.
L’approche agile met l’accent sur la satisfaction du client, la fourniture rapide de logiciels de
qualité supérieure, ainsi que sur la capacité à répondre efficacement aux évolutions des besoins
et priorités.
Elle repose sur des valeurs telles que la collaboration, l’adaptabilité, la transparence et le travail
d’équipe auto-organisé.

1.4.2 La méthode Agile : SCRUM

Scrum (voir figure 1.8) est une méthode de gestion de projets agiles qui permet de délivrer
et modifier un produit très rapidement grâce à ses différents rôles, outils et à un ensemble de
réunions conduisant à la livraison des petits morceaux de logiciels fonctionnels au client à un
intervalle régulier de temps tout en prenant en charge les modifications qui interviennent au
cours du développement sans qu’elles posent de problèmes.

Figure 1.8 – Cycle de vie de en SCRUM


1.4. Méthodologie du travail 11

1.4.3 Avantages du modèle SCRUM

Parmi les avantages du modèle SCRUM, nous citons :

• Flexibilité et adaptabilité : SCRUM permet une flexibilité et une adaptabilité constantes,


répondant ainsi aux exigences changeantes et assurant l’alignement du produit avec les
besoins des parties prenantes.

• Amélioration de la collaboration et de la communication : SCRUM favorise une


collaboration étroite, une communication régulière et une transparence entre les membres
de l’équipe et les parties prenantes, favorisant ainsi la compréhension commune, l’amélio-
ration du travail d’équipe et la résolution rapide des obstacles.

• Délai de mise sur le marché plus court : SCRUM permet une livraison rapide et
itérative d’incréments de produit utilisables, offrant un retour d’information rapide, des
mises à jour incrémentales et une satisfaction client continue.

1.4.4 L’équipe SCRUM

L’équipe SCRUM est divisée en 3 rôles principaux, qui interviennent dans le processus de
développement du produit, à savoir :

• Le Product Owner : Le Product Owner représente les intérêts du client, définit les
besoins du projet, établit les priorités, valide les incréments et participe activement aux
réunions de planification et de suivi, assurant ainsi l’alignement avec les attentes et ob-
jectifs métier du client.

• Le SCRUM Master : Le SCRUM Master assure la bonne mise en oeuvre de la mé-


thode SCRUM, facilite la résolution des problèmes, agit en tant que coach et favorise
la communication et la collaboration au sein de l’équipe pour atteindre les objectifs du
projet.

• L’équipe de développement SCRUM : L’équipe de développement SCRUM est une


équipe multidisciplinaire auto-organisée et auto-gérée, responsable de la création et de
la réalisation des fonctionnalités du produit. Elle collabore étroitement, partageant les
connaissances et les responsabilités pour atteindre les objectifs du sprint et favoriser une
meilleure coordination et efficacité.
1.5. Planification du travail 12

1.5 Planification du travail

En se basant sur la méthode Scrum, notre projet a été structuré en plusieurs sprints pour
une gestion agile et itérative. Le tableau ci-dessous présente les différentes étapes du projet,
les objectifs principaux de chaque sprint, ainsi que les fonctionnalités développées et les tests
effectués.

Tableau 1.2 – SCRUM sprints

Sprint Durée Objectifs Fonctionnalités à Tests et Livrables


Principaux Développer
Sprint 1 2 semaines Initialisation du
projet et • Configuration du • Revue des
configuration de projet maquettes
l’environnement • Définition des rôles • Tests de
(administrateur, configuration
utilisateur, utilisateur
premium)
• Maquettage des
interfaces principales

Sprint 2 2 semaines Mise en place de


l’authentification • Système d’inscription • Tests unitaires
et de connexion pour
• Gestion des rôles l’inscription et
(administrateur, la connexion
utilisateur, premium)

Sprint 3 3 semaines Espace utilisateur


de base • Interface de l’espace • Tests de
utilisateur l’upload de
• Upload de fichiers fichiers

Sprint 4 2 semaines Calendrier et


gestion des • Mise en place du • Tests
événements calendrier fonctionnels du
• Ajout, édition, calendrier
suppression des
événements
• Notifications de
rappel
1.5. Planification du travail 13

Sprint 5 3 semaines Espace des notes et


gestion des tâches • Interface pour la • Tests de la prise
prise de notes de notes
• Ajout, édition, • Tests de la
suppression des notes gestion des
• Gestion des tâches et tâches
rappels

Sprint 6 2 semaines Fonctionnalités


premium et • Développement des • Tests des
optimisation fonctionnalités fonctionnalités
premium (espace de premium
stockage • Revue des
supplémentaire, optimisations
options avancées,
etc.)
• Optimisation de
l’interface utilisateur

Sprint 7 2 semaines Sécurité et


performance • Amélioration de la • Tests de sécurité
sécurité de • Tests de
l’application performance
• Optimisation des
performances
• Gestion des
permissions et accès

Ce tableau 1.2 présente une planification détaillée du développement d’une application web
en 7 sprints. Chaque sprint est décrit avec des informations concises sur sa durée, ses objectifs
principaux, les fonctionnalités à développer et les tests et livrables associés.
1.6. Conclusion 14

Tableau 1.3 – Diagramme de Gantt

Liste des activités Janvier Février Mars Avril Mai


Semaines 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
Analyse et
spécification des
besoins
Conception
Réalisation
Élaboration du
rapport

Le diagramme de Gantt présenté dans le tableau 1.3 illustre la planification et la répartition


des activités de notre projet sur une période de quatre mois à peu près, de janvier à mai.
Les activités principales du projet sont divisées en quatre phases distinctes : l’analyse et la
spécification des besoins, la conception, la réalisation et l’élaboration du rapport.
Le tableau permet de visualiser la durée et la séquence de chaque phase du projet. Les cases
colorées en bleu indiquent les semaines durant lesquelles une activité spécifique est prévue.
Les phases se chevauchent parfois, montrant que certaines activités peuvent être réalisées en
parallèle.

1.6 Conclusion
Dans ce premier chapitre, nous avons, tout d’abord, présenté l’organisme d’accueil ansi que
les services qu’il propose. Ensuite, nous avons exposé le contexte du projet, en fournissant une
description générale des objectifs de la plateforme et en examinant l’existant, y compris les
critiques formulées. Enfin, nous avons présenté la solution proposée pour répondre aux besoins
identifiés.

Le chapitre suivant se concentrera sur les spécifications détaillées de la plateforme, en four-


nissant une analyse approfondie des exigences.
Chapitre 2

Analyse et spécification des besoins

2.1 Introduction
Après l’étude de l’éxistant et la proposition d’une solution théorique, cette phase consiste
à cadrer le projet et à définir ses besoins. Pour cela, dans ce chapitre, nous présentons l’en-
semble des spécifications des besoins fonctionnels ainsi que les besoins non-fonctionnels qui
perfectionnent les qualités de la plateforme.

2.2 Spécification des besoins


La spécification des besoins est une étape essentielle dans le processus de développement de
logiciels et de systèmes. Elle consiste à identifier, documenter et définir de manière précise et
détaillée les exigences d’un projet, c’est-à-dire ce que le système doit être capable de faire et
les contraintes auxquelles il doit répondre.

2.2.1 Identification des acteurs

Un acteur représente une personne qui interagit avec le système. Nous identifierons d’abord
les différents acteurs de notre plateforme puis nous modéliserons les exigences pour chaque
acteur.
Dans le cadre de développement de notre plateforme, nous avons identifié deux principaux
acteurs :

• Administrateur : C’est l’acteur qui possède le droit de tout gérer dans notre plateforme.
Il possède le droit de faire toutes les fonctionnalités développées dans la plateforme, il
possède le privilège de gérer les comptes des utilisateurs ainsi que leurs droits d’accès (les
inscriptions).

15
2.2. Spécification des besoins 16

• Utilisateur (abonnement standard) : C’est un acteur qui sera inscrit pour pouvoir
gérer ses fichiers, ses tâches, ses notes, son emploi de temps ainsi que son calendrier.

• Utilisateur (abonnement premium) : Cet acteur bénéficie de tous les avantages d’un
abonnement standard, ainsi que d’un accès étendu à de nombreuses autres fonctionnalités.

Le tableau 2.1présente une analyse comparative entre l’abonnement gratuit et l’abonnement


payant pour évaluer les différentes fonctionnalités et avantages offerts par chacun.

Tableau 2.1 – Comparaison des abonnements

Fonctionnalités Abonnement Gratuit Abonnement Premium


Consulter les cours Ë Ë
Télécharger les cours Ë Ë
Consulter l’emploi du temps Ë Ë
Accéder au forum de discussion é Ë
Groupes d’étude et réseautage é Ë
Recommandation d’Emploi du Temps é Ë
Espace infinie de stockage é Ë
Classification Automatique des Cours é Ë
Contenu en plusieurs langues é Ë

2.2.2 Besoins fonctionnels

Les besoins fonctionnels représentent les fonctionnalités ou les actions spécifiques que le
système doit effectuer. Ils décrivent les actions que les utilisateurs attendent du système et les
résultats attendus de ces actions.

Dans cette section, nous expliquerons les fonctionnalités générales de notre système associés
à chaque acteur :

1. Administrateur : En tant que responsable de l’application, l’administrateur doit avoir


accès à des fonctionnalités de gestion avancées pour assurer le bon fonctionnement de la
plateforme. Les besoins fonctionnels de l’administrateur incluent :

• Gestion des Utilisateurs : L’administrateur doit pouvoir créer, modifier et supprimer


des comptes utilisateur, ainsi que gérer leurs autorisations d’accès.

• Gestion des Contenus : Capacité à superviser les fichiers téléchargés par les utilisa-
teurs, à modérer le contenu inapproprié et à assurer la conformité aux directives de
sécurité.
2.2. Spécification des besoins 17

• Personnalisation de l’Application : Possibilité de personnaliser l’apparence et les


fonctionnalités de l’application en fonction des besoins des utilisateurs.

2. Utilisateur (avec abonnement gratuit) :Les utilisateurs normaux sont ceux qui uti-
lisent l’application sans abonnement premium. Leurs besoins fonctionnels comprennent
les fonctionnalités de base. Parmi ces fonctionnalités, on trouve :

• Calendrier des Événements et Deadlines : Accès à un calendrier intégré pour planifier


et suivre les événements académiques et les échéances importantes.

• Espace de Notes : Possibilité de créer, éditer et organiser des notes pour prendre des
informations importantes.

• Gestion des Tâches : Fonctionnalité pour créer des tâches, définir des rappels et
suivre les progrès des travaux marqués.

• Gestion des Fichiers : Capacité à télécharger, organiser et partager des fichiers tels
que des cours, des photos, des documents etc.

3. Utilisateur (avec abonnement premium) :Les utilisateurs premium bénéficient d’avan-


tages supplémentaires pour optimiser leur expérience d’apprentissage et maximiser leur
efficacité académique. En plus des fonctionnalités offertes aux utilisateurs normaux, les
utilisateurs premium ont accès à des outils avancés basés sur l’intelligence artificielle (IA)
pour une gestion encore plus optimale de leurs études. Leurs besoins fonctionnels com-
prennent donc :

• Stockage Supplémentaire : Capacité à stocker un plus grand nombre de fichiers et à


bénéficier d’un espace de stockage illimité.

• Personnalisation Avancée : Possibilité de personnaliser davantage l’apparence et les


fonctionnalités de l’application selon leurs préférences individuelles.

• Classification Automatique des Cours : L’outil IA intégré permet aux utilisateurs


premium de classifier automatiquement les cours qu’ils ont téléchargés et de les
organiser dans des dossiers spécifiques, simplifiant ainsi la gestion et la navigation
des contenus.

• Recommandation d’Emploi du Temps Personnalisé : Un autre outil IA avancé analyse


divers facteurs tels que les horaires d’études, les progrès académiques, les notes, les
horaires de révision, etc. Il utilise ces données pour recommander un emploi du
temps individuel spécifique à chaque utilisateur, garantissant ainsi une optimisation
maximale du temps d’étude et des performances académiques.

• Support Prioritaire : Accès à un support client prioritaire pour résoudre rapidement


les problèmes et répondre aux questions.
2.3. Modélisation des besoins 18

2.2.3 Besoins non fonctionnels

Les besoins non fonctionnels, quant à eux, décrivent les contraintes et les caractéristiques non
liées aux fonctionnalités du système, ces besoins sont généralement mesurables et permettent
d’évaluer la qualité du système. Quant aux besoins non fonctionnels, ils se récapitulent en :

• L’ergonomie des interfaces : Notre application doit être compréhensible, simple à


utiliser et bien organisé de point de vue graphique de sorte qu’elle minimise le temps
pour faire une tel fonctionnalité et fournit un feedback à l’utilisateur en cas d’erreur. ou
de succès.

• La Sécurité : L’application demandée est une application de gestion interne, ce qui


signifie qu’il est essentiel de prévenir toute tentative d’accès depuis l’extérieur afin de
garantir la sécurité des données métiers. En conséquence, le mécanisme d’authentification
doit assurer l’authenticité de l’utilisateur connecté et la validité des autorisations qu’il
détient.

• La performance : La plateforme doit être performante en termes de fonctionnalités,


en offrant un temps de réponse minimal et des fonctionnalités répondant aux besoins de
l’utilisateur, tout en respectant ce critère.

• La modularité et l’évolutivité : L’architecture de l’application doit être conçue de


manière à faciliter l’ajout de nouvelles fonctionnalités ou mises à jour, tout en garantissant
un code clair et facile à maintenir. Cette approche permettra d’assurer la modularité
et l’évolutivité de l’application, offrant ainsi la flexibilité nécessaire pour répondre aux
besoins futurs du client.

2.3 Modélisation des besoins

2.3.1 Langage de Modélisation UML

UML (Unified Modeling Language) (voir figure 2.1) est un language de modélisation gra-
phique standard utilisé dans l’industrie du développement logiciel pour représenter visuellement
les systèmes informatiques. Il permet de décrire les différents composantes d’un système, comme
les cas d’utilisation, les classes, les séquences, les activités, les composants, etc. L’utilisation de
UML permet une meilleure compréhension du système et facilite la communication entre les
différents parties prenantes du projet. Il est donc un outil précieux pour la conception, l’analyse
et la documentation des systèmes informatiques.
2.3. Modélisation des besoins 19

Figure 2.1 – Logo d’UML

2.3.2 Diagrammes de cas d’utilisation général

Dans cette section, nous exposons le diagramme de cas d’utilisation général qui regroupe tous
les cas d’utisation de base afin d’avoir une vue globale du fonctionnement de notre plateforme :
2.3. Modélisation des besoins 20

Figure 2.2 – Diagramme de cas d’utilisation global


2.3. Modélisation des besoins 21

2.3.3 Raffinement des cas d’utilisation

Afin de mieux comprendre un fontionnement d’un cas d’utilisation, nous allons présenter
une table descriptive pour les principaux cas d’utilisation.

Analyse de cas d’utilisation : « Gestion des tâches »

Figure 2.3 – Diagramme de cas d’utilisation « Gestion des tâches »

Le tableau 2.2 indique la description textuelle du cas d’utilisation « Gestion des tâches » :
2.3. Modélisation des besoins 22

Tableau 2.2 – Description textuelle du cas d’utilisation «Gestion des tâches»

Cas d’utilisation Gestion des tâches


Description Ce cas d’utilisation décrit la gestion des tâches (ajouter, supprimer,
modifier et consulter)
Acteurs Tous
Post-condition Une inerface affiche les tâches ajoutés. L’utilisateur peut consulter, sup-
primer ou modifier.
Scénario principal
• Ajouter une tâche
• Parcourir les tâches
En consultant les tâches, on peut :
• Modifier les informations d’une tâche
• Supprimer une tâche du section ou toute une section
• Marquer une tache comme terminée ou en attente

Scénario alternatif
• Champs obligatoires non remplis
• Formats de données incorrects
2.3. Modélisation des besoins 23

Analyse de cas d’utilisation : « Gestion des notes »

Figure 2.4 – Diagramme de cas d’utilisation « Gestion des notes »

Le tableau 2.3 indique la description textuelle du cas d’utilisation « Gestion des notes » :
2.3. Modélisation des besoins 24

Tableau 2.3 – Description textuelle du cas d’utilisation «Gestion des notes»

Cas d’utilisation Gestion des notes


Description Ce cas d’utilisation décrit la gestion des notes (ajouter, supprimer, mo-
difier et consulter)
Acteurs Tous
Post-condition Une inerface affiche les notes ajoutés. L’utilisateur peut consulter, sup-
primer ou modifier.
Scénario principal
• Ajouter une note
• Parcourir les notes
En consultant les notes, on peut :
• Modifier les informations d’une note
• Supprimer une note

Scénario alternatif
• Champs obligatoires non remplis
• Formats de données incorrects
• Format d’image non supporté

Analyse de cas d’utilisation : « Gestion des documents »


2.3. Modélisation des besoins 25

Le tableau 2.4 indique la description textuelle du cas d’utilisation « Gestion des documents
»:

Tableau 2.4 – Description textuelle du cas d’utilisation «Gestion des notes»

Cas d’utilisation Gestion des documents


Description Ce cas d’utilisation décrit la gestion des documents (ajouter, supprimer,
modifier et consulter)
Acteurs Tous
Post-condition Une inerface affiche les documents regroupés dans des dossiers. L’utili-
sateur peut consulter, supprimer ou modifier.
Scénario principal
• Ajouter un ou plusieurs documents
• AI analyse le document
• AI retourne le document dans son dossier de matière spécifique
(ajouter un nouveau dossier si nécessaire)
En consultant les documents, on peut :
• Modifier le contenu d’un dossier
• Supprimer un document ou un dossier

Scénario alternatif
• Document est illisible ou corrompu.
• Classification incorrecte du document
• Format de document non supporté
2.3. Modélisation des besoins 26

Analyse de cas d’utilisation : « Gestion du calendrier »

Figure 2.6 – Diagramme de cas d’utilisation « Gestion du calendrier »

Le tableau 2.5 indique la description textuelle du cas d’utilisation « Gestion du calendrier


»:
2.4. Maquettes 27

Tableau 2.5 – Description textuelle du cas d’utilisation «Gestion du calendrier»

Cas d’utilisation Gestion du calendrier


Description Ce cas d’utilisation décrit la gestion des évènements (ajouter, suppri-
mer, modifier et consulter)
Acteurs Tous
Post-condition Une inerface affiche le calendrier (vue de mois,de semaine ou de
jour).L’utilisateur peut consulter, supprimer ou modifier les évène-
ments.
Scénario principal
• Ajouter un évènement
• Parcourir le calendrier
En consultant le calendrier, on peut :
• Modifier les informations d’un évènement
• Supprimer un évènement

Scénario alternatif
• Conflits de planification lors de la modification ou l’ajout d’évé-
nements

2.4 Maquettes

Placer les maquettes des interfaces dans ce chapitre, "Analyse et spécification des besoins",
constitue une démarche stratégique visant à fournir une représentation concrète et détaillée de
la manière dont l’application web répondra aux exigences identifiées lors de l’étude préliminaire
du projet.
Cette intégration permettra aux lecteurs de visualiser comment les besoins des utilisateurs se-
ront traduits en fonctionnalités spécifiques, mettant en lumière la pertinence et l’efficacité de
la solution proposée.
En présentant les maquettes à ce stade du rapport, nous offrons une transition naturelle entre
la phase d’identification des besoins et celle de leur spécification, permettant ainsi une compré-
hension approfondie de la vision conceptuelle du projet et de sa concrétisation pratique.
2.4. Maquettes 28

2.4.1 Accueil

L’interface d’accueil qui est illustrée par la figure 2.7 comporte :

• une vue globale sur les tâches de l’utilisateur ( les tâches complètes, en retard,
incomplètes etc.. ).

• un graphe qui présente la progression hebdomadaire de l’utilisateur.

• un graphe qui présente la distribution hebdomadaire des tâches de l’utilisateur.

Figure 2.7 – Interface de la page accueil


2.4. Maquettes 29

2.4.2 Gestionnaire des documents

L’interface de gestionnaire des document qui est illustrée par la figure 2.8 comporte :

• une vue globale sur la classification des documents qui comporte :

• une section qui regroupe les documents non classifiés.

• une section qui regroupe les documents classifiés (dans des dossiers).

• une formulaire d’ajout d’un document en cliquant sur le bouton "Upload file"

Figure 2.8 – Interface de la page gestionnaire des documents

2.4.3 Calendrier

L’interface de calendrier qui est illustrée par la figure 2.9 comporte :

• une vue globale (par mois, par semaine ou par jour) d’un calendrier qui comporte les
évènements mis par l’utilisateur.

• une formulaire d’ajout d’un évènement en cliquant sur le bouton d’ajout.

• un menu de modification de labels des évènements.


2.4. Maquettes 30

Figure 2.9 – Interface de la page calendrier

2.4.4 Notes

L’interface de notes qui est illustrée par la figure 2.10 comporte :

• une vue globale des notes crées par l’utilisateur.

• une formulaire d’ajout d’une note en cliquant sur le champ de saisie de texte "Take a
note".

• un menu qui filtre les notes par ces labels, celles qui ont un rappel et celle qui ont été
archivées.

• un menu de modification de labels des notes.


2.4. Maquettes 31

Figure 2.10 – Interface de la page notes

2.4.5 Tâches

L’interface de tâches qui est illustrée par la figure 2.11 comporte :

• une vue globale des tâches et sections crées par l’utilisateur.

• une formulaire d’ajout d’une tâche en cliquant sur le bouton "Add Task".

• une formulaire d’ajout d’une section en cliquant sur le bouton "Add Section".
2.5. Conclusion 32

Figure 2.11 – Interface de la page tâches

2.5 Conclusion
Au fil de ce chapitre, nous avons minutieusement analysé et spécifié les besoins fonctionnels
et non-fonctionnels de notre projet, jetant ainsi les bases nécessaires à la réalisation de notre
plateforme. Nous avons identifié les fonctionnalités essentielles ainsi que les exigences supplé-
mentaires qui guideront le développement de la solution. Le prochain chapitre sera consacré à
la conception.
Chapitre 3

Étude conceptuelle

3.1 Introduction
Après avoir réalisé une présentation sur l’entreprise d’accueil, l’analyse et la spécification
des besoins du projet ainsi que l’intégration des maquettes des interfaces, nous avançons dans
ce chapitre, dans la préparation de la phase de réalisation en proposant une conception plus
détaillée pour notre système

3.2 Conception de la plateforme : vue statique


La vue statique représente des schémas de conception à caractère stable à l’immobile pour
les différents processus de l’application. Cette vue se traduit en termes d’acteurs.

3.2.1 Diagramme de déploiment

Le diagramme de déploiment, est un diagramme de structure qui montre l’architecture du


système en tant que déploiment (distribution) d’artefacts logiciels vers des cibles de déploiment.
La figure ci-dessous décrit l’architecture globale nécessaire pour la mise en place de notre
plateforme.

33
3.2. Conception de la plateforme : vue statique 34

Figure 3.1 – Diagramme de déploiment


3.2. Conception de la plateforme : vue statique 35

3.2.2 Diagramme de classes

Le diagramme de classes est une représentation visuelle qui décrit la structure interne d’un
système et participe à sa modélisation statique. Il généralise les objets du système, illustrant
comment ils collaborent et interagissent pour réaliser les cas d’utilisation.

Figure 3.2 – Diagramme de classes


3.3. Conception de la plateforme : vue dynamique 36

3.3 Conception de la plateforme : vue dynamique


La vue dynamique met l’accent sur le comportement dynamique du système en illustrant
les collaborations entre les objets et les changements apportés à états internes d’objets. Durant
cette phase, nous décrirons le comportement général du système en présentant les diagramme
de séquences.

3.3.1 Diagramme de séquences

Le diagramme de séquences est un outil de modélisation UML qui représente graphiquement


l’interaction entre les différents objets ou acteurs d’un système au fil du temps. Il illustre l’ordre
chronologique des échanges de messages et d’appels de méthodes entre ces entités afin d’accom-
plir une tâche ou un scénario spécifique. Ce type de diagramme permet de visualiser clairement
la dynamique des communications entre les objets, de vérifier la cohérence des interactions et
d’identifier les responsabilités de chacun. Il constitue ainsi un moyen efficace de documenter et
de comprendre les scénarios d’utilisation d’un système complexe.

Diagramme de séquence « Ajouter une tâche » :

• Diagramme de séquence système :

La figure 3.3 illustre le diagramme de séquence système d’ajouter une tâche.


3.3. Conception de la plateforme : vue dynamique 37

Figure 3.3 – Diagramme de séquence système de « Ajouter une tâche »

• Diagramme de séquence détaillé :

La figure 3.4 illustre le diagramme de séquence détaillé d’ajouter une tâche.


3.3. Conception de la plateforme : vue dynamique 38

Figure 3.4 – Diagramme de séquence détaillé de « Ajouter une tâche »

Diagramme de séquence « Ajouter une note » :

• Diagramme de séquence système :

La figure 3.5 illustre le diagramme de séquence système d’ajouter une note.


3.3. Conception de la plateforme : vue dynamique 39

Figure 3.5 – Diagramme de séquence système de « Ajouter une note »

• Diagramme de séquence détaillé :

La figure 3.6 illustre le diagramme de séquence détaillé d’ajouter une note.


3.3. Conception de la plateforme : vue dynamique 40

Figure 3.6 – Diagramme de séquence détaillé de « Ajouter une note »

Diagramme de séquence « Classification des documents » :

• Diagramme de séquence détaillé :

La figure 3.7 illustre le diagramme de séquence détaillé d’ajouter une tâche.


3.3. Conception de la plateforme : vue dynamique 41

Figure 3.7 – Diagramme de séquence détaillé de « Classification des documents »


3.4. Diagramme d’état/transition 42

3.4 Diagramme d’état/transition


Les diagrammes d’états-transitions d’UML décrivent le comportement interne d’un objet à
l’aide d’un automate à états finis. Ils présentent les séquences possibles d’états et d’actions.
Le passage d’un état vers l’autre est matérialisé par une transition.
Les transitions sont déclenchées par la fin d’une transition et entraînent le début immédiat
d’une autre (automatique).

Diagramme d’état/transition : objet tâche

La figure 3.8 illustre l’état transition de l’objet « tâche » :

Figure 3.8 – Etat transition de l’objet « tâche »

3.5 Conclusion
Au cours de ce chapitre, nous avons détaillé le modèle conceptuel de notre projet qui va être
utilisé dans le développement de la plateforme. Dans le prochain chapitre, nous allons étudier
la partie réalisation qui sera traduite par la présentation de l’environnement du travail et les
interfaces réalisées.
Chapitre 4

Réalisation

4.1 Introduction
Dans ce chapitre nous exposons le travail achevé. Nous présentons en premier lieu l’archi-
tecture adapté pendant la réalisation du projet.
Ensuite, nous élaborons notre stack technologique choisi durant le développement de notre
système, tout en détaillant les outils utilisés pour développer notre application.
Nous clôturons ce chapitre par quelques captures d’écran traduisant le déroulement du plate-
forme.

4.2 Architecture
L’architecture à suivre dans notre projet est l’architecture MVC.
Le modèle-vue-contrôleur (en abrégé MVC, de l’anglais Model-View-Controller) est un modèle
d’architecture de conception de logiciels qui permet de séparer les préoccupations de l’interface
utilisateur, de la logique de l’application et des données. Le modèle est constitué de trois
composants : le modèle, la vue et le contrôleur.

• Modèles(Model) : Ils représentent les données de l’application et contiennent la logique


métier. Les modèles sont responsables de l’accès aux données, de leur manipulation et de
leur persistance, généralement en interagissant avec une base de données ou d’autres
sources de données.

• Vues(View) : Elles sont responsables de l’interface utilisateur et de l’affichage des don-


nées provenant des modèles. Les vues prennent les données fournies par les contrôleurs et
les présentent de manière appropriée à l’utilisateur. Elles peuvent être des pages web, des
éléments d’interface utilisateur, des rapports, etc.

• Contrôleurs(Controller) : Ils reçoivent les entrées de l’utilisateur, interagissent avec


les modèles pour effectuer les actions appropriées et sélectionnent la vue appropriée pour
afficher les résultats au client. Les contrôleurs agissent essentiellement comme des in-
termédiaires entre les vues et les modèles, en traitant les requêtes de l’utilisateur et en
coordonnant les interactions entre les différents composants de l’application.

43
4.3. Environnement de développement 44

Figure 4.1 – Fonctionnement du modèle MVC

4.3 Environnement de développement


Dans cette partie, nous décrivons les environnements logiciels et les technologies utilisées
pour la réalisation de notre solution.

4.3.1 Environnement technique

• Vscode :

Figure 4.2 – Logo de Vscode

Visual Studio Code (voir figure 4.2), conçu par Microsoft, est un éditeur de code léger
et polyvalent. Il propose une gamme étendue de fonctionnalités, telles que la complétion
4.3. Environnement de développement 45

intelligente du code, des outils de débogage avancés et une intégration fluide avec Git.
Avec son interface conviviale et sa prise en charge multiplateforme, Visual Studio Code
est largement plébiscité pour sa capacité à faciliter un codage efficace et collaboratif dans
divers langages de programmation.[6]

• Overleaf :

Figure 4.3 – Logo de Overleaf

Overleaf (voir figure 4.3) est une plateforme de rédaction collaborative en ligne, spécia-
lement conçue pour les documents LaTeX. Elle offre une multitude de fonctionnalités,
notamment la compilation en temps réel, la gestion des versions, et la collaboration en
temps réel. Avec une interface utilisateur intuitive et des outils de partage et de commen-
taires intégrés, Overleaf est devenu un choix privilégié pour la rédaction de documents
académiques, scientifiques et techniques. Sa facilité d’utilisation et sa compatibilité mul-
tiplateforme en font une option populaire pour les équipes travaillant sur des projets de
recherche et de rédaction collaborative.[7]

• Github :

Figure 4.4 – Logo de Github

GitHub (voir figure 4.4) est une plateforme de développement logiciel collaborative, lar-
gement utilisée dans la communauté de la programmation. Fondée sur un système de
contrôle de version basé sur Git, elle offre une multitude de fonctionnalités, notamment
la gestion de projets, le suivi des problèmes, la collaboration entre développeurs et l’in-
tégration continue. Avec son interface conviviale et ses outils avancés, GitHub facilite le
développement et la collaboration sur des projets de logiciels open source et privés, en
faisant un choix incontournable pour les équipes de développement modernes.[8]
4.3. Environnement de développement 46

• Lucidchart :

Figure 4.5 – Logo de Lucidchart

Lucidchart (voir figure 4.5) est une plateforme de création de diagrammes en ligne, offrant
une multitude de fonctionnalités pour la visualisation de données et la conception de
flux de travail. Développée par Lucid Software, cette application propose une interface
intuitive et conviviale, permettant aux utilisateurs de créer facilement des diagrammes
professionnels, des organigrammes, des cartes mentales, et bien plus encore. Avec ses outils
de collaboration en temps réel, Lucidchart facilite le travail d’équipe et la communication
visuelle, en permettant aux utilisateurs de partager et de commenter leurs créations en
toute simplicité. Sa compatibilité multiplateforme et son intégration transparente avec
d’autres outils en font un choix populaire pour la création et la gestion de diagrammes
dans divers contextes professionnels et éducatifs.[9]

4.3.2 Environnement technique(AI)


• Python :

Figure 4.6 – Logo de Python

Python (voir figure 4.6) est un langage de programmation polyvalent reconnu pour sa
simplicité et sa lisibilité. Il est largement utilisé dans de nombreux domaines, notamment
le développement web, l’automatisation de tâches, la science des données et l’intelligence
artificielle. Sa syntaxe claire et concise en fait un choix idéal pour les débutants et les pro-
fessionnels. Python est particulièrement prisé dans le domaine de l’intelligence artificielle
en raison de sa riche bibliothèque d’outils et de frameworks spécialisés. Ces ressources
puissantes permettent aux développeurs d’implémenter des algorithmes d’apprentissage
4.3. Environnement de développement 47

automatique, de traitement du langage naturel et de vision par ordinateur avec une rela-
tive facilité. Ainsi, Python se distingue comme un langage incontournable pour ceux qui
souhaitent explorer et exploiter les vastes possibilités de l’intelligence artificielle.[10]

• NumPy :

Figure 4.7 – Logo de NumPy

NumPy (voir figure 4.7) est une bibliothèque Python pour le calcul scientifique qui prend
en charge de grands tableaux et matrices multidimensionnels, ainsi qu’un ensemble de
fonctions mathématiques pour fonctionner efficacement sur ces tableaux et matrices.[11]

• NLTK :

Figure 4.8 – Logo de NLTK

NLTK (voir figure 4.8) est une bibliothèque Python qui fournit un ensemble d’outils
et de ressources pour les tâches de traitement du langage naturel. Elle offre des divers
fonctionnalités et algorithmes pour des tâches telles que la tokenisation, la racinisation
(stemming), le marquage (tagging), l’analyse (parsing), le raisonnement sémantique, etc.
NLTK est largement utilisé dans le domaine de traitement du language naturel pour la
recherche et l’éducation.[12]

• Scikit-learn :
4.3. Environnement de développement 48

Figure 4.9 – Logo de Scikit-learn

Scikit-learn (voir figure 4.9) est une bibliothèque Python destinée à l’apprentissage auto-
[Link] propose dans son framework de nombreuses bibliothèques d’algorithmes à
implémenter, clé en [Link] comprend notamment des fonctions pour estimer des forêts
aléatoires, des régressions logistiques, des algorithmes de classification, et les machines à
vecteurs de support. Elle est conçue pour s’harmoniser avec d’autres bibliothèques Py-
thon, notamment NumPy et SciPy.[13]

4.3.3 Choix technologiques

La partie Frontend

Dans le domaine du développement web, l’interface désigne la partie visible d’un site web
ou d’une application avec laquelle les utilisateurs interagissent directement. Elle englobe la pré-
sentation, la structure et les fonctionnalités de l’interface utilisateur, ainsi que les technologies
et les langages utilisés pour sa conception. Le développement frontal implique généralement
l’utilisation de HTML pour structurer le contenu, de CSS pour le style et la mise en page, et
de JavaScript pour rendre les éléments interactifs et gérer leur comportement. Afin d’élaborer
notre interface web, nous avons utilisé :

Figure 4.10 – Logo de React

• React :React (voir figure 4.10) est une bibliothèque JavaScript open-source pour la
construction d’interfaces utilisateur. Elle fournit une approche déclarative et efficace pour
construire des applications web complexes et interactives. React utilise une architecture
basée sur des composants, où les éléments de l’interface utilisateur sont décomposés en
4.4. Présentation des interfaces du plateforme 49

composants réutilisables et autonomes. Il utilise un DOM (Document Object Model)


virtuel qui optimise les performances de rendu en ne mettant à jour que les parties né-
cessaires de l’interface utilisateur. Le flux de données unidirectionnel et l’algorithme de
diffing efficace de React le rendent très performant dans le traitement des mises à jour et
la gestion des changements d’état.[14]

4.3.4 Environnement matériel

Le travail a été réalisé sur un ordinateur portable qui dispose les caractéristiques suivantes :

• Processeur : Intel(R) Core(TM) i5-10500H CPU.

• Mémoire vive : 16 GB.

• Disque dur : 512 GB.

4.4 Présentation des interfaces du plateforme


Dans cette section, nous allons présenter quelques interfaces de notre application
pour visualiser certains cas d’utilisation.
4.4. Présentation des interfaces du plateforme 50

4.4.1 Interface de login


La figure (voir la figure 4.11 ) indique l’interface d’authentification ou l’utilisateur entre ses
données d’identification correctement afin d’accéder aux autres fonctionnalités de l’application.

Figure 4.11 – Interface d’authentification

4.4.2 Interface d’accueil

L’interface d’accueil (voir la figure 4.12) offre une vue d’ensemble complète des tâches et
des problèmes en cours. La première partie affiche les tâches dues, en retard, incomplètes et
terminées, tandis que la seconde partie (voir la figure 4.13 ) présente une répartition des tâches
par section ainsi qu’un calendrier des événements à venir.
4.4. Présentation des interfaces du plateforme 51

Figure 4.12 – Interface d’accueil (1)

Figure 4.13 – Interface d’accueil (2)

4.4.3 Interface de gestionnaire de fichiers

L’interface de gestionnaire de fichiers (voir la figure 4.14 ) permet aux étudiants de gérer
efficacement leurs documents et ressources numériques (voir la figure 4.15 ). Elle offre des
fonctionnalités d’organisation (voir la figure 4.16 ) et de visualisation des fichiers, facilitant
ainsi la gestion de contenu.
4.4. Présentation des interfaces du plateforme 52

Figure 4.14 – Interface de gestionnaire de fichiers

Figure 4.15 – Interface de fichier


4.4. Présentation des interfaces du plateforme 53

Figure 4.16 – Interface de dossier

4.4.4 Interface de calendrier

L’interface de calendrier (voir la figure 4.17) permet aux étudiants d’ajouter (voir la figure
4.18) et de visualiser des événements étiquetés (voir la figure 4.19). Grâce à une vue intuitive
et interactive, les étudiants peuvent facilement organiser leurs événements et rendez-vous en
les catégorisant par étiquettes.
4.4. Présentation des interfaces du plateforme 54

Figure 4.17 – Interface de calendrier

Figure 4.18 – Interface d’ajout d’un nouveau événement


4.4. Présentation des interfaces du plateforme 55

Figure 4.19 – Interface de modification de labels

4.4.5 Interface de notes

L’interface de note (voir la figure 4.20) offre la possibilité d’ajouter (voir la figure 4.21)
des notes personnalisées et de leur associer des rappels. Cette fonctionnalité aide les étudiants
à gérer leurs idées et remarques importantes tout en garantissant qu’aucune échéance n’est
oubliée grâce aux notifications de rappel.

Figure 4.20 – Interface de notes


4.4. Présentation des interfaces du plateforme 56

Figure 4.21 – Interface d’ajout d’une nouvelle note

4.4.6 Interface de tâches

L’interface de tâches (voir la figure 4.22) permet aux étudiants d’ajouter (voir la figure
4.23) des tâches en spécifiant leur niveau de priorité (faible, normal, élevée) et de les regrouper
par section (voir la figure 4.24). Cette organisation facilite la gestion des activités quotidiennes
en assurant que les tâches les plus urgentes et importantes sont clairement identifiées et bien
structurées.

Figure 4.22 – Interface de tâches


4.4. Présentation des interfaces du plateforme 57

Figure 4.23 – Interface d’ajout d’une nouvelle tâche


4.5. Présentation de la partie IA 58

Figure 4.24 – Interface d’ajout d’une nouvelle section

4.5 Présentation de la partie IA

Objectif de l’algorithme d’IA

L’algorithme d’IA vise à associer automatiquement un document PDF à un nom de matière


spécifique parmi une liste de matières prédéfinis. Cela permet aux étudiants de catégoriser
facilement leurs documents en fonction des matières étudiées, facilitant ainsi l’organisation et
la gestion des fichiers académiques.
4.5. Présentation de la partie IA 59

Étapes principales de l’algorithme

1. Extraction du texte
• L’algorithme initie le processus en extrayant soigneusement le contenu du document
PDF, préservant ainsi les nuances et les détails essentiels pour une analyse précise.

2. Nettoyage du texte
• Le contenu extrait est soumis à un traitement méticuleux visant à éliminer non
seulement les caractères inutiles, mais aussi à normaliser le texte, garantissant ainsi
une cohérence et une clarté optimales.

3. Tokenisation
• Une fois nettoyé, le texte est méticuleusement segmenté en mots ou en tokens, une
étape fondamentale qui prépare le terrain pour une analyse exhaustive.

4. Vectorisation TF-IDF
• Les tokens sont alors transformés en vecteurs numériques grâce à la technique so-
phistiquée de pondération TF-IDF. Cette méthode, tenant compte à la fois de la
fréquence du terme et de son importance dans le contexte global du document, ga-
rantit une représentation fidèle et significative du contenu.

5. Calcul de similarité
• À l’aide de la mesure de similarité cosinus, l’algorithme évalue avec rigueur la si-
militude entre le contenu du document et chaque sujet pertinent, offrant ainsi une
perspective approfondie sur les relations sémantiques.

6. Détermination de la similarité maximale :


• Guidé par une logique analytique, l’algorithme identifie avec précision la similitude la
plus élevée parmi toutes les valeurs calculées, mettant en évidence la correspondance
la plus pertinente entre le document et les sujets étudiés.

7. Association au sujet
• En appliquant un seuil de similitude préétabli (tel que 0.2), l’algorithme attribue le
document au sujet correspondant si la similitude dépasse ce seuil critique. Dans le
cas contraire, le sujet est catégorisé comme "Inconnu", offrant ainsi une transparence
et une granularité cruciales dans l’analyse des résultats.
4.5. Présentation de la partie IA 60

Pseudo-code de l’algorithme

Figure 4.25 – Algorithme d’association de matière


4.5. Présentation de la partie IA 61

Cet organigramme 4.26 représente visuellement le fonctionnement de l’algorithme d’IA

Figure 4.26 – Processus général de notre solution proposée

Explication des avantages de l’IA dans votre application :

L’intégration de l’IA dans notre plateforme web offre plusieurs avantages spécifiques

• Gestion simplifiée des études : Catégorisation automatique des documents par sujet,
ce qui permet une organisation plus efficace des ressources académiques et une réduction
significative du temps passé à rechercher des informations pertinentes.

• Organisation automatisée : Facilitation de la recherche et du tri des fichiers grâce à


des algorithmes avancés de classification et de filtrage, rendant les documents facilement
accessibles et consultables.

• Optimisation du calendrier et des tâches : Meilleure gestion du temps et des priorités


académiques, avec des suggestions personnalisées pour la planification des révisions et des
échéances, contribuant ainsi à une organisation personnelle plus structurée et productive.

• Amélioration continue : L’algorithme d’IA est conçu pour évoluer constamment, en


apprenant des interactions des utilisateurs et des nouvelles données, ce qui enrichit l’ap-
4.5. Présentation de la partie IA 62

plication web et offre une expérience utilisateur de plus en plus pertinente et personnalisée
aux étudiants.

• Support multilingue : Capacité à traiter et à comprendre plusieurs langues, ce qui


permet une utilisation plus inclusive et accessible de la plateforme par des étudiants de
différentes régions et cultures.

• Analyse prédictive : Utilisation de modèles prédictifs pour anticiper les besoins acadé-
miques et proposer des contenus et des ressources adaptés, facilitant ainsi l’apprentissage
proactif et ciblé.

Grâce à ces innovations, notre plateforme devient un outil indispensable pour les étudiants,
leur offrant non seulement une aide précieuse dans leurs études mais aussi une optimisation de
leur temps et de leurs efforts, tout en s’adaptant continuellement à leurs besoins spécifiques.
4.6. Conclusion 63

4.6 Conclusion
Dans ce chapitre, nous avons identifié les logiciels et les techniques que nous avons utilisées
durant la phase de développement de notre plateforme.
Puis, nous avons enrichi notre travail par des imprimes écrans englobant la majorité des
fonctionnalités.
Enfin, nous avons exposé la partie IA sous forme d’un algorithme simplifié et un organigramme
qui représente le fonctionnement de l’algorithme visuellement.
Conclusion générale

Conclusion
En conclusion, ce projet de fin d’études a permis de développer une application web dé-
diée aux étudiants, visant à répondre aux défis contemporains de la gestion académique. Dans
un contexte où les méthodes traditionnelles de planification et d’organisation des études ne
suffisent plus, notre application propose une solution centralisée et intuitive pour optimiser
l’organisation, la planification et le suivi des tâches académiques.
Grâce à une plateforme personnalisée, les étudiants peuvent désormais stocker et organi-
ser leurs fichiers, gérer efficacement leurs événements et échéances, prendre des notes et suivre
l’avancement de leurs projets. Cette application répond non seulement aux besoins fondamen-
taux des étudiants en termes de gestion de temps et de ressources, mais elle offre également
une flexibilité d’utilisation adaptée à différents profils d’utilisateurs, allant des administrateurs
aux utilisateurs standards et premium.
Les quatre chapitres de ce rapport ont détaillé le processus de développement de l’applica-
tion, depuis la description de l’organisme d’accueil et la méthodologie adoptée, jusqu’à l’étude
des besoins des utilisateurs et la conception et réalisation de la plateforme. L’étude de l’existant
a mis en lumière les lacunes des outils actuels et justifié la pertinence de notre solution.
En créant un outil complet et convivial, nous avons fourni une réponse pertinente aux
problèmes identifiés dans notre problématique. L’application web développée permet de relever
les défis de la planification des études, de la gestion des ressources et du suivi des performances
académiques. En facilitant l’organisation et la gestion des tâches académiques, cette application
a le potentiel d’améliorer significativement la qualité de l’enseignement et la réussite académique
des étudiants.
Enfin, bien que notre projet ait atteint ses objectifs initiaux, plusieurs perspectives d’amé-
lioration et d’évolution peuvent être envisagées. Il serait pertinent de continuer à enrichir les
fonctionnalités de l’application, d’intégrer des outils d’analyse des performances académiques
plus avancés et de proposer une version mobile pour une accessibilité accrue. Ces développe-
ments futurs permettront de répondre encore mieux aux besoins évolutifs des étudiants et de
garantir leur succès dans un environnement académique de plus en plus complexe.

64
Webographie

[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]
[14] [Link]

65
Résumé

Ce travail fait partie du programme de fin d’études à l’École Supérieure des Sciences et de
la Technologie de Hammam Sousse afin d’obtenir le diplôme national de licence en Sciences de
l’Informatique : Génie Logiciel et Système d’Informations.

L’idée générale de ce projet consiste à concevoir et développer une application web dédiée
à la gestion académique des étudiants. Cette plateforme centralisée offre des fonctionnalités
pour stocker et organiser des fichiers académiques, intégrer un calendrier pour la gestion des
événements et des dates limites, ainsi qu’un espace pour la prise de notes. Un module de gestion
des tâches permet de créer des rappels et de suivre l’avancement des projets, garantissant une
organisation optimale de la charge de travail.

Mots clés : React, Dashboard, Intelligence Artificielle, Gestion académique, application


web, calendrier intégré, prise de notes, gestion des tâches, étudiants.

Abstract

This work is part of the end-of-study project at the Higher School of Sciences and Technology
of Hammam Sousse to obtain the national bachelor’s degree in Computer Science : Software
Engineering and Information Systems.

The main idea of this project is to design and develop a web application dedicated to
academic management for students. This centralized platform offers functionalities for storing
and organizing academic files, integrating a calendar for managing events and deadlines, as well
as a space for note-taking. A task management module allows users to create reminders and
track project progress, ensuring optimal organization of their workload.

Key words : React, Dashboard, Artificial Intelligence, Academic Management, Web Ap-
plication, Integrated Calendar, Note-taking, Task Management, Students.

Vous aimerez peut-être aussi