Fonctionnalités Développées
Ce document présente les principales fonctionnalités développées dans le cadre du projet Moodle, organisées par catégorie d'utilisateur et domaine fonctionnel.
Authentification et Gestion des Utilisateurs
Authentification
Connexion sécurisée: Système d'authentification par email et mot de passe avec JWT (JSON Web Tokens)
Sessions persistantes: Conservation de la session utilisateur entre les visites
Déconnexion: Possibilité de se déconnecter manuellement
Redirection automatique: Redirection vers la page de connexion pour les utilisateurs non authentifiés

Gestion des Profils
Affichage du profil: Visualisation des informations personnelles (nom, prénom, département, promotion, etc.)
Modification du profil: Possibilité de mettre à jour les informations personnelles
Avatar personnalisé: Upload et affichage d'une photo de profil
Biographie: Ajout d'une description personnelle

Tableau de Bord
Vue d'ensemble personnalisée: Affichage adapté selon le rôle de l'utilisateur (étudiant, enseignant, administrateur)
Cours récents: Affichage des 3 derniers cours consultés avec date de dernier accès
Notifications: Affichage des notifications récentes et non lues
Navigation rapide: Accès direct aux principales fonctionnalités

Gestion des Cours
Consultation des Cours
Liste des cours: Affichage de tous les cours auxquels l'utilisateur est inscrit
Détail d'un cours: Accès à la page détaillée d'un cours avec son contenu

Contenu des Cours
Organisation par catégories: Contenu structuré en sections thématiques
Types de contenu variés: Support pour différents types de contenu (texte, PDF, images, etc.)
Compétences associées: Affichage des compétences développées dans le cours
Participants: Liste des étudiants et enseignants inscrits au cours

Gestion des Devoirs
Liste des devoirs: Affichage des devoirs à rendre avec leurs échéances
Soumission de devoirs: Interface pour soumettre un devoir (texte ou fichier)
Notation: Système de notation des devoirs par les enseignants
Feedback: Possibilité pour les enseignants de laisser des commentaires

Forums de Discussion
Forums par cours: Espace de discussion dédié à chaque cours
Forum général: Espace de discussion accessible à tous les utilisateurs
Création de sujets: Possibilité de créer de nouveaux sujets de discussion
Réponses et commentaires: Système de réponses imbriquées
Notifications: Alertes lors de nouvelles réponses à ses messages

Système de Notifications
Notifications: Alertes pour les événements importants
Centre de notifications: Interface centralisée pour gérer les notifications
Marquage comme lu: Possibilité de marquer les notifications comme lues
Ce sont les logs que nous avons transformés en notifications mais qui existent toujours sous forme de logs dans la base de données.

Fonctionnalités Administratives
Gestion des Utilisateurs
Liste des utilisateurs: Affichage de tous les utilisateurs de la plateforme
Création d'utilisateurs: Ajout de nouveaux utilisateurs (étudiants, enseignants, administrateurs)
Modification des profils: Édition des informations utilisateur
Suppression de comptes: Possibilité de supprimer des comptes utilisateur

Gestion des Cours
Création de cours: Interface pour créer de nouveaux cours
Modification de cours: Édition des informations et du contenu des cours
Gestion des inscriptions: Attribution des cours aux étudiants et enseignants
Suppression de cours: Possibilité de supprimer des cours

Enregistrement des Étudiants aux Cours
Inscription manuelle: Ajout d'étudiants à un cours spécifique
Gestion des inscriptions: Visualisation des étudiants inscrits à chaque cours
Désinscription: Possibilité de retirer un étudiant d'un cours

Fonctionnalités Transverses
Gestion de Fichiers
Upload de fichiers: Possibilité d'uploader différents types de fichiers (PDF, images, archives)
Téléchargement: Accès aux fichiers partagés dans les cours
Prévisualisation: Affichage intégré de certains types de fichiers (PDF, images)
Métadonnées: Gestion des informations associées aux fichiers