Académique Documents
Professionnel Documents
Culture Documents
Enfin, je tiens à remercier toutes les personnes qui ont participé de près ou de
loin à ce projet.
Table des matières
Introduction Générale
Chapitre I: Etude préalable
I- Introduction ................................................................................................................ 5
P a g e 2 | 38
IV-3- Diagrammes de classes ............................................................................... 19
V- Conclusion ................................................................................................................. 24
V- Interface d’inscription............................................................................................... 32
Pour finir, nous aurons une conclusion générale dans laquelle nous
récapitulerons tout le travail réalisé et des perspectives .
P a g e 5 | 38
Etude préalable
I- Introduction:
L’étude préalable est une analyse permettant de vérifier la viabilité
technique d’un projet. En effet, dans ce chapitre nous présenterons en premier
lieu l’entreprise hôte au sein de laquelle ce projet a été réalisé, ensuite nous
fournirons une meilleure idée sur ce projet en le comparant aux solutions utilisées
actuellement tout en précisant les besoins fonctionnelles et non fonctionnelles.
II- Contexte général du projet :
Le projet consiste en la création d'une plateforme d'apprentissage en ligne
qui propose des cours gratuits et à des prix abordables pour les apprenants du
monde entier et qui offre diverses fonctionnalités pour faciliter la création de
contenus pour les enseignants et l'accès aux cours pour les apprenants.
La mise en œuvre du plateforme d'apprentissage en ligne est dans le cadre
d’un projet de fin d’année de la 4ème Génie Logiciel de l’école privée
d’ingénieurs « L’École Pluridisciplinaire Internationale de Sousse ».
Designed and Dusted est une startup innovante fondée en 2022, spécialisée
dans le développement de solutions créatives et novatrices. Elle propose des idées
originales pour résoudre les défis commerciaux, en mettant l'accent sur des
expériences de marque significatives. La société offre des services de refonte
d'identité visuelle, de reconstruction de sites web, ainsi que des solutions
créatives dans les domaines du branding, du marketing numérique et de la
communication. Grâce à son expertise approfondie du marché, elle fournit des
solutions uniques pour aider les entreprises à se démarquer et à réussir.
P a g e 6 | 38
Chapitre I
Cette étape est considérée comme l’une des principales étapes lors de la
réalisation d’un nouveau projet. elle implique une analyse approfondie des solutions
actuelles afin d'identifier leurs points faibles et de proposer des fonctionnalités
répondant aux besoins des utilisateurs, tout en évitant les erreurs commises dans le
passé. Cette phase est essentielle pour garantir le succès et la qualité du projet final.
P a g e 7 | 38
Chapitre I
Udemy :
Udemy propose des cours de formation professionnelle, de tutoriels et
des formations en ligne sur une variété de sujets, mais sa qualité de cours est
variable en raison de l'absence de réglementation pour le contenu des instructeurs,
ce qui peut parfois conduire à la propagation d'idées dangereuses, ainsi qu'un
manque de support technique pour les utilisateurs.
EdX :
EdX est une plateforme en ligne proposant des cours gratuits et payants
dans divers domaines, mais elle est confrontée à des coûts élevés et à une qualité
variable de cours. De plus, la plateforme manque de programmes en français, ce
qui limite l'accès à l'enseignement pour les francophones.
P a g e 8 | 38
Chapitre I
P a g e 10 | 38
Chapitre I
Facilité d'utilisation : L'application doit être facile à utiliser pour tous les
utilisateurs, même ceux qui ne sont pas familiers avec la technologie. Les
fonctionnalités doivent être intuitives et les instructions claires.
V-4-1- Méthodologie en V
VI- Chronogramme :
Les différentes étapes de réalisation de ce projet ainsi que
l’élaboration du rapport sont représentées par le diagramme de Gantt illustré
par la figure suivante:
Figure 2 : Chronogramme .
P a g e 12 | 38
Chapitre I
VII- Conclusion
Ce chapitre a été dédié à la définition du contexte générale du projet ainsi
que la présentation de l’organisme d’accueil et la spécification des besoins divers
de l’application. Il nous a servi à bien comprendre le problème posé afin de
préciser nos objectifs à atteindre. Cet aperçu général est l’appui et le support de
base de notre conception que nous mettrons en évidence dans le chapitre qui
suit.
P a g e 13 | 38
Chapitre II
Etude Conceptuelle
I- Introduction :
Dans le chapitre précédent, nous avons examiné les divers intervenants
impliqués dans notre solution, en décrivant les nombreuses fonctionnalités dont ils
pourront profiter. Nous entrons maintenant à l’une des phases les plus importantes
lors du développement d’une application, la conception. Dans cette étape nous allons
présenter tout d’abord les différents patrons de conception utilisés ainsi que le
diagramme de cas d’utilisation global et raffinés, le diagramme de classe et les
diagrammes de séquences.
P a g e 14 | 38
Chapitre II
P a g e 15 | 38
Chapitre II
P a g e 16 | 38
Chapitre II
- Acteur: Apprenant
-Description: Une fois que l'apprenant s'est authentifié, il peut consulter la
liste des différentes formations proposées sur la plateforme. Il peut choisir l'une
des formations disponibles, s'inscrire et effectuer le paiement via le système de
paiement si la formation est payante. Après son inscription, il est en mesure de
consulter le contenu de la formation et de suivre sa progression s'il avait déjà été
inscrit auparavant. L'apprenant peut également télécharger le contenu de la
formation et l’évaluer .
P a g e 17 | 38
Chapitre II
- Acteur: Instructeur
-Description: Lorsque l'instructeur se connecte avec son compte, il peut
gérer ses ressources sur la plateforme. Il peut consulter les ressources qu'il a déjà
mises à disposition, ajouter de nouvelles vidéos ou documents, et même convertir
ses documents en vidéos en payant cette option supplémentaire. Il a également la
possibilité de supprimer des ressources si nécessaire.
P a g e 18 | 38
Chapitre II
- Acteur: Admin
-Description: Une fois que l'administrateur se connecte à son compte, il
dispose des droits pour gérer l'ensemble des comptes sur la plateforme. Il peut
consulter les comptes des apprenants et des instructeurs, les modifier et même les
supprimer si nécessaire.
P a g e 19 | 38
Chapitre II
P a g e 20 | 38
Chapitre II
P a g e 21 | 38
Chapitre II
Pour se connecter, l'utilisateur doit entrer son email et son mot de passe.
Une première validation est effectuée pour vérifier le format de l'email. Si la
première validation est vérifiée, une requête post est envoyée au contrôleur
d'authentification, qui envoie la demande au modèle utilisateur afin de vérifier
l'existence de cet utilisateur particulier. Si un utilisateur avec l'e-mail et le mot de
passe spécifiés n'existe pas, un message d'erreur est renvoyé du modèle utilisateur
au contrôleur d'authentification, qui renvoie une réponse d'erreur à la vue.
Dans le cas où l'utilisateur spécifié existe, les détails de l'utilisateur sont
renvoyés du modèle au contrôleur d'authentification, qui crée un jeton JWT et le
renvoie à la vue avec les données de l'utilisateur pour signifier le succès de
l'opération et l'utilisateur est dirigé vers la page d'accueil.
P a g e 22 | 38
Chapitre II
Une fois que l'instructeur est authentifié, il est autorisé à déposer des documents
et à publier des vidéos. Après avoir rempli le formulaire et qu'il a été vérifié et
confirmé, une interface détaillée de la formation s'affiche, fournissant tous les
détails saisis. En cas de problème de saisie, un message d'erreur approprié est
affiché pour indiquer l'erreur et demander à l'instructeur de corriger les
informations saisies.
P a g e 23 | 38
Chapitre II
P a g e 24 | 38
Chapitre II
V- Conclusion
Dans ce chapitre, nous avons abordé la définition du langage de
modélisation UML ainsi que la conception de notre solution. Cette conception a été
illustrée par un diagramme de cas d'utilisation général et des raffinements pour
chaque acteur, ainsi qu'un diagramme de classes pour l'aspect statique et des
diagrammes de séquence pour l'aspect dynamique. Le prochain chapitre se
concentrera sur la phase finale de notre projet, à savoir la mise en œuvre de la
solution.
P a g e 25 | 38
Chapitre III
Réalisation
I- Introduction
Après avoir présenté la partie conception, Ce chapitre contient la partie
réalisation de notre solution au but de rapporter le travail accompli. Pour cela, au
début, nous commençons par la présentation des outils matériels et logiciels
utilisés pour développer notre solution. Ensuite, nous présentons les captures
d’écran qui montre les différentes fonctionnalités.
React.js
ReactJS est une bibliothèque JavaScript open source utilisée pour créer des
sites Web. Ce qui favorise le React des autres frameworks populaires, c'est la
possibilité de créer des composants d'interface utilisateur réutilisables, il peut gérer
une grande quantité de modifications de données sans avoir besoin de recharger la
page (Virtual-DOM), c'est l'un des concepts du côté serveur[5].
P a g e 26 | 38
Chapitre III
Node.js
Node.js est le runtime qui permet d'écrire toutes nos tâches côté serveur,
en JavaScript,telles que la logique métier, la persistance des données et la
sécurité. Node ajoute également des fonctionnalités que le JavaScript du
navigateur standard ne possède pas, comme par exemple l'accès au système de
fichiers local[6].
Expressjs
Express est une Framework d'applications Web Node.js minimaliste et
flexible qui fournit un ensemble de fonctionnalités robuste pour les applications
Web et mobiles[6].
MongoDB
MongoDB est un programme de gestion de base de données NoSQL open
source. Les bases de données NoSQL sont très utiles pour travailler avec de grands
ensembles de données distribuées. MongoDB est un outil qui permet de gérer des
informations orientées document,de stocker ou de récupérer des informations [7].
riche écosystème d'extensions pour d'autres langages (tels que C++, C#, Java,
Python, PHP, Go) et des environnements d'exécution (tels que .NET et Unity)[8].
Postman
Postman est une plate-forme de collaboration pour le développement d'API.
Les fonctionnalités de Postman simplifient chaque étape de la création d'une API
et rationalisent la collaboration afin que vous puissiez créer de meilleures API, plus
rapidement[9].
Draw.io
Draw.io est un logiciel gratuit de création de diagrammes en ligne pour la
création d’organigrammes, de diagrammes de processus, d’organigrammes, de
diagrammes UML, ER et de réseaux[10].
P a g e 28 | 38
Chapitre III
P a g e 29 | 38
Chapitre III
P a g e 30 | 38
Chapitre III
P a g e 31 | 38
Chapitre III
V- Interface d’inscription:
Lors de l'inscription sur la plateforme, les utilisateurs peuvent choisir entre deux
rôles : apprenant ou instructeur. Selon le rôle sélectionné, une interface spécifique
s'affiche.
Pour les instructeurs, une interface de tableau de bord est proposée. Cette
interface leur permet de gérer leurs cours et d'ajouter du contenu . Les instructeurs
ont également accès à des informations sur les revenus générés par leurs cours.
Pour les apprenants, une interface présente différentes catégories de cours.
Les apprenants peuvent explorer ces catégories, consulter les descriptions de
cours, les compétences acquises, les avis des autres étudiants et s'inscrire aux cours
qui les intéressent.
Cette approche de différenciation des interfaces en fonction du rôle choisi
assure une expérience utilisateur adaptée aux besoins spécifiques des instructeurs
et des apprenants.
P a g e 32 | 38
Chapitre III
P a g e 33 | 38
Chapitre III
L'interface d'une page de détails d'un cours est conçue pour offrir aux
utilisateurs une vue détaillée et complète des informations essentielles liées au
cours. Elle présente plusieurs éléments clés pour aider les étudiants à prendre une
décision éclairée quant à leur participation.
Tout d'abord, le titre du cours est clairement affiché, permettant aux
utilisateurs d'identifier rapidement le sujet principal du cours.
Ensuite, une description détaillée du cours est fournie, mettant en évidence
les objectifs d'apprentissage et les compétences que les étudiants pourront
acquérir en le suivant. Cela permet aux utilisateurs d'avoir une compréhension
approfondie du contenu proposé et de déterminer si cela correspond à leurs
besoins et à leurs intérêts.
Le prix du cours est également indiqué, qu'il s'agisse d'un cours payant ou
gratuit. Cette information est cruciale pour les utilisateurs qui souhaitent évaluer la
valeur du cours avant de s'inscrire.
Le nom de l'instructeur ou de l'enseignant responsable du cours est affiché,
offrant aux utilisateurs des informations sur l'expertise et les qualifications de
l'instructeur.
Les avis et les évaluations des étudiants précédents sont également
présentés, donnant aux utilisateurs un aperçu des expériences des autres étudiants
et de la qualité du cours. Cela peut aider les utilisateurs à évaluer la pertinence et
la fiabilité du contenu.
La durée estimée du cours est mentionnée, permettant aux utilisateurs de
planifier leur emploi du temps en conséquence. Cela est important pour les
utilisateurs qui ont des contraintes de temps et qui souhaitent s'assurer qu'ils
pourront suivre le cours sans problème.
La date d'upload du cours est affichée pour informer les utilisateurs de la
fraîcheur des informations. Cela est particulièrement pertinent pour les cours liés
à des domaines en constante évolution, où il est important de s'assurer que le
contenu est à jour.
Enfin, un bouton d'inscription est présent, offrant aux utilisateurs la
possibilité de s'inscrire directement au cours. Cela facilite le processus d'inscription
et encourage les utilisateurs intéressés à passer à l'action.
P a g e 34 | 38
Chapitre III
L'interface des cours d'un instructeur lui permet de gérer tous les cours qu'il
a déposés. Il peut les modifier, les supprimer ou voir les détails de chaque cours.
Cette interface offre à l'instructeur un contrôle complet sur ses cours, lui
permettant de maintenir et de mettre à jour facilement son contenu pédagogique.
Grâce à cette fonctionnalité, l'enseignant peut s'assurer que ses cours sont à jour,
pertinents et répondent aux besoins de ses apprenants.
P a g e 35 | 38
Chapitre III
IX- Conclusion
Dans ce chapitre, nous avons défini l'environnement logiciel de notre projet.
Nous avons décrit en détail l'architecture que nous avons adoptée et nous avons
également inclus des captures d'écran des différentes interfaces de la plateforme
que nous avons développée.
P a g e 36 | 38
Conclusion et perspectives
En conclusion, ce rapport présente notre projet de création d'une plateforme e-
learning innovante, centrée sur des solutions efficaces pour l'apprentissage en
ligne. Malheureusement, en raison de contraintes de temps, certaines des
fonctionnalités envisagées n'ont pas pu être entièrement réalisées.
Cependant, nous sommes parvenus à concevoir et déployer une plateforme
e-learning conviviale et intuitive, offrant des cours gratuits et abordables, ainsi que
des fonctionnalités de conversion de fichiers. Ces fonctionnalités répondent à
certains des défis identifiés, améliorant ainsi l'expérience d'apprentissage des
utilisateurs.
Pour les perspectives futures, nous prévoyons de continuer à améliorer le
contenu proposé sur la plateforme, en prenant en compte les retours des
utilisateurs et les nouvelles tendances éducatives .
Nous envisageons également de nous étendre vers de nouveaux domaines,
d'intégrer l'intelligence artificielle et l'analyse des données pour des fonctionnalités
avancées, ainsi que d'établir des partenariats stratégiques avec des institutions
éducatives et des experts du domaine.
P a g e 37 | 38
Webographie
[1]: https://fr.wikipedia.org/wiki/Mod%C3%A8le-vue-contr%C3%B4leur Date
de dernière consultation : 22/04/2023.
[2]: https://www.ibm.com/docs/fr/rational-soft-arch/9.5?topic=diagrams-use-
case Date de dernière consultation : 22/04/2023.
[3]: https://www.ibm.com/docs/fr/rsar/9.5?topic=diagrams-class Date de
dernière consultation : 22/04/2023.
[4]: https://www.ibm.com/docs/fr/rsm/7.5.0?topic=uml-sequence-diagrams
Date de dernière consultation : 22/04/2023.
[5]: https://sokeo.fr/react-js/ Date de dernière consultation : 22/04/2023.
[6]: https://openclassrooms.com/fr/courses/6390246-passez-au-full-stack-
avec-node-js-express-et-mongodb/6466231-demarrez-votre-serveur-node Date de
dernière consultation : 22/04/2023.
[7]: https://www.mongodb.com/fr-fr/nosql-explained Date de dernière
consultation : 22/04/2023.
[8]: https://fr.wikipedia.org/wiki/Visual_Studio_Code Date de dernière
consultation : 22/04/2023.
[9]: https://latavernedutesteur.fr/2020/03/06/outil-de-test-tester-vos-api-
avec-postman/ Date de dernière consultation : 22/04/2023.
[10]: https://www.blogdumoderateur.com/tools/diagrams-net-draw-io/ Date
de dernière consultation : 22/04/2023.
P a g e 38 | 38