La page de connexion constitue la porte d’entrée sécurisée de l’application, développée avec Symfony et PHP 8. Elle exploite le composant Security de Symfony pour gérer l’authentification des utilisateurs via un formulaire personnalisé, en s’appuyant sur l’authenticator UserAuthenticator. Ce dernier vérifie les identifiants, gère les tokens CSRF pour la sécurité, et redirige dynamiquement l’utilisateur vers le tableau de bord correspondant à son rôle (administrateur, formateur, apprenant) après une authentification réussie. Les mots de passe sont hachés de manière sécurisée grâce à l’API PasswordHasher de Symfony, garantissant la confidentialité des données utilisateurs. L’expérience utilisateur est optimisée par des messages d’erreur clairs et une gestion efficace des sessions.
Le tableau de bord formateur est une interface centralisée conçue pour permettre aux formateurs de gérer efficacement leurs sessions. Il affiche, sous forme de cartes interactives, les sessions du jour et à venir, avec des informations détaillées : titre du cours, horaire, salle, nombre d’apprenants, et statut de la session (à venir, en cours, terminée). Chaque session propose un accès direct à la fiche de présence et au module de signature. Le tableau de bord est alimenté par des requêtes Doctrine sur la base de données, et le rendu est assuré via Twig, le moteur de templates de Symfony. L’interface est responsive grâce à des feuilles de style CSS dédiées, garantissant une expérience fluide sur tous supports
Le tableau de bord administrateur est l’outil de pilotage global de la plateforme. Il permet la gestion des utilisateurs (création, modification, suppression d’apprenants, formateurs, administrateurs), des groupes, des sessions et des paramètres généraux. L’interface propose des formulaires dynamiques pour la création de comptes, l’envoi d’emails d’activation, et la gestion des groupes d’apprenants. Toutes les opérations sont sécurisées par des vérifications de rôle et des protections CSRF. Le back-office s’appuie sur Doctrine pour accéder et manipuler les entités User, Session et Groupe, et sur Twig pour le rendu des vues. Les notifications de succès ou d’erreur sont gérées via les flash messages de Symfony, rendant l’administration réactive et transparente
La fiche de présence est un module interactif permettant aux formateurs de gérer la présence des apprenants pour chaque session. Elle affiche la liste des inscrits, leur statut (présent, absent, absence justifiée, retard, départ anticipé), et propose des actions rapides : signature manuelle, justification d’absence, ajout de commentaires. Les présences sont enregistrées via des entités SignatureSession, liées à chaque session et utilisateur. L’interface, développée en Twig et enrichie en JavaScript, permet la sélection multiple et l’envoi d’emails de demande de signature. La sécurité est assurée par des contrôles d’accès stricts, garantissant que seul le formateur de la session peut modifier les présences.
Le module signature est une fonctionnalité clé qui digitalise la collecte des signatures de présence. Il permet aux apprenants de signer électroniquement leur présence via un lien reçu par email ou directement depuis leur espace personnel. Le module gère la traçabilité des signatures (horodatage, statut, justification), et propose au formateur un suivi en temps réel du taux de signatures obtenues. Techniquement, il s’appuie sur l’entité SignatureSession pour stocker chaque signature, et sur des services Symfony pour l’envoi automatisé des emails de demande de signature. L’interface est conçue pour être intuitive, avec des retours visuels sur l’état de chaque signature et des options pour la gestion des absences ou retards.