Mémoire

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 65

RÉPUBLIQUE DU BÉNIN

MINISTÈRE DE L’ENSEIGNEMENT SUPÉRIEUR


ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITÉ DE PARAKOU (UP)
INSTITUT UNIVERSITAIRE
DE TECHNOLOGIE (IUT)

MÉMOIRE
Pour l’obtention du

Diplôme de Licence en Sciences de Gestion


Spécialité : Informatique de Gestion

Présenté par :

Jean-Baptiste Yémalin HOUETCHOWANOU

Conception et développement d'une application de


gestion d’apprentissage en ligne.

Sous la supervision de :

Maitre de Stage Maitre Mémoire


M. Carle Fabien HOUECANDE Dr. Nelson Josias G. SAHO
Chef Service Développement Docteur en sécurité informatique
D’Application Ministère des Affaires Etrangères et
de la Coopération

Année Académique : 2023-2024


Juillet 2024
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

AVERTISSEMENT

« L’Institut Universitaire de Technologie (IUT) n’entend


donner aucune approbation, ni improbation aux opinions
émises dans les mémoires. Ces opinions doivent être
considérées comme propres à leurs auteurs. »

i
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

DEDICACE

Je dédie ce travail à :

• Mes parents : HOUETCHOWANOU D. Louis Désiré et GANKPE Yabo Célestine,


• Mes frères et sœurs,
• Tous mes proches.

ii
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

REMERCIEMENTS
À:

• Prof. Aboubakar KISSIRA, le Directeur de l’Institut Universitaire de Technologie de


l’Université de Parakou (IUT/UP) ;

• Dr. Boris LOKONON, le Directeur Adjoint de l’Institut Universitaire de Technologie de


l’Université de Parakou (IUT/UP) ;

• M. Ulrich GBAGUIDUI, Président Directeur Général de Simple IT ;

• Dr. Nelson Josias G. SAHO, mon maître de mémoire, pour sa disponibilité, son soutien et son
sens de partage de connaissances durant tout le processus de rédaction de ce document ;

• M. Carle Fabien HOUECANDE, mon maître de stage, Chef Service Développement


d’Application pour sa contribution dans la réalisation de mon travail ;

• Tous les Enseignants de l’IUT de Parakou, qui œuvre pour fournir les ressources nécessaires
à la réussite de mon étude universitaire ;

• Tous les honorables membres du jury qui ont accepté la noble tâche d’évaluer mon travail ;

• Tout le personnel administratif de l’IUT ;

• Tout le personnel de Simple IT ;

• Tous mes collègues de l’IUT en particulier ceux de la filière Informatique de Gestion ;

A tous ceux qui ont contribué de près ou de loin à la réalisation de ce travail, j’exprime ma
profonde gratitude.

iii
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Résumé
Avec l'évolution rapide des technologies numériques et de la mondialisation, les méthodes
traditionnelles d'apprentissage sont en constante transformation. L'intégration des systèmes de
gestion de l'apprentissage s'est avérée essentielle pour offrir des solutions de formation flexibles
et accessibles à un large éventail d'apprenants. Ce projet de mémoire vise à développer une
application LMS répondant aux besoins spécifiques des entreprises et des institutions
éducatives, facilitant ainsi la gestion des cours, des inscriptions, et de la monétisation. Nous
avons utilisé MongoDB pour sa capacité à gérer des données volumineuses et complexes de
manière flexible et efficace. L'interface utilisateur a été conçue avec Next.js pour offrir une
expérience fluide et réactive. Ce projet, en plus de mettre en pratique les connaissances
théoriques acquises, a permis de répondre aux besoins concrets des utilisateurs en matière
d'apprentissage en ligne.

Mots clés : LMS, MongoDB, Next.js, formation en ligne, gestion des cours, technologie
éducative.

Abstract
With the rapid evolution of digital technologies and globalization, traditional methods of
learning are constantly transforming. The integration of learning management systems has
proven to be essential in providing flexible and accessible training solutions to a wide range of
learners. This dissertation project aims to develop an LMS application meeting the specific
needs of companies and educational institutions, thus facilitating the management of courses,
registrations, and monetization. We used MongoDB for its ability to handle large and complex
data flexibly and efficiently. The user interface was designed with Next.js to provide a smooth
and responsive experience. This project, in addition to putting the theoretical knowledge
acquired into practice, made it possible to meet the concrete needs of users in terms of online
learning.

Keywords: LMS, MongoDB, Next.js, online training, course management, educational


technology.

iv
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Sigles et Acronymes
LMS : Learning Management System (Système de Gestion d’Apprentissage)

UX : User Experience

SSPL : Server Side Public License

NoSQL : Not only Structured Query Language

JSON : JavaScript Object Notation

BSON : Binary JSON

SSR : Server-Side Rendering

SSG : Static Site Generation

API : Application Programming Interface

SEO : Search Engine Optimization

ORM : Object-Relational Mapping

HTTPS : Hypertext Transfer Protocol Secure

BCrypt : Blowfish Crypt

PBKDF2 : Password-Based Key Derivation Function 2

v
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Glossaire
Clerk : Clerk est un service d'authentification moderne conçu pour simplifier la gestion des
utilisateurs et de leurs sessions dans les applications web et mobiles.

BCrypt : Un algorithme de hachage basé sur le chiffrement Blowfish, conçu pour être lent afin
de rendre les attaques par force brute plus difficiles. Il utilise un salt pour chaque mot de passe,
ce qui améliore la sécurité en empêchant l'utilisation de tables de correspondance (rainbow
tables)

PBKDF2 : Une fonction de dérivation de clé basée sur un mot de passe qui applique un hachage
itératif pour renforcer la sécurité. Elle est configurable pour exécuter un nombre élevé
d'itérations, rendant les attaques par force brute coûteuses en termes de temps et de ressources

Argon2 : Un algorithme de hachage moderne et sécurisé, qui a remporté le concours Password


Hashing Competition (PHC) en 2015. Il est optimisé pour résister aux attaques parallèles et est
configuré pour être coûteux en termes de temps et de mémoire, ce qui le rend très efficace contre
les attaques par force brute

Salts : Les salts (ou sels en français) sont des valeurs aléatoires ajoutées aux mots de passe
avant le hachage pour renforcer leur sécurité.

Sprints : Les sprints sont des périodes de travail définies dans la méthodologie de gestion de
projet agile, en particulier dans le cadre de Scrum.

vi
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Liste des tableaux


Tableau 1 : Description du cas d’utilisation "Créer un compte"………………………………22
Tableau 2 : Description du cas d’utilisation "Gérer cours" …………………………………....23
Tableau 3 : Tableau comparatif des frameworks frontend……………………………………. 27

vii
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Liste des figures


Figure 1 : Organigramme Fonctionnel de Simple IT ............................................................... 10
Figure 2 : Diagramme de cas d'utilisation du système ............................................................. 16
Figure 3 : Diagramme de classe du système ............................................................................ 18
Figure 4 : Diagramme de séquence de l'authentification de l'utilisateur final du système....... 19
Figure 5 : Diagramme de séquence du cas d'utilisation Suivre cours ...................................... 20
Figure 6 : Logo de MongoDB sous différentes formes ............................................................ 24
Figure 7 : Logo de l'éditeur Visual Studio Code ...................................................................... 24
Figure 8 : Logo de React.js ...................................................................................................... 27
Figure 9 : Logo du Framework Next.js .................................................................................... 27
Figure 10 : Exemple d'un code Tailwind CSS .......................................................................... 28
Figure 11 : Logo de Tailwind CSS ........................................................................................... 29
Figure 12 : Logo de Mux.......................................................................................................... 29
Figure 13 : Logo Prisma ........................................................................................................... 30
Figure 14 : Logo du langage TypeScript .................................................................................. 30
Figure 15 : Logo Nodejs........................................................................................................... 30
Figure 16 : Logo Visual Paradigm ........................................................................................... 30
Figure 17 : Page de création de compte ................................................................................... 33
Figure 18 : Tableau de bord ...................................................................................................... 33
Figure 19 : L'interface Parcourir .............................................................................................. 34
Figure 20 : L'interface de la Certification ................................................................................ 35
Figure 21 : L'interface Foires aux questions ............................................................................ 35
Figure 22 : L'interface Newsletter ............................................................................................ 36
Figure 23 : L'interface Problèmes ............................................................................................ 37
Figure 24 : Interface Cours verrouillé ...................................................................................... 37
Figure 25 : Interface de Paiement avec le service Stripe ......................................................... 38
Figure 26 : Accès au cours après paiement .............................................................................. 38
Figure 27 : Interface d'un cours terminé................................................................................... 39
Figure 28 : Espace Enseignant ................................................................................................. 39
Figure 29 : Interface de Création de cours ............................................................................... 40
Figure 30 : Interface de Création de Chapitre .......................................................................... 41
Figure 31 : Interface des Données Analytiques ........................................................................ 41
Figure 32 : Tableau de bord ...................................................................................................... 42

viii
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Figure 33 : Fonctionnalités ....................................................................................................... 42


