Checkpoint: Implémentation du QR code dédié pour l'émargement formateur avec signature tactile

- Création de la page /emargement-formateur/:token avec formulaire simplifié
- Procédure backend presences.validerFormateur dédiée
- Deux boutons QR code dans l'interface formateur (apprenants + formateur)
- Génération automatique des URL distinctes pour chaque type d'utilisateur
- Déploiement réussi sur le VPS de production
This commit is contained in:
Manus
2026-02-02 15:11:18 -05:00
parent f9983adada
commit 04001e7bcd
11 changed files with 1043 additions and 321 deletions

31
todo.md
View File

@@ -1523,3 +1523,34 @@
- [x] Corriger le bug de validation du formulaire email (ajout détection formateur/apprenant)
- [ ] Tester sur smartphone
- [x] Déployer la correction sur le VPS
## Bug : Chargement infini en mode formateur (émargement QR code)
- [x] Diagnostiquer pourquoi getSequenceByToken ne retourne pas de données
- [x] Vérifier que le token QR code est bien passé dans l'URL
- [x] Corriger le problème de récupération des données de séquence
- [ ] Tester sur smartphone
- [x] Déployer la correction sur le VPS (redémarrage PM2 complet effectué)
## Correction finale : Simplifier l'approche sans getSequenceByToken
- [x] Retirer getSequenceByToken et utiliser la logique existante de validation
- [x] Modifier EmargementScan.tsx pour détecter le formateur sans appel API supplémentaire
- [ ] Vider tous les caches (Nginx, navigateur)
- [ ] Tester le flux complet
- [x] Déployer sur le VPS
## Bug : Erreur de validation backend pour les formateurs
- [ ] Modifier le schéma de validation de `presences.valider` pour rendre `inscriptionId` et `dateFormationId` optionnels
- [ ] Adapter la logique backend pour gérer les formateurs sans ces champs
- [ ] Déployer la correction sur le VPS
## Solution finale : QR code dédié pour les formateurs
- [x] Créer la page `/emargement-formateur/:token` avec formulaire simplifié (email + période + signature)
- [x] Créer la procédure backend `presences.validerFormateur` dédiée
- [x] Ajouter un bouton "QR Code Formateur" dans FormateurEmargement.tsx
- [x] Créer la procédure `generateQRCodeFormateur` pour générer l'URL formateur
- [ ] Tester le flux complet
- [x] Déployer sur le VPS