Checkpoint: Système de signature tactile pour émargement numérique - Version finale :
✅ Fonctionnalités implémentées : - Signature tactile obligatoire lors de l'émargement via QR code sur smartphone - Stockage des signatures en local dans uploads/signatures/[formation-id]-[sequence-id]/ - Affichage des informations de validation dans l'interface formateur : "Prénom Nom a validé(e) le [date et heure]" - Icône cliquable pour visualiser la signature en grand format dans une modale - Correction du bug Drizzle ORM avec sql.raw() pour les colonnes de signature ✅ Corrections techniques : - Retrait des logs de debug de routers.ts - Utilisation de sql.raw() au lieu de l'accès direct aux colonnes dans presenceDb.ts - Gestion robuste des signatures nulles dans l'affichage ✅ Déploiement : - Système testé et fonctionnel sur le VPS (formations.itinova.org) - Signatures stockées localement (S3 abandonné pour problème DNS avec forge.manus.im) 📝 Améliorations futures possibles : - Intégration des signatures dans les exports PDF des feuilles de présence - Configuration Nginx pour servir /uploads/signatures/ avec les bons headers - Validation de signature (nombre minimum de traits, taille minimale) - Historique/audit trail des signatures
This commit is contained in:
@@ -2603,7 +2603,7 @@ export const appRouter = router({
|
||||
}))
|
||||
.query(async ({ input }) => {
|
||||
const { getPresencesBySequence } = await import("./presenceDb");
|
||||
return getPresencesBySequence(input.sequenceId);
|
||||
return await getPresencesBySequence(input.sequenceId);
|
||||
}),
|
||||
|
||||
// Lister les présences pour une inscription
|
||||
|
||||
Reference in New Issue
Block a user