Figure 34 : Interface Cours....................................................................................................... 43
Figure 35 : Interface Parcourir ................................................................................................. 43
Figure 36 : Fonction de vérification des champs ..................................................................... 44
Figure 37 : Fonction de vérification de la taille des images et vidéos ..................................... 45

ix
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Sommaire
Introduction générale.................................................................................................................. 1

1. Contexte et justification ...................................................................................................... 1

2. Problématique ..................................................................................................................... 1

3. Objectifs de l’étude ............................................................................................................. 2

4. Organisation du mémoire ................................................................................................... 3

CHAPITRE 1 : Présentation de la Structure d’accueil .............................................................. 4

Introduction ............................................................................................................................ 4

1.1 Présentation ...................................................................................................................... 4

1.2 Déroulement du stage .................................................................................................... 10

Conclusion ............................................................................................................................ 14

CHAPITRE 2 : Conception et choix techniques ...................................................................... 15

Introduction .......................................................................................................................... 15

2.1 Conception ...................................................................................................................... 15

2.2 Modélisation ................................................................................................................... 15

2.3 Choix techniques de la solution ...................................................................................... 23

Conclusion ............................................................................................................................ 31

CHAPITRE 3 : Résultats et Discussion ................................................................................... 32

Introduction .......................................................................................................................... 32

3.1 Présentation de l’application LearnSync360 (Utilisateur final) ..................................... 32

3.2 Présentation de l’application LearnSync360 (Administrateur) ...................................... 39

3.3 Présentation de l’application LearnSync360 sous format mobile .................................. 42

3.4 Les fonctions importantes du backend de l’application ................................................. 44

3.5 Mesure de sécurité .......................................................................................................... 45

3.6 Discussion ....................................................................................................................... 47

Conclusion ................................................................................................................................ 47

Conclusion générale ................................................................................................................. 48

x
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Introduction générale

Depuis 2020, la pandémie de COVID-19 a déclenchée une adoption massive de l'apprentissage


en ligne. Bien que la pandémie soit désormais sous contrôle, elle a initié une transformation
durable, poussant les établissements éducatifs, les institutions de formation et divers secteurs à
intégrer des solutions numériques pour assurer la continuité pédagogique et la formation à
distance.

1. Contexte et justification
Le projet évolue dans un contexte où l'apprentissage en ligne est devenu une nécessité
incontournable, catalysée par les évolutions technologiques et les besoins changeants du
marché de l'éducation et de la formation. Avec l'émergence de nouveaux modes de travail, tels
que le télétravail et les horaires flexibles, ainsi que l'importance croissante de la formation
continue dans le développement professionnel, il est devenu impératif de fournir des solutions
d'apprentissage à distance accessibles, flexibles et efficaces. De plus, la pandémie mondiale de
COVID-19 a accéléré cette transition vers l'apprentissage en ligne, mettant en évidence la
nécessité pour les individus et les organisations de disposer de plateformes numériques robustes
pour continuer à se former et à se développer, quel que soit leur emplacement géographique ou
leur situation. Ainsi, le projet s'inscrit dans un contexte dynamique et en constante évolution,
où la demande pour des solutions d'apprentissage en ligne innovantes et adaptatives est plus
forte que jamais.

2. Problématique
La montée en puissance de la digitalisation et la mondialisation des échanges ont transformé
profondément le paysage éducatif et professionnel. Face à ces évolutions, de nombreuses
entreprises ont dû repenser leurs méthodes de formation pour rester compétitives et répondre
aux besoins changeants de leurs collaborateurs et de leurs clients. Toutefois, ce processus de
transition vers des formations en ligne présente des défis majeurs.

1
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Les entreprises doivent non seulement assurer la qualité de l'expérience utilisateur et la gestion
complète des formations, mais elles doivent également garantir la sécurité des données et la
pérennité de la plateforme dans un environnement numérique en constante évolution. Dans ce
contexte, se pose la question suivante : Comment concevoir une application de gestion
d’apprentissage qui réponde de manière efficace et innovante aux besoins complexes des
entreprises en matière de formation en ligne, en tenant compte des impératifs de sécurité, de
gestion intégrée et d'évolutivité de la plateforme ?

3. Objectifs de l’étude

3.1 Objectif général

L’objectif global de notre projet consiste à mettre en place une application de gestion
d’apprentissage en ligne (LearnSync360).

3.2 Objectifs spécifiques

Il s’agit spécifiquement de :

• développer une interface utilisateur conviviale et intuitive pour les apprenants,


permettant une expérience d'apprentissage en ligne fluide et engageante ;
• concevoir des outils de gestion avancés, afin de faciliter la création, la personnalisation
et la gestion des cours en ligne ;
• intégrer des fonctionnalités de monétisation robustes, telles que la vente de cours, la
tarification flexible et la gestion des transactions, tout en garantissant la sécurité des
paiements ;
• assurer la conformité aux normes de sécurité des données et de protection de la vie
privée, en mettant en place des mesures de sécurité robustes pour protéger les
informations sensibles des utilisateurs ;
• proposer des outils d'analyse avancés permettant aux administrateurs de suivre et
d'évaluer l'efficacité des formations ;
• assurer une intégration transparente avec d'autres systèmes et outils, tels que les
systèmes de gestion des ressources humaines (RH) ou les plateformes de
visioconférence, pour une expérience utilisateur harmonieuse et complète ;

2
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

• fournir un support technique et une formation adéquate aux utilisateurs finaux, aux
formateurs et aux administrateurs, pour garantir une adoption réussie de l'application et
une utilisation optimale de ses fonctionnalités.

4. Organisation du mémoire
Le présent travail s’articule autour de trois grands chapitres. Le premier chapitre présente la
structure d’accueil. Le deuxième chapitre présente les choix techniques lors de la conception
de l’application. Le troisième chapitre présente l’application à travers ces fonctionnalités et
quelques interfaces. Nous allons finir le travail par une conclusion et des perspectives.

3
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

CHAPITRE 1 : CADRE INSTITUTIONNEL

Introduction
Dans ce chapitre, nous allons explorer Simple IT, une entreprise informatique spécialisée dans
le développement d’applications sur mesure et les conseils en audit.

1.1 Présentation de la Structure d’accueil

1.1.1 Historique

Simple IT, une société à responsabilité limitée (SARL) établie, elle se distingue par son
expertise dans le génie logiciel, le développement d'applications sur mesure et les conseils en
audit. Située stratégiquement à Ste Rita, en face de l'église catholique à Cotonou, dans la région
du Littoral, avec l'adresse 03 BP 2366, BJ, la société offre un emplacement accessible et
pratique.

Fondée en avril 2014 par l'ingénieur en génie logiciel, Monsieur Ulrich GBAGUIDI, Simple IT
émerge comme une société de conseil spécialisée dans l'implémentation de solutions
informatiques novatrices, avec un accent particulier sur les technologies Microsoft. En tant que
SARL, elle détient un capital social de 1.000.000 F CFA. Le siège social est situé au premier
étage du bâtiment qu’abrite la pharmacie Vie Nouvelle à Cotonou, Bénin, et la société étend sa
présence avec un détachement au 202 Bis, Boulevard du 13 Janvier à Lomé, Togo. L'essence
de Simple IT trouve ses racines dans un ensemble d'idéaux qui ont inspiré sa création et
continuent de guider son évolution. Ces valeurs forment le socle d'un rêve partagé par une
équipe extraordinaire d'hommes et de femmes, tous engagés à édifier une entreprise à la hauteur
de leurs aspirations. Au fil des années, cette équipe a réussi à tisser des liens solides avec une
clientèle dont la satisfaction demeure la boussole de leurs efforts. En 2020, Simple IT a brillé
sur le devant de la scène des entreprises de développement d'applications au Bénin, démontrant
son agilité et son savoir-faire dans le cadre de la réforme des factures normalisées initiée par le
gouvernement. La liste impressionnante de partenaires locaux et étrangers, tels que Huawei
Technologies, SCB, SOBEBRA, BOLORE, Bénin Equipements, SHB, Manutention NIGER,

4
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

SODEXCA, GCITT Clinique d’imagerie SEZO, ISM Adonaï, Orageu, Fruitizz, SOPAI,
NOAGARDEN, LE CONCEPT, FESTIVA DES GLACE, THABOR...etc, atteste de la
confiance placée en la société.

L'année suivante, en 2021, marque une étape significative dans l'histoire de Simple IT avec son
adhésion à PHOENIX GROUP, une alliance regroupant diverses entreprises. Cette nouvelle
affiliation témoigne de la croissance continue de Simple IT et de son engagement à demeurer
un acteur majeur dans le secteur des solutions informatiques innovantes.

Avec un regard tourné vers l'avenir, Simple IT persiste dans sa quête d'excellence, soutenue par
son équipe dédiée et une vision partagée d'un avenir technologique prospère.

La mission principale de Simple IT réside dans son engagement à concevoir, développer,


adapter et maintenir des solutions technologiques personnalisées, visant à accroître de manière
significative l'efficacité opérationnelle de ses clients. L'équipe dédiée s'efforce de résoudre
efficacement toute problématique ou inefficience présente dans les systèmes de ses clients.
Simple IT se démarque également par sa préférence marquée pour les technologies de pointe
de Microsoft, notamment .Net, SQLServer et Windows Azure. Cette orientation technologique
permet à l'entreprise de proposer des solutions innovantes et performantes, consolidant ainsi sa
position sur le marché. La localisation stratégique à Ste Rita, près de l'église catholique, offre
un accès privilégié à ses clients. Simple IT ne se contente pas d'être un partenaire technologique
fiable ; elle s'engage également à fournir une expérience client exceptionnelle. Cette volonté
reflète son engagement envers l'excellence et la satisfaction de ses clients.

Pour en savoir plus sur ses services, compétences et réalisations antérieures, vous pouvez visiter
le site web de l'entreprise à l'adresse http://www.simpleit.bj/#. Il constitue une vitrine numérique
détaillée, mettant en lumière l'expertise de Simple IT et son engagement constant envers
l'amélioration continue et l'innovation.

1.1.2 Structure Organisationnelle

Pour mieux comprendre le fonctionnement de Simple IT, il est essentiel de se pencher sur sa
structure organisationnelle. Cette entreprise informatique, spécialisée dans le développement
d’applications sur mesure et les conseils en audit, est organisée en plusieurs départements clés,
chacun jouant un rôle crucial dans la réalisation des projets et la satisfaction des clients.

5
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Des services techniques aux services administratifs et commerciaux, chaque unité contribue de
manière significative à la dynamique et à l'efficacité globale de l'entreprise. Voici un aperçu des
principaux départements et leurs responsabilités respectives :

• Direction Générale

Le Directeur Général élabore la stratégie globale de l'entreprise, préside les réunions du comité
directeur et entretient des relations avec les partenaires et fournisseurs étrangers.

• Assistant(e) de Direction

Collaborateur direct du Directeur, il/elle exécute les demandes du Directeur, gère les agendas,
les déplacements, les courriers, et facilite la collaboration.

• Direction Technique

Le Directeur Technique conseille l'entreprise sur les technologies, gère la maintenance du


réseau et assure la communication technique avec les clients.

• Service Développement Logiciel

Il conçoit, déploie et documente les solutions informatiques en respectant les normes et


procédures.

• Service Réseaux et Infrastructure

Il planifie et met en œuvre les solutions techniques, gère les relations avec les dirigeants et
clients pour une architecture conforme aux besoins.

• Direction Administrative et Financière

Le Directeur Administrative et Financière supervise la gestion financière, conseille sur les


investissements et gère la branche administrative.

• Service Comptabilité

Il rassemble et analyse les données financières, établit les rapports comptables et gère les
déclarations fiscales.

• Service Administratif

Il organise la gestion administrative, rédige des courriers, gère le personnel et veille au respect
des procédures et lois.

6
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

• Service Transport et Logistique

Il gère les stocks, les approvisionnements, les déplacements du personnel et assure la logistique.

• Service Sécurité et Entretien

Le service de sécurité veille à la sécurité des biens et des personnes, tandis que le service
d'entretien nettoie et entretient les locaux et équipements.

• Direction Commerciale

Cette direction vise à augmenter le chiffre d'affaires et la marge en alignant la stratégie


commerciale avec la direction générale.

• Service Commercial

Il connaît les produits, assure le lien entre technique et clients, et a l'autonomie pour définir des
offres et devis.

• Service Marketing et Communication

Il définit les moyens pour que les produits atteignent les consommateurs, analyse le marché,
gère l'image de l'entreprise et conçoit la stratégie de communication.

1.1.3 Mission, Vision et Activités

1.1.3.1 Mission

SIMPLE IT a pour mission de rendre des services de développement d’application au Bénin,


dans la sous-région à sa clientèle et de faire bénéficier à sa clientèle les dernières technologies
MICROSOFT en matière de système informatique en assurant un meilleur entretien et une
meilleure maintenance des systèmes informatiques.

1.1.3.2 Vision

SIMPLE IT vise à devenir la référence incontournable au Bénin et dans la sous-région en


matière d’accompagnement des entreprises dans les technologies de l’information et de la
communication.

7
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

1.1.3.3 Activités

Le progrès social et économique d'une nation repose essentiellement sur l'efficacité de ses
systèmes d'information. Ainsi, dans une démarche constante de contribution au développement
du pays, SIMPLE IT propose une gamme étendue de services à sa clientèle. Au cœur de ses
activités se trouve le développement d'applications sur mesure visant à simplifier les opérations
des entreprises en fournissant des applications flexibles et adaptées à leurs besoins.

En partenariat avec MICROSOFT et d'autres acteurs, SIMPLE IT a élaboré des applications


personnalisées dans divers domaines, dont :

➢ INTERFAC PLUS (Application dématérialisée de gestion ayant 3 versions.

Ce puissant outil vous permettra de gérer plusieurs sites en même temps et de prendre des
décisions avérées.)

• Version Entreprise (Gestion de Projets, Facture Normalisée, rapports)


• Version Hôtel, Restaurant, supermarché (Gestion des Réservations, du stock,
Facture Normalisée, rapports)
• Version ONG (Gestion de Projets, rapports)

➢ GESMED (Application de gestion des centres de santé prenant en compte les rendez-
vous patients jusqu'à la prise en charge assurance,) dédiée aux centres médicaux, elle a
été conçue pour permettre une bonne gestion du dossier du patient dès son entrée jusqu’à
son rétablissement afin de permettre un bon traitement et bon suivi du patient (dossier
informatisé du patient pour éviter les erreurs occasionnées par la perte du carnet de
consultation). Elle est disponible en version :
• Version clinique générale
• Version clinique spécialisée

➢ NOTARE (Application de Gestion d'Universités basée sur le système LMD.) dédiée


aux centres éducatifs, elle a été conçue pour gérer le cursus académique de l’étudiant
depuis son inscription jusqu’à l’obtention de son diplôme en passant par l’impression
de l’attestation de scolarité, de la carte d’étudiant, du relevé de notes, du diplôme et
autres.

8
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

➢ ARM pour toutes les structures, elle concerne la mise en place d’un cycle d’archivage
et de relecture des données qui convient à vos besoins et qui permet à vos données
archivées de rester accessible à tout moment. Cela passe aussi bien par l’archivage
physique que numérique conformément aux normes archivistiques.

➢ STOCK 247 spécifiquement développée pour les entreprises qui gèrent du stock, elle
cumule, la fonction de gestion de stock vous permettant d’enregistrer les
approvisionnements et les ventes, faire l’inventaire des produits disponibles en magasin,
voir grâce au seuil alerte les produits expirés et leur disponibilité en stock ; et la fonction
site web vous donnant tous les avantages liés à un site web moderne pouvant signaler
aux clients la disponibilité ou non des produits en stock depuis une machine ayant accès
à l’internet.

➢ INTERFAC permet de vous conformer aux nouvelles exigences de la loi de finance


2020 en mettant en communication votre application de facturation actuelle au module
de contrôle de facturation (MCF) de la DGI afin d’éditer des factures normalisées.

➢ GESTION DU PERSONNEL, elle assure l’édition automatique des fiches de paie des
salariés en tenant compte des heures supplémentaires, des retenues ou avances sur
salaires, des charges, de l’ancienneté, du calcul des congés et des avantages liés à chaque
type de contrat. Elle gère automatiquement les congés en tenant compte des contrats de
travail, elle peut être renseignée en cas de résiliation afin de faciliter le suivi du dossier
de chaque salarier

En complément de ses applications sur mesure, SIMPLE IT propose une gamme variée de
services, notamment l'audit et le conseil en système d'information, la fourniture de matériels
informatiques, la maintenance des systèmes, le back-up et le cloud computing, l'optimisation
des sites web, l'intégration et le câblage réseau, l'interconnexion des ordinateurs administratifs,
la maintenance des packs informatiques, et la formation du personnel. Cette approche holistique
témoigne de l'engagement de SIMPLE IT à offrir des solutions complètes et adaptées aux
besoins diversifiés de sa clientèle.

9
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

1.1.4 Organigramme Fonctionnel de Simple IT

Figure 1 : Organigramme Fonctionnel de Simple IT

1.2 Déroulement du stage


Le stage s'est déroulé à Simple IT du 19 Mars 2024 au 19 Juin 2024 pour une durée totale de
03 mois. L'objectif principal de notre stage était de développer une application de gestion
d’apprentissage en ligne.

1.2.1 Travaux effectués

Durant les trois mois de stage à Simple IT, j'ai eu l'opportunité de travailler sur plusieurs aspects
du développement de l'application LMS, ainsi que de m'impliquer dans d'autres projets de
l'entreprise. Les tâches et activités réalisées peuvent être résumées comme suit :

10
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

➢ Cahier des charges :

La plateforme LMS devra inclure les fonctionnalités suivantes :

- Gestion des cours : création, modification et suppression de cours, gestion des


ressources pédagogiques.
- Gestion des utilisateurs : création de profils d'utilisateurs, attribution de rôles et
d'autorisations.
- Livraison des cours : mise à disposition des cours en ligne, suivi des progrès des
apprenants.
- Rapports : génération de rapports sur les données analytiques et les performances des
cours.
- Personnalisation : possibilité de personnaliser l'interface utilisateur et le contenu des
cours.
• Interface utilisateur
L'interface utilisateur devra être conviviale, intuitive et responsive, afin de garantir
une expérience utilisateur optimale sur tous les appareils.
• Gestion de contenu
Les administrateurs devront pouvoir créer, importer et mettre à jour facilement le
contenu des cours via une interface d'administration dédiée.
• Gestion des utilisateurs
La plateforme devra prendre en charge différents types d'utilisateurs
(administrateurs, apprenants) avec des rôles et des autorisations définis

➢ Conception et architecture du système :


• Nous avons élaboré une architecture logicielle solide en utilisant les technologies
adaptées au développement web, en fonction des besoins des utilisateurs.
• Nous avons conçu une interface utilisateur conviviale, en mettant l'accent sur
l'ergonomie, la simplicité d'utilisation et la facilité de navigation.

➢ Développement de l'application LearnSync360 :


• Implémentation des principales fonctionnalités de l'application, y compris la gestion
des cours, l'inscription des utilisateurs, et la monétisation des formations.

11
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

• Utilisation des technologies suivantes : Reactjs, Nextjs, TypeScript, Nodejs,


MongoDB, Prisma, TailwindCSS ainsi que certaines librairies à savoir : Shadcn/ui,
MuxData pour le stockage des vidéos et un système de paiement (Stripe).

➢ Intégration de systèmes de paiement :


• Mise en place et intégration de passerelles de paiement sécurisées pour permettre la
monétisation des cours en ligne.
• Tests et validation des transactions pour assurer la fiabilité et la sécurité des
paiements.

➢ Tests et validation :
• Participation aux phases de test (unitaires, intégration et système) pour s'assurer du
bon fonctionnement de l'application.
• Identification et correction des bugs

➢ Documentation technique :
• Rédaction de la documentation technique pour les développeurs futurs, incluant les
instructions d'installation et les guides d'utilisation de l'application.
• Préparation de guides utilisateurs et de tutoriels pour les utilisateurs de l’application.

➢ Apprentissage du langage C# et .NET :


• Formation au langage de programmation C# ainsi que le Framework .NET.
• Réalisation de projets pratiques pour renforcer mes compétences en C# et .NET.
• Participation à des sessions de formation internes et ateliers organisés par Simple IT
pour approfondir mes connaissances.

➢ Participation à d'autres projets de l'entreprise :


• Contribution au développement et à la maintenance de diverses applications internes
et externes pour l'entreprise.
• Collaboration avec différentes équipes sur des projets variés, allant du
développement web à la gestion de bases de données.
• Assistance dans la mise en place de solutions technologiques pour améliorer les
processus internes de l'entreprise.

12
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Ce stage m'a permis de développer mes compétences techniques en programmation et en


gestion de projets, tout en acquérant une expérience précieuse dans la création d'une application
complexe et fonctionnelle. Travailler sur LearnSync360 et d'autres projets de Simple IT a été
une expérience enrichissante qui m'a permis de contribuer à des projets innovants et de grande
valeur pour l'entreprise.

1.2.2 Les difficultés rencontrées et suggestions

Durant le stage à Simple IT, plusieurs défis ont été rencontrés, et des suggestions ont été
formulées pour améliorer le processus de développement et de gestion de projets futurs. Entre
autres, on a :

➢ Difficultés rencontrées :
• Problèmes techniques et bugs

Au cours du développement de l’application LearnSync360, nous avons rencontré divers bugs


et problèmes techniques, notamment des erreurs de compatitbilité entre certaines bibliothèques
et la version des frameworks utilisés. Ces problèmes ont impacté négativement notre processus
de développement, ce qui a entraîné des retards.

• Gestion du temps

La gestion du temps a été un défi majeur, surtout avec les échéances serrées et les multiples
tâches à accomplir simultanément. Cela a parfois conduit à des périodes de stress élevé et à des
ajustements fréquents du planning de travail.

• Apprentissage de nouvelles technologies (.NET)

L’apprentissage de C# et du Framework .NET a demandé un investissement de temps important,


car il s’agissait de technologie assez complexe. Cela a ralenti mon rythme de travail jusqu’à ce
que je devienne plus à l’aise aujourd’hui avec ces outils.

➢ Suggestions :
• Renforcement de la gestion projet

Utiliser des méthodologies agiles de manière plus rigoureuse, avec des sprints bien définis et
des rétrospectives régulières.

13
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

• Renforcement de la gestion d’apprentissage continue

Organiser des sessions de formations régulières pour l’équipe, notamment sur les nouvelles
technologies et les meilleures pratiques en développement d’applications sur mesure. Cela
permettra aux développeurs de rester à jour et d’améliorer constamment leurs compétences, ce
qui bénéficiera à l’ensemble du projet.

Conclusion
Ce chapitre m’a permis de présenter, de long en large ma structure de stage en mettant en
lumière les spécificités de ma structure et les défis auxquels nous sommes confrontés. J’ai
également identifié les besoins croissants en matière de gestion de formations en ligne, ainsi
que les attentes des utilisateurs pour une expérience d'apprentissage autonome et sécurisée. Il
est clair que notre projet vise à répondre à ces exigences en concevant une application de gestion
d’apprentissage performante. Le chapitre suivant aborde les choix techniques opérés pour la
conception et la réalisation de l’application.

14
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

CHAPITRE 2 : CONCEPTION ET CHOIX TECHNIQUES

Introduction
"Ce n’est pas nécessaire de réinventer la roue à chaque fois ; on peut profiter de l’expertise des
autres." Cette expression couramment utilisée met en avant l’importance de ne pas reproduire
inutilement un travail déjà accompli par d’autres, mais plutôt de s’appuyer sur leur expertise et
leurs réalisations pour gagner du temps et des efforts. Dans le processus de conception et de
réalisation de notre application LMS sur mesure, il est essentiel de suivre les étapes
préliminaires nécessaires pour assurer le cycle de vie de l’application et répondre aux besoins
des utilisateurs de manière adéquate. Ainsi, nous avons opté pour l’utilisation du formalisme
UML qui offre une grande flexibilité grâce à l’utilisation de diagrammes. Ce chapitre présente
les choix techniques effectués pour la réalisation du projet.

2.1 Conception
La modélisation des données est une étape importante dans la conception d’un système
d’information, permettant d’identifier les entités logiques et les dépendances logiques entre
elles. Il s’agit d’une représentation abstraite de la structure, des relations, des noms et des
formats des données pertinentes. Il existe plusieurs outils pour modéliser les données, dont
UML, qui est un outil populaire et largement utilisé.

2.2 Modélisation

2.2.1 Diagramme des cas d’utilisation du système

Un diagramme de cas d’utilisation est un outil de modélisation utilisé en ingénierie logicielle


pour représenter les interactions entre un système informatique et ses utilisateurs. Il décrit les
différentes tâches qu’un utilisateur peut accomplir avec le système pour atteindre un but
spécifique. Les diagrammes de cas d’utilisation sont utiles pour comprendre les exigences du
système et pour communiquer ces exigences aux développeurs et aux autres parties prenantes.

15
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Dans notre contexte, il existe deux types d'acteurs dans notre système : l’utilisateur final
(apprenant) et l’administrateur. Dans ce qui suit, nous donnerons une description détaillée de
quelques cas d’utilisation avant de présenter séparément un diagramme de cas d’utilisation, un
diagramme de classes et quelques diagrammes de séquence.

Figure 2 : Diagramme de cas d'utilisation du système

2.2.1.1 Explication du diagramme de cas d’utilisation

L’application est conçue pour deux types d’utilisateurs : l’utilisateur final, qui est l’apprenant,
et l’administrateur.

Utilisateur final (apprenant) :

• Consulter la page des cours disponibles, classés par catégorie ;


• Suivre un cours après l'avoir acheté ;
• Une fois le cours terminé, obtenir un certificat de formation ;
• Poser ses problèmes en cas d'incompréhension de certaines notions du cours ;
• Accéder à l'historique de ses cours et certificats ;

16
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

• Recevoir des notifications sur les mises à jour des cours, les nouveaux cours disponibles
ou les réponses données par l’administrateur.

Administrateur :

• Gérer les utilisateurs ;


• Gérer les certifications des apprenants ;
• Suivre les statistiques et les données analytiques pour identifier les tendances et les
besoins en formation (génération des rapports).

2.2.2 Le diagramme de classe du système

Le diagramme de classe est un outil essentiel en génie logiciel pour représenter les relations
entre les différentes classes et interfaces du système. Ce schéma est utilisé pour décrire la
structure statique du système et ne prend pas en compte les aspects dynamiques et temporels.
En d’autres termes, il permet de décrire les rôles, les comportements et les types de chaque
classe, ainsi que la manière dont les instances de chaque classe interagissent les unes avec les
autres. En utilisant le diagramme de classe, les développeurs peuvent mieux comprendre la
structure globale du système et concevoir des solutions plus efficaces pour résoudre les
problèmes de programmation complexes.

2.2.2.1 Présentation des règles de gestion de l’application

La réalisation du diagramme de classe se base sur le dictionnaire de données et les règles de


gestion. Pour le fonctionnement de notre application voici les règles de gestions établies :

• Un utilisateur final peut payer plusieurs cours


• Pour un cours donné, il faut connaitre son titre, sa description, sa catégorie, ses
chapitres,
• Pour une catégorie de cours, on peut connaître le code et le nom
• Un chapitre contient un titre, une description,
• C’est en se basant sur les règles de gestion susmentionnées que nous avons obtenu le
diagramme de classes suivant.

17
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Figure 3 : Diagramme de classe du système

2.2.3 Le diagramme de séquence

Le diagramme de séquence permet de représenter les interactions entre les objets dans le
contexte d'un scénario défini par un diagramme de cas d'utilisation. Il est utilisé pour illustrer
ces interactions, en mettant en évidence les actions qui se déroulent entre les différents acteurs
ou objets du système. Dans sa disposition, l'acteur principal est généralement situé à gauche du
diagramme, tandis que les acteurs secondaires se trouvent à droite du système. L'objectif est de
décrire de manière chronologique comment les actions se déroulent entre ces entités.

La dimension verticale du diagramme représente le temps, permettant ainsi de visualiser la


séquence temporelle des actions et de préciser le moment où les objets sont créés ou détruits.
Les périodes d'activité des objets sont représentées par des rectangles, et ces objets interagissent
entre eux en utilisant des messages.

18
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Figure 4 : Diagramme de séquence de l'authentification de l'utilisateur final du système

19
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Figure 5 : Diagramme de séquence du cas d'utilisation Suivre cours

20
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

2.2.4 Description textuelle des cas d’utilisation

2.2.4.1 Description textuelle du cas d’utilisation "Créer un compte"

Cas d’utilisation S’inscrire

Acteur Utilisateur final

Objectif
Ce cas d’utilisation vise à décrire le processus
d’inscription sur l’application

Pré condition
Visiter l’application

Post condition
Créer un compte sur l’application

Scénario nominal Le système affiche le formulaire de


connexion avec les options se connecter
avec : Google, GitHub, et Discord.
L’utilisateur a le choix soit de se connecter
directement à une option ou de remplir le
formulaire de connexion.
Le système vérifie les données saisies.
Le système renvoie à la page de tableau de
bord.
L’instance du cas d’utilisation se termine.
Exception
Si un champ n’est pas rempli, est mal rempli
ou présente une erreur de saisie, le système
affiche un message d’erreur.

Tableau 1 : Description du cas d’utilisation "Créer un compte"

21
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

2.2.4.2 Description textuelle du cas d’utilisation "Gérer cours"

Cas d’utilisation
Gérer cours

Acteur
Administrateur

Objectif
Ce cas d’utilisation vise à décrire le processus de
gestion de cours sur l’application

Pré condition
Créer un compte

Post condition
S’authentifier
Scénario nominal
Le système vérifie l’identifiant de l’utilisateur
connecté.
L’acteur a la possibilité de créer, modifier et
supprimer un cours.
Le système renvoie le cours dans la liste des cours
disponibles une fois le cours publié.
L’instance du cas d’utilisation se termine.
Exception
Si un champ n’est pas rempli, est mal rempli ou
présente une erreur de saisie, le système affiche
un message d’erreur.

Tableau 2 : Description du cas d’utilisation "Gérer cours"

22
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

2.3 Choix techniques de la solution

2.3.1 La méthodologie du projet

Pour la réalisation d’un projet quelconque, qu’il soit informatique ou non, les chefs de projet et
les leaders utilisent des méthodologies de gestion de projet qui s’adaptent aux exigences du
projet. Dans ce projet, nous nous sommes concentrés sur la méthodologie de Gantt.

2.3.1.1 La méthodologie Gantt

La méthode de gestion de projet Gantt, également connue sous le nom de diagramme de


Gantt, est une technique largement utilisée pour planifier, organiser et suivre les activités d’un
projet sur une période donnée. Son objectif principal est de visualiser les différentes tâches du
projet, leur durée respective, leurs dépendances et leur séquence.

L’utilité de la méthode de Gantt réside dans sa capacité à fournir une représentation graphique
claire et intuitive de la planification d’un projet. Voici quelques-unes de ses utilisations et
avantages :

• Planification temporelle ;
• Coordination des ressources ;
• Suivi de l’avancement.

2.3.2 Notre choix pour notre système

Pour les besoins de notre système, nous avons utilisé MongoDB, qui est un système de gestion
de base de données orienté documents, répartissable sur un nombre quelconque d'ordinateurs et
ne nécessitant pas de schéma prédéfini des données. Il est écrit en C++. Le serveur et les outils
sont distribués sous licence SSPL, les pilotes sous licence Apache et la documentation
sous licence Creative Commons. Il fait partie de la mouvance NoSQL. MongoDB permet de
manipuler des objets structurés au format BSON (JSON binaire), sans schéma prédéterminé.
En d'autres termes, des clés peuvent être ajoutées à tout moment « à la volée », sans
reconfiguration de la base. Les données prennent la forme de documents enregistrés eux-mêmes
dans des collections, une collection contenant un nombre quelconque de documents. Les
collections sont comparables aux tables, et les documents aux enregistrements des bases de
données relationnelles. Contrairement aux bases de données relationnelles, les champs d'un
enregistrement sont libres et peuvent être différents d'un enregistrement à un autre au sein d'une

23
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

même collection. Le seul champ commun et obligatoire est le champ de clé principale ("id").
Par ailleurs, MongoDB ne permet ni les requêtes très complexes standardisées, ni les JOIN,
mais permet de programmer des requêtes spécifiques en JavaScript.

Figure 6 : Logo de MongoDB sous différentes formes

2.3.3 Outils utilisés

2.3.3.1 Éditeur de code : Visual Studio Code

Visual Studio Code ou VS Code, est un éditeur de code open-source développé par Microsoft.
VS Code est apprécié pour sa performance, sa flexibilité et ses nombreuses fonctionnalités. Il
supporte une large gamme de langages de programmation, offre un terminal intégré, dispose
d’une vaste bibliothèque d’extensions, et inclut des outils de débogage robustes ainsi qu’une
intégration native de Git. Ces caractéristiques font de VS Code un choix idéal pour le
développement de notre application, facilitant la gestion des tâches de codage et de débogage
de manière efficace.

Figure 7 : Logo de l'éditeur Visual Studio Code

2.3.3.2 Framework frontend : React JS

Les frameworks JavaScript sont une partie essentielle du développement web front-end
moderne, fournissant aux développeurs des outils éprouvés pour construire des applications
web évolutives et interactives. Il existe une panoplie de framework frontend pour la conception

24
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

d’une application de gestion d’apprentissage en ligne. Il s’agit entre autres de React JS, Angular
JS, Vue JS.

React (aussi appelé React.js ou ReactJS) est une bibliothèque JavaScript libre. Elle est
maintenue par Meta (anciennement Facebook) ainsi que par une communauté de développeurs
individuels et d'entreprises depuis 2013. Le but principal de cette bibliothèque est de faciliter
la création d'application web monopage, via la création de composants dépendant d'un état et
générant une page (ou portion) HTML à chaque changement d'état. React est une bibliothèque
qui ne gère que l'interface de l'application, cette interface étant considérée comme la vue dans
le modèle MVC.

Elle peut ainsi être utilisée avec une autre bibliothèque ou un framework MVC
comme AngularJS. La bibliothèque se démarque de ses concurrents par sa flexibilité et ses
performances, en travaillant avec un DOM virtuel et en ne mettant à jour le rendu dans le
navigateur qu'en cas de nécessité. Le tableau suivant présente une comparaison entre ces
différents framework.

Points de AngularJS Vue.js React.js


comparaison
Intégration avec Bonne intégration, Intégration Excellente
web3 nécessite des relativement simple intégration avec une
configurations en utilisant des variété de
supplémentaires plugins tiers bibliothèques

Gestion des contrats Dispose de Offre des plugins et Dispose d’un


intelligents bibliothèques, des outils pour écosystème riche
nécessite plus faciliter la gestion avec de nombreuses
d’efforts de des contrats bibliothèques
développement intelligents

¨Performance et Peut-être moins Bonne performances Excellente


évolutivité performant, nécessite et évolutivité performances et
une optimisation satisfaisante évolutivité grâce à la
supplémentaire gestion efficace du

25
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

rendu virtuel du
DOM
Sécurité Offre des Offre des pratiques Dispose d’une solide
fonctionnalités de de sécurité solides réputation en matière
sécurité, mais avec des outils de sécurité et d’une
nécessite une disponibles communauté active
vigilance
supplémentaire
Support de la Dispose d’une solide Communauté en Profite d’une large et
communauté communauté, mais croissance, mais active communauté
moins active et en moins étendue que de développeurs
croissance celle d’AngularJS et
de React.js

Tableau 3 : Tableau comparatif des frameworks frontend

AngularJS offre une bonne intégration avec Web3 mais nécessite des configurations
supplémentaires. Pour la gestion des contrats intelligents, des bibliothèques sont disponibles,
mais cela demande plus d’efforts de développement. Vue.js propose une intégration
relativement simple avec Web3 grâce à des plugins tiers. La gestion des contrats intelligents est
facilitée par des plugins et des outils. React.js se démarque avec une excellente intégration avec
Web3 et dispose d’un écosystème riche pour la gestion des contrats intelligents. En termes de
performances, AngularJS peut être moins performant et nécessiter une optimisation
supplémentaire. Vue.js offre de bonnes performances et React.js se distingue avec d’excellentes
performances grâce à la gestion efficace du rendu virtuel du DOM. En matière de sécurité,
AngularJS nécessite une vigilance supplémentaire, tandis que Vue.js propose des pratiques
solides et React.js bénéficie d’une réputation en matière de sécurité. En ce qui concerne le
support de la communauté, AngularJS dispose d’une solide communauté mais moins active.
Vue.js bénéficie d’une communauté en croissance et React.js profite d’une large et active
communauté de développeurs. Nous voyons donc que React.js se distingue avec son excellente
intégration avec Web3, son riche écosystème pour la gestion des contrats intelligents, ses
performances exceptionnelles et sa réputation solide en matière de sécurité. De plus, il bénéficie
d’une large et active communauté de développeurs prête à offrir un support continu. Si vous

26
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

recherchez un framework JavaScript offrant une intégration puissante avec Web3, des
performances élevées et une sécurité robuste, React.js est un choix solide à considérer.

Figure 8 : Logo de React.js

2.3.3.3 Framework : Next.js

Pour le développement de notre projet LMS, nous avons choisi d’utiliser Nextjs, un Framework
React permettant de créer des applications web performantes et optimisées. Nextjs offre de
nombreux avantages, tels que le rendu côté serveur (SSR) et le coté rendu statique (SSG), ce
qui améliore considérablement la performance et le SEO des applications. De plus, Nextjs
facilite le routage, la gestion des API, et l’intégration avec des services tiers, rendant le
développement plus rapide et efficace. Grâce à ses fonctionnalités avancées et à sa flexibilité,
Nextjs s’est avéré être un outil essentiel pour la construction de notre application LMS.

Figure 9 : Logo du Framework Next.js

27
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

2.3.3.4 Tailwind CSS

Tailwind CSS est un framework CSS open source. La fonctionnalité principale de cette
bibliothèque est, contrairement à d'autres frameworks CSS comme Bootstrap, qu'elle ne
procure pas une série de classes prédéfinies pour des éléments tels que des boutons ou des
tables. À la place, Tailwind crée une liste de classes CSS « utilitaires » pouvant être utilisés
pour ajouter un style à chaque élément en les mélangeant et en les agençant.

Par exemple, dans d'autres systèmes, il y aurait une classe message-warning qui appliquerait le
jaune comme couleur d'arrière-plan et du texte gras. Pour avoir ce résultat dans Tailwind, il
faudrait appliquer un ensemble de classes créé par la bibliothèque : bg-yellow-200 et

font-bold. En date du 17 mai 2023, Tailwind CSS a plus de 68 400 étoiles sur GitHub. La figure
ci-dessous nous donne un aperçu de l’exemple.

Figure 10 : Exemple d'un code Tailwind CSS

En raison de la différence sur les concepts de base liés à d'autres frameworks CSS traditionnels
tels que Bootstrap, il est important de connaitre la philosophie à partir de laquelle Tailwind a
été créé, ainsi que son utilisation de base.

28
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Figure 11 : Logo de Tailwind CSS

2.3.3.5 Mux

Mux est une plateforme de streaming vidéo qui permet de gérer l'encodage, la diffusion, et
l'analyse des vidéos de manière efficace. Conçu pour simplifier le streaming vidéo, Mux offre
une solution complète qui permet aux développeurs de se concentrer sur la création de contenu
sans se soucier des complexités techniques liées à la vidéo. Il offre des fonctionnalités
d'encodage adaptatif, assurant que les vidéos sont optimisées pour tous les types de réseaux et
d'appareils, et utilise des réseaux de distribution de contenu (CDN) pour fournir une diffusion
rapide et fiable. De plus, Mux fournit des outils analytiques détaillés, permettant de suivre et
d'optimiser les performances des vidéos.

Figure 12 : Logo de Mux

2.3.3.6 Prisma

Prisma est un ORM moderne pour Node.js et TypeScript, conçu pour simplifier les interactions
avec les bases de données relationnelles comme PostgreSQL, MySQL, et SQLite. Prisma
permet aux développeurs de définir leur modèle de données de manière déclarative, générant
automatiquement des migrations et un client typé pour interagir avec la base de données. Grâce
à Prisma, les développeurs peuvent effectuer des requêtes SQL de manière simple et sécurisée,
tout en bénéficiant d'une gestion optimisée des migrations et d'une compatibilité multi-base de
données. L'utilisation de Prisma dans notre projet LMS nous permet de gérer efficacement notre
base de données, assurant une productivité accrue et une sécurité améliorée.

29
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Figure 13 : Logo Prisma

2.3.3.7 Langage de programmation TypeScript

TypeScript est un langage de programmation open-source développé par Microsoft, qui étend
JavaScript en ajoutant des types statiques. Cela permet aux développeurs de détecter et de
corriger les erreurs au moment de la compilation plutôt qu'à l'exécution, améliorant ainsi la
fiabilité et la maintenabilité du code. TypeScript est compatible avec tous les projets JavaScript
existants, car il est transcompilé en JavaScript. Il inclut également les dernières fonctionnalités
ECMAScript, même celles qui ne sont pas encore prises en charge par tous les environnements
d'exécution.

Figure 14 : Logo du langage TypeScript

2.3.3.8 Nodejs

Node.js est un environnement d'exécution côté serveur basé sur le moteur JavaScript V8 de
Chrome. Il permet d'exécuter du code JavaScript côté serveur, offrant ainsi une plateforme
puissante pour le développement d'applications web et de serveurs. Node.js utilise un modèle
d'E/S non bloquant et événementiel, ce qui le rend efficace et adapté aux applications intensives
en termes d'I/O comme les applications en temps réel.

Figure 15 : Logo Nodejs

30
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

2.3.3.9 Visual Paradigm

Le logiciel Visual Paradigm est un puissant outil de modélisation utilisé pour créer des
diagrammes UML. Il offre une large gamme de fonctionnalités pour la conception et la
documentation des systèmes logiciels. Visual Paradigm facilite la création de diagrammes UML
tels que les diagrammes de classes, de séquence, d'activité, de déploiement, etc.

Figure 16 : Logo Visual Paradigm

Conclusion
Ce chapitre a présenté la conception et notre choix technique liés à la réalisation de notre projet.
Le prochain chapitre présentera le fonctionnement du système d’apprentissage pour les
utilisateurs.

31
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

CHAPITRE 3 : RESULTATS ET DISCUSSION

Introduction
Dans le cadre de cette étude, nous présenterons les résultats de notre travail en exposant
quelques interfaces développées ainsi que leur fonctionnement. Par la suite, nous procéderons
à une discussion approfondie de ces résultats obtenus. Cette étape nous permettra d’analyser et
d’interpréter les performances de nos interfaces, en mettant en évidence les aspects positifs et
les éventuelles améliorations à apporter. Enfin, nous conclurons en soulignant les contributions
et les enseignements tirés de cette étude, ouvrant ainsi la voie à de nouvelles perspectives pour
des développements futurs.

3.1 Présentation de l’application LearnSync360 (Utilisateur final)

3.1.1 Inscription

L'interface "Inscription" est la vue spécialement conçue pour les nouveaux utilisateurs qui
souhaitent s'inscrire dans le système. Elle propose un formulaire où les utilisateurs peuvent
saisir leurs informations personnelles telles que l'adresse e-mail et le mot de passe, ou se
connecter directement à un service numérique afin de créer un compte et d'accéder aux
fonctionnalités personnalisées offertes par le système.

32
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Figure 17 : Page de création de compte

3.1.2 Tableau de bord

Après s'être connecté, l'utilisateur est dirigé vers le tableau de bord. Cette interface est
spécialement conçue pour fournir une vue d'ensemble claire et intuitive de ses cours.
L'utilisateur peut y voir le nombre de cours en attente ainsi que ceux déjà terminés. De plus, il
peut facilement suivre sa progression dans chaque cours grâce à des indicateurs visuels.

Figure 18 : Tableau de bord


33
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

3.1.3 Parcourir

L'interface "Parcourir" permet aux utilisateurs de rechercher et d'explorer les différents cours
disponibles sur la plateforme. Elle offre une vue d'ensemble organisée et facile à naviguer pour
trouver des cours dans divers domaines.

Figure 19 : L'interface Parcourir

3.1.4 Certification

L'interface "Certification" permet aux utilisateurs de suivre et de gérer leurs certifications


obtenues à travers les cours suivis sur la plateforme. Cette vue est conçue pour offrir une gestion
simplifiée et un suivi clair des différentes étapes pour l'obtention des certifications.

34
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Figure 20 : L'interface de la Certification

3.1.5 Foires aux questions

L'interface "FAQs" est conçue pour aider les utilisateurs à trouver rapidement des réponses aux
questions les plus courantes concernant l'utilisation de la plateforme. Cette vue est structurée
de manière à être facilement navigable et intuitive, offrant un support rapide sans avoir besoin
de contacter le service client.

Figure 21 : L'interface Foires aux questions

35
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

3.1.6 Newsletter

L'interface "Newsletter" permet aux utilisateurs de s'abonner aux mises à jour régulières de la
plateforme et de rester informés des dernières actualités, des nouveaux cours, des offres
spéciales et d'autres informations pertinentes. Cette vue est conçue pour être intuitive et facile
à utiliser.

Figure 22 : L'interface Newsletter

3.1.7 Problèmes

L'interface "Problèmes" est conçue pour permettre aux utilisateurs de signaler des problèmes,
de poser des questions et de recevoir de l'aide pour résoudre des difficultés rencontrées lors de
l'utilisation de la plateforme. Cette vue est organisée pour offrir un support utilisateur efficace
et rapide.

36
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Figure 23 : L'interface Problèmes

3.1.8 Cours verrouillé

L'interface "Cours verrouillé" est généralement conçue pour restreindre l'accès au contenu
spécifique jusqu'à ce que certaines conditions soient remplies.

Figure 24 : Interface Cours verrouillé

37
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

3.1.9 Paiement

L’interface "Payement" est généralement conçue pour donner l’accès aux utilisateurs d’acheter
un cours.

Figure 25 : Interface de Paiement avec le service Stripe

Figure 26 : Accès au cours après paiement

38
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Figure 27 : Interface d'un cours terminé

3.2 Présentation de l’application LearnSync360 (Administrateur)

3.2.1 Espace Enseignant

L'interface "Espace Enseignant" est spécialement conçue pour les administrateurs et les
formateurs utilisant la plateforme. Elle leur offre les outils nécessaires pour gérer leurs cours,
interagir avec les étudiants et suivre leur progression.

Figure 28 : Espace Enseignant

39
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

3.2.2 Création de Cours

L'interface "Création de Cours" est spécialement conçue pour permettre aux enseignants de
créer et de structurer des cours de manière intuitive et efficace. Elle offre une gamme d'outils
et de fonctionnalités pour développer des contenus pédagogiques de haute qualité.

Figure 29 : Interface de Création de cours

3.2.3 Création de Chapitre

L'interface "Création de Chapitre" est spécialement conçue pour permettre aux enseignants de
créer et de structurer des chapitres du cours de manière intuitive et efficace. Elle offre une
gamme d'outils et de fonctionnalités pour développer des contenus pédagogiques de haute
qualité.

40
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Figure 30 : Interface de Création de Chapitre

3.2.4 Donnés Analytiques

L'interface "Données Analytiques" nous offre une vue détaillée et stratégique des performances
commerciales et financières.

Figure 31 : Interface des Données Analytiques

41
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

3.3 Présentation de l’application LearnSync360 sous format mobile


Pour illustrer de manière concrète l'interface et les fonctionnalités de l'application mobile
LearnSync360, les images suivantes offrent un aperçu détaillé de son design intuitif et de ses
fonctionnalités optimisées pour une expérience d'apprentissage dynamique sur les appareils
mobiles.

Figure 33 : Tableau de bord Figure 32 : Fonctionnalités

42
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

3.3.1 Parcourir

L'interface "Parcourir" permet aux utilisateurs de rechercher et d'explorer les différents cours
disponibles sur la plateforme. Elle offre une vue d'ensemble organisée et facile à naviguer pour
trouver des cours dans divers domaines.

Figure 35 : Interface Parcourir Figure 34 : Interface Cours

43
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

3.4 Les fonctions importantes du backend de l’application


Il est important de présenter les fonctions phares du contrat intelligent de notre application,
notamment : celle permettant la vérification des champs lors du paramétrage d’un cours et celle
permettant de vérifier la taille d’une image et d’une vidéo choisies. Les figures 35 et 36
présentent respectivement la fonction de vérification des champs lors du paramétrage d’un
cours et la fonction de vérification de la taille d’une image et d’une vidéo choisies.

Figure 36 : Fonction de vérification des champs

44
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Figure 37 : Fonction de vérification de la taille des images et vidéos

3.5 Mesure de sécurité


Pour tout système avec une interface web, il est essentiel de mettre en place des mesures de
sécurité afin de prévenir les incidents, de protéger les systèmes informatiques, les données et
les utilisateurs contre les diverses menaces potentielles. Les mesures de sécurité que nous avons
définies sont les suivantes :

3.5.1 Confidentialité

Les utilisateurs et l'administrateur du site doivent fournir leurs identifiants (adresse e-mail et
mot de passe) pour accéder aux parties sensibles du site. Cela garantit que seules les personnes
autorisées peuvent se connecter et consulter les informations confidentielles.

3.5.2 Protection des données via HTTPS

Nous avons mis en place le protocole HTTPS pour sécuriser toutes les communications entre
les utilisateurs et notre serveur. HTTPS chiffre les données échangées, garantissant ainsi que
les informations sensibles telles que les identifiants de connexion, les données personnelles et
les transactions restent confidentielles et protégées contre les interceptions malveillantes.

45
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

3.5.3 Hachage des mots de passe

Pour sécuriser les mots de passe des utilisateurs, nous avons utilisé le service d'authentification
Clerk, qui implémente des algorithmes de hachage robustes. Clerk utilise des algorithmes de
hachage tels que BCrypt, PBKDF2, ou Argon2 pour transformer les mots de passe en
empreintes numériques uniques et sécurisées. Ces algorithmes sont conçus pour être résistants
aux attaques par force brute et utilisent des sels (salts) pour renforcer la sécurité des mots de
passe. En utilisant Clerk, nous garantissons que même en cas de compromission de la base de
données, les mots de passe des utilisateurs restent sécurisés, car il est extrêmement difficile de
retrouver le mot de passe d'origine à partir de sa valeur de hachage.

3.5.4 Contrôle d’accès

Dans notre plateforme, nous avons mis en place des contrôles qui vérifient le rôle de l'utilisateur
lors de sa connexion. Ainsi, si l'utilisateur est identifié en tant qu’administrateur, il aura accès à
toutes les fonctionnalités et parties de l’application. En revanche, si c'est un utilisateur final,
certaines parties restreintes de l’application lui seront invisibles. Cela permet de différencier les
privilèges d'accès en fonction du rôle de l'utilisateur, assurant ainsi une gestion appropriée des
permissions. Les administrateurs bénéficient d'un accès étendu pour effectuer des tâches
administratives, tandis que les utilisateurs ordinaires ont un accès limité aux fonctionnalités qui
leur sont appropriées. Cette mesure de sécurité garantit que chaque utilisateur ne voit que les
informations et les fonctionnalités qui lui sont nécessaires, renforçant ainsi la confidentialité et
la sécurité du système.

3.5.5 Confirmation de suppression

Dans notre système, nous avons mis en place une mesure de sécurité qui concerne
l'administrateur du système lorsqu'il effectue des actions telles que la modification ou la
suppression d'un événement. Pour prévenir toute suppression accidentelle, une confirmation est
demandée avant de procéder à l'action. Cette mesure vise à éviter les erreurs de manipulation,
notamment si l'administrateur clique par inadvertance sur un bouton de suppression. En
demandant une confirmation supplémentaire, l'administrateur a l'opportunité de revoir son
choix avant de valider définitivement l'action de suppression d'un événement. Cela permet de
réduire les risques de perte de données ou de suppression accidentelle d'informations
importantes. En intégrant cette mesure de sécurité, nous veillons à ce que les modifications et
suppressions d'événements soient effectuées de manière plus réfléchie et contrôlée.

46
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

3.6 Discussion
Au regard des résultats obtenus nous pouvons affirmer que nos différents objectifs visés sont
atteints. Au terme de notre, travail, nous avons développé une application LMS dédiée à
l’apprentissage en ligne. Cette application est conçue pour être extensible, ce qui signifie que
qu’elle pourra évoluer et s’enrichir de nouvelles fonctionnalités sans nécessiter de
modifications majeures sur la modélisation mise en place. L’application est sécurisée grâce aux
atouts qu’offre le protocole HTTPS. Cependant dans la pratique, notre application présente
quelques insuffisances :

• Le téléchargement des certificats ne fonctionne pas encore correctement. Nous devons


encore résoudre les problèmes liés à la génération et à la distribution des certificats aux
utilisateurs ;
• Les tests d’intégration ne sont pas encore correctement effectués, seulement les tests
unitaires lors du développement.

Conclusion
Dans ce chapitre a été exposé le fruit de notre travail. Les résultats obtenus à l’issue de la phase
de développement ont été présentés sous forme de capture d’écran et un rapport des
insuffisances a également été présenté. Nous formulerons des perspectives sur la base de ces
limites pour améliorer notre solution.

47
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Conclusion générale
Notre projet LMS représente une avancée significative dans le domaine de l'éducation en ligne,
visant à offrir une plateforme flexible et efficace pour la gestion des apprentissages. Il a exigé
un haut degré d'adaptabilité et d'organisation, permettant de répondre aux besoins croissants en
matière de formation à distance de manière économique et sécurisée. La réalisation de ce projet
a été une opportunité précieuse pour mettre en pratique les connaissances théoriques acquises
au cours de notre formation académique.

En plus de consolider nos compétences techniques, ce projet nous a permis de nous familiariser
avec les exigences concrètes du milieu professionnel, notamment la gestion de projet, la
collaboration en équipe, l’assiduité, la discipline, la rigueur dans le travail et la ponctualité.
Nous avons conçu une plateforme LMS robuste, capable de fournir des cours de manière
interactive et adaptable aux besoins des apprenants.

Pour l'avenir de notre application, plusieurs améliorations sont envisagées :

• Intégration d'un système de gestion avancé des utilisateurs et des cours pour une
personnalisation accrue.
• Développement de fonctionnalités de suivi et d'évaluation des performances des
apprenants pour optimiser l'apprentissage.
• Intégration de technologies émergentes comme l'intelligence artificielle pour enrichir
l'expérience d'apprentissage.
• Amélioration de l'interface utilisateur pour une navigation intuitive et conviviale.

En effet, nous prévoyons également d'effectuer une évaluation continue des besoins des
utilisateurs afin d'adapter et d'améliorer constamment notre plateforme, assurant ainsi sa
pertinence et son efficacité dans le paysage dynamique de l'éducation numérique.

48
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Bibliographie
[1] S. Ermine A. DAMENOU T. Cours de Méthodologie de Rédaction de Mémoire. 2023.

[2] Mathieu NEBRA. Apprenez à programmer avec JavaScript. 2024.

[3] Mathieu NEBRA Débutez avec React 2024.

[4] Mémoire consultés :

• Aaron BESSAN & NOUTEHOUE David. IUT-UP. CONCEPTION ET


RÉALISATION D’UN SITE WEB DYNAMIQUE AU PROFIT DE LA
BIBLIOTHÈQUE CENTRALE DE L’UNIVERSITÉ DE PARAKOU. 2023.
• Luthe M. HOUNGBEMEY. IFRI-UAC. Mise en œuvre d’un système d’autoguidage
pour les malvoyants. 2021.
• Adio B. A. Waris SAÏZONOU. IFRI-UAC. Signature électronique et vérification de
document sur blockchain. 2021.

[5] Ambient IT. Formation Nextjs 14 2024.

[6] FULLSTACK.io. 30-DAYS OF REACT. 2024

49
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Webographie
[1] LMS définition, https://fr.wikipedia.org/wiki/Learning_management_system, consulté le 20
juin 2024.

[2] CoursUML2.pdf, http://remy-manu.no-ip.biz/UML/Cours/coursUML2.pdf, consulté le 20


juin 2024.

[3] MongoDB Wikipédia, https://fr.wikipedia.org/wiki/MongoDB, consulté le 13 juin 2024.

[4] React Wikipédia, https://fr.wikipedia.org/wiki/React, consulté le 13 juin 2024.

[5] Documentation Stripe, https://docs.stripe.com/, consulté le 18 juin 2024.

[6] Documentation Mux, https://docs.mux.com/, consulté le 15 juin 2024.

[7] Documentation Next.js, https://nextjs.org/docs, consulté le 14 juin 2024.

[8] GitHub, Documentation sur Nextjs, https://github.com/vercel/next.js/discussions/35643,


consulté le 24 juin 2024.

[9] Intégration stripe, https://github.com/stripe/stripe-node, consulté le 24 juin 2024.

[10] Utilisation de BCrypt, https://github.com/kelektiv/node.bcrypt.js, consulté le 24 juin 2024.

50
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Tables des matières


AVERTISSEMENT ..................................................................................................................... i

DEDICACE ................................................................................................................................ ii

REMERCIEMENTS ................................................................................................................. iii

Résumé ...................................................................................................................................... iv

Sigles et Acronymes ................................................................................................................... v

Glossaire .................................................................................................................................... vi

Liste des tableaux ..................................................................................................................... vii

Liste des figures ...................................................................................................................... viii

Introduction générale.................................................................................................................. 1

1. Contexte et justification ...................................................................................................... 1

2. Problématique ..................................................................................................................... 1

3. Objectifs de l’étude ............................................................................................................. 2

3.1 Objectif général ............................................................................................. 2

3.2 Objectifs spécifiques...................................................................................... 2

4. Organisation du mémoire ................................................................................................... 3

CHAPITRE 1 : CADRE INSTITUTIONNEL ........................................................................... 4

Introduction ............................................................................................................................ 4

1.1 Présentation de la Structure d’accueil .............................................................................. 4

1.1.1 Historique………………………………………………………………4
1.1.2 Structure Organisationnelle…………………………………………….5
1.1.3 Mission, Vision et Activités……………………………………………7
1.1.3.1 Mission…………………………………………………………7
1.1.3.2 Vision…………………………………………………………..7
1.1.3.3 Activités………………………………………………………..8
1.1.4 Organigramme fonctionnel de Simple IT……………………….……10
1.2 Déroulement du stage .................................................................................................... 10

1.2.1 Travaux effectués…………………………………………………….….10


1.2.2 Les difficultés rencontrées et suggestions………………………………12
Conclusion ............................................................................................................................ 14
51
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

CHAPITRE 2 : CONCEPTION ET CHOIX TECHNIQUES ................................................. 15

Introduction .......................................................................................................................... 15

2.1 Conception ...................................................................................................................... 15

2.2 Modélisation ................................................................................................................... 15

2.2.1 Diagramme des cas d’utilisation du système……………………………………15


2.2.1.1 Explication du diagramme de cas d’utilisation………………………..16
2.2.2 Le diagramme de classe du système…………………………………………….17
2.2.2.1 Présentation des règles de gestion de l’application……………………18
2.2.3 Le diagramme de séquence……………………………………………………...19
2.2.4 Description textuelle des cas d’utilisation……………………………………….22
2.2.4.1 Description textuelle du cas d’utilisation "Créer un compte"…………22
2.2.4.2 Description textuelle du cas d’utilisation "Gérer cours"……………….23
2.3 Choix techniques de la solution ...................................................................................... 23

2.3.1 La méthodologie du projet……………………………...……………………….24


2.3.1.1 La méthodologie Gantt…………………………..…………………….24
2.3.2 Notre Choix pour notre système…………………………………………………24
2.3.3 Outils utilisés……………………………………………………………………25
2.3.3.1 Editeur de code : Visual Studio Code…………………………………25
2.3.3.2 Framework frontend : React JS……………………………………….25
2.3.3.3 Framework : Next.js……………………….…………………….……28
2.3.3.4 Tailwind CSS……………………………..…………………….….….29
2.3.3.5 Mux……………………….……………………………………….…..30
2.3.3.6 Prisma…………………………………….…………………………...30
2.3.3.7 Langage de programmation TypeScript……………………………….31
2.3.3.8 Nodejs…………………………..……………………………………..31
2.3.3.9 Visual Paradigm………………………………..……………………...32
Conclusion ............................................................................................................................ 31

CHAPITRE 3 : Résultats et Discussion ................................................................................... 32

Introduction .......................................................................................................................... 32

52
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

3.1 Présentation de l’application LearnSync360 (Utilisateur final) ..................................... 32

3.1.1 Inscription……………………………………………………………………….33
3.1.2 Tableau de bord………………………………………………………………….34
3.1.3 Parcourir………………………………………………………………………...35
3.1.4 Certification……………………………………………………………………..35
3.1.5 Foires aux questions…………………………………………………………….36
3.1.6 Newsletter……………………………………………………………………….37
3.1.7 Problèmes……………………………………………………………………….37
3.1.8 Cours verrouillé…………………………………………………………………38
3.1.9 Paiement………………………………………………………………………...39
3.2 Présentation de l’application LearnSync360 (Administrateur) ...................................... 39

3.2.1 Espace Enseignant………………………………………………………………40


3.2.2 Création de Cours………………………………………………………………..41
3.2.3 Création de Chapitre…………………………………………………………….41
3.2.3 Donnés Analytiques……………………………………………………………..42
3.3 Présentation de l’application LearnSync360 sous format mobile .................................. 42

3.3.1 Parcourir………………………………………………………………………...44
3.4 Les fonctions importantes du backend de l’application ................................................. 44

3.5 Mesure de sécurité .......................................................................................................... 45

3.5.1 Confidentialité…………………………………………………………………..46
3.5.2 Protection des données via HTTPS……………………………………………...46
3.5.3 Hachage des mots de passe………………………………………………………47
3.5.4 Contrôle d’accès………………………………………………………………...47
3.5.5 Confirmation de suppression……………………………………………………47
3.6 Discussion ....................................................................................................................... 47

Conclusion ................................................................................................................................ 47

Conclusion générale ................................................................................................................. 48

Bibliographie………………………………………………………………………………….49

Webographie………………………………………………………………………………….50

53
Conception et développement d’une application de gestion d’apprentissage en ligne : LMS

Table des matières…………………………………...………………………………………..51

54

Vous aimerez peut-être aussi

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy