b6ca46f953
CI fix : corrections pour CI production
Manus CI
2026-08-21 11:48:10 +00:00
d580c9a107
CI : workflow validate.yml, manifeste ci.required:true, garde VITEST, tests isolés
Manus CI
2026-08-21 11:10:29 +00:00
62e65ed32a
chore: versionner le manifeste de déploiement
Manus
2026-08-18 09:42:16 +02:00
81d1871d40
Checkpoint: Fix: ajout timeZone Europe/Paris dans tous les toLocaleDateString avec heure dans emailService.ts et exportService.ts — corrige l'affichage 7h00 au lieu de 9h00 dans les mails de rappel
Manus
2026-07-15 10:30:59 +00:00
f3170d5f50
Checkpoint: V1.28 - Déploiement PROD de la fonctionnalité "Gestion des plans de formations" sur 180.149.196.138. Image Docker v2 construite et déployée. Règle iptables ajoutée pour autoriser le réseau Docker à accéder à MariaDB. Todo.md mis à jour.
Manus
2026-07-11 03:50:37 +00:00
61ba1a8d1d
Checkpoint: Fonctionnalité complète "Gestion des plans de formations" : - 3 nouvelles tables DB : catalogueFormation, planFormation, planFormationItem - Backend tRPC : routers catalogue et planFormation avec CRUD complet, import CSV/Excel, suggestion automatique - Frontend : pages PlanFormation, PlanFormationDetail, CatalogueFormation + menu sidebar - Déployé sur le serveur de recette (TEST) : https://formations.recette.santinova-soft.org - Portail applicatif mis à jour avec la carte de l'application
Manus
2026-05-27 17:31:02 +00:00
6952ae6907
Checkpoint: Implémentation complète de la fonctionnalité "Gestion des plans de formations" : - Schéma DB : 3 nouvelles tables (catalogueFormation, planFormation, planFormationItem) - Backend tRPC : routers catalogue et planFormation (CRUD, import bulk CSV, suggestions, toggle validée Itinova) - Frontend : page Plans de formation (liste par établissement/année, CRUD, soumission/validation) - Frontend : page Détail plan (items, liaison catalogue, suggestions automatiques) - Frontend : page Catalogue de formation (liste, filtres thème/Itinova/OPCO, import CSV, badges) - Menu sidebar : nouvelle section "Plans de formations" avec sous-menus - Tests unitaires : 13 tests (scoring suggestions, validation données, parsing CSV)
Manus
2026-05-27 16:39:18 +00:00
54159fd872
Checkpoint: V1.27 - Optimisation taille PDFs feuille de présence : compression pngjs (résolution 500x160px), réduction de ~40 Mo à < 1 Mo par fichier
Manus
2026-03-04 09:40:42 -05:00
4063e298b9
Checkpoint: V1.26 - Feuille de présence : un PDF par jour (A4 portrait, colonnes sig. matin + après-midi sur même ligne, zone signature formateur). Correction des bugs d'upload attestations et de plantage PDF.
Manus
2026-03-02 04:39:32 -05:00
429d6cf264
Checkpoint: V1.23 - Amélioration boîte de dialogue d'ajout manuel d'apprenant : tri alphabétique (nom puis prénom) et champ de recherche en temps réel sur nom/prénom/email
Manus
2026-02-26 12:52:34 -05:00
77e5544a90
Checkpoint: Correction du bug d'importation des invitations Outlook (ICS) - ajout de l'encodage UTF-8 explicite et des en-têtes corrects pour les pièces jointes calendrier
Manus
2026-02-26 09:42:34 -05:00
35eb0e78f8
Checkpoint: Implémentation du paramètre notificationsActives pour contrôler les notifications d'inscription et d'annulation aux formateurs. Le paramètre permet maintenant de désactiver les notifications formateur tout en gardant les rappels actifs. Déployé sur TEST.
Manus
2026-02-26 09:00:42 -05:00
bf12b9b680
Checkpoint: V1.20 - Amélioration de l'envoi d'attestations par groupe. Le bouton d'envoi par séquence est maintenant toujours visible dès qu'il y a des attestations disponibles, permettant d'envoyer les nouvelles attestations ou de renvoyer celles déjà envoyées. Message de confirmation adapté selon la situation.
Manus
2026-02-26 07:53:53 -05:00
198656947f
Checkpoint: V1.19 - Ajout de l'affichage de l'URL complète sous le QR code d'émargement apprenant. L'URL est maintenant visible et cliquable, permettant de tester l'émargement directement depuis un navigateur web sans avoir besoin de scanner le QR code.
Manus
2026-02-26 03:30:45 -05:00
844118251b
Checkpoint: V1.18 - Correction définitive et robuste de l'erreur "(void 0) is not a function" lors de la suppression de dates. Utilisation de useCallback pour stabiliser la référence de la fonction removeDate et éviter les problèmes de closure React. Préservation des signatures lors de l'ajout de dates grâce au champ id dans le schéma Zod.
Manus
2026-02-11 09:16:33 -05:00
33abf134e4
Checkpoint: V1.17 PROD - Correction définitive du bug de perte de signatures déployée sur production. Le schéma Zod de sequences.update inclut maintenant le champ id optionnel, permettant la mise à jour intelligente des dates sans suppression des signatures existantes.
Manus
2026-02-11 08:36:51 -05:00
0f0695a4c7
Checkpoint: V1.17 - Correction DÉFINITIVE du bug de perte de signatures : ajout du champ id dans le schéma Zod de sequences.update. Le backend peut maintenant recevoir et traiter les IDs des dates existantes envoyés par le frontend.
Manus
2026-02-11 08:32:22 -05:00
69fd3f01cc
Checkpoint: V1.16 - Correction définitive perte de signatures lors de l'ajout de dates dans une séquence. Le frontend envoie maintenant les IDs des dates existantes pour permettre au backend de les mettre à jour au lieu de les supprimer/recréer.
Manus
2026-02-11 08:24:34 -05:00
6761044f4a
Checkpoint: Correction critique : préservation des signatures lors de l'ajout/modification de dates dans une séquence - Remplacement de la logique de suppression/recréation par une mise à jour intelligente
Manus
2026-02-11 08:07:04 -05:00
2b01c4ba6c
Checkpoint: Correction définitive du stockage local pour les signatures formateur - Remplacement de storagePut() par fs.writeFileSync() pour éviter les timeouts liés à l'API Manus non configurée sur le VPS
Manus
2026-02-10 11:46:00 -05:00
80c5797321
Checkpoint: Correction du bug "Formateur introuvable avec cet email"
Manus
2026-02-10 10:35:03 -05:00
fcb0503488
Checkpoint: Correction de deux bugs critiques de l'émargement formateur
Manus
2026-02-10 10:23:55 -05:00
6e27e3909e
Checkpoint: Correction du bug "inscription requise pour un apprenant" lors de l'émargement formateur
Manus
2026-02-10 10:04:15 -05:00
62bf5f3a99
Checkpoint: Ajout d'un cadre bleu (border-2 border-blue-500) autour des images de signature des apprenants et formateurs dans la page d'émargement. L'effet hover passe au bleu foncé (border-blue-700) pour une meilleure interactivité visuelle.
Manus
2026-02-10 09:54:35 -05:00
023a047ee0
Checkpoint: Affichage des images de signature (matin et après-midi) directement dans la page d'émargement pour les apprenants et formateurs. Les images s'affichent en miniature (h-8 w-16) à côté des informations de présence et sont cliquables pour agrandissement.
Manus
2026-02-10 05:09:37 -05:00
672494ccc0
Checkpoint: Intégration des signatures formateurs dans la feuille de présence PDF - Les signatures tactiles des formateurs (matin et après-midi) sont maintenant affichées dans la section dédiée de la feuille de présence au lieu des lignes vides
Manus
2026-02-09 11:53:03 -05:00
5d8054b4b8
Checkpoint: Modification du format d'affichage des signatures formateurs
Manus
2026-02-09 11:43:12 -05:00
04d8faf919
Checkpoint: Amélioration de l'ergonomie de l'encart des signatures formateurs
Manus
2026-02-09 11:10:56 -05:00
37924ad4fd
Checkpoint: Ajout d'un encart dédié pour afficher les signatures des formateurs sur la page d'émargement numérique
Manus
2026-02-09 11:04:09 -05:00
a40e0bf6cd
Checkpoint: Checkpoint: Restauration de la procédure sequences.getDatesByFormateurToken et de la fonction getSequenceByFormateurToken dans db.ts. Le système d'émargement formateur fonctionne maintenant correctement avec chargement des dates. Prochaine étape : corriger l'affichage du message "[ERREUR MUTATION]" pour les doublons.
Manus
2026-02-06 09:43:43 -05:00
98c3b21ec1
Checkpoint: Implémentation complète de la fonctionnalité QR code formateur : - Procédure generateQRCodeFormateur dans routers.ts - Fonction validerPresenceFormateur dans presenceDb.ts - Bouton "QR Code Formateur" dans FormateurEmargement.tsx - Page EmargementFormateurScan.tsx pour le scan du QR code - Route /emargement-formateur/{token} - Gestion automatique de la date du jour - Stockage de la signature sur S3 - Champ qrCodeFormateurToken dans le schéma sequences
Manus
2026-02-03 11:04:37 -05:00
04001e7bcd
Checkpoint: Implémentation du QR code dédié pour l'émargement formateur avec signature tactile
Manus
2026-02-02 15:11:18 -05:00
f9983adada
Checkpoint: Correction du bug d'émargement formateur bloqué sur la saisie d'email
Manus
2026-02-02 14:18:46 -05:00
e8410230a9
Checkpoint: Implémentation de l'émargement formateur par QR code avec signature tactile
Manus
2026-02-02 13:24:08 -05:00
eebcb64848
Checkpoint: Session d'améliorations multiples : - Amélioration du feedback visuel lors du chargement des attestations (affichage immédiat du nom de fichier) - Ergonomie unifiée pour tous les uploads de fichiers (composant FileUpload) - Réorganisation de la modal des rappels (largeur optimisée, disposition horizontale) - Modification de la feuille de présence (signatures formateur matin/après-midi sans date) - Permissions de gestion des attestations pour formateurs et super-formateurs - Rafraîchissement automatique de la page d'émargement numérique (30 secondes) - Indicateur visuel de rafraîchissement "Mis à jour il y a X secondes" - Vérification empêchant l'émargement avant la date de formation
Manus
2026-02-02 10:59:38 -05:00
b74e575d11
Checkpoint: Retrait des compteurs dynamiques de taux de présence et ajout d'une vérification backend empêchant l'émargement avant la date de formation concernée
Manus
2026-02-02 10:27:19 -05:00
68df39a072
Checkpoint: Ajout d'un indicateur visuel de rafraîchissement (badge "Mis à jour il y a X secondes" avec icône animée) et de statistiques en temps réel du taux de présence par période (matin/après-midi) sur la page d'émargement numérique
Manus
2026-02-02 10:17:14 -05:00
0163b46e5d
Checkpoint: Ajout d'un rafraîchissement automatique toutes les 30 secondes sur la page d'émargement numérique pour mettre à jour automatiquement la liste des inscrits et des présences sans recharger manuellement la page
Manus
2026-02-02 10:09:48 -05:00
42d57c6e7c
Checkpoint: Ajout des permissions de gestion des attestations pour les formateurs et super-formateurs : création de formateurProcedure, fonction canAccessSequence pour vérifier les accès par séquence, modification des procédures uploadDocument, deleteDocument, sendAttestation et sendAllAttestations avec vérifications de permissions
Manus
2026-02-02 09:53:28 -05:00
fadadf0d7d
Checkpoint: Retrait de la ligne de date en dessous des signatures du formateur dans la feuille de présence, ne conservant que les deux lignes de signature (Matin et Après-midi)
Manus
2026-02-02 09:41:57 -05:00
b1a140449a
Checkpoint: Modification de la feuille de présence : ajout de deux colonnes de signature pour le formateur (Matin et Après-midi), disposition horizontale optimisée, date unique en dessous des signatures
Manus
2026-02-02 09:38:48 -05:00
fec271c19a
Checkpoint: Réorganisation complète de la modal des rappels : largeur optimisée (50vw), labels et champs sur une seule ligne horizontale pour Configuration générale et Timing d'envoi, pièces jointes compactes avec icône et textes alignés, 4 zones colorées distinctes, espacement optimisé pour écran 24 pouces
Manus
2026-02-02 08:00:46 -05:00
014c2cd68b
Checkpoint: Unification de l'ergonomie de chargement de fichiers dans toute l'application : le composant FileUpload utilise maintenant la même interface élégante que la boîte de dialogue d'attestations. Affichage immédiat du nom de fichier, animation de chargement avec barre de progression, feedback visuel cohérent (gris → bleu → vert). Cette amélioration s'applique automatiquement à toutes les pièces jointes des rappels (2 par rappel). Déployé sur le VPS de production.
Manus
2026-02-02 06:13:58 -05:00
a77123e07f
Checkpoint: Solution finale pour le feedback instantané lors de l'upload d'attestations : affichage immédiat du nom du fichier sélectionné dans la boîte de dialogue dès la sélection. Le nom reste visible pendant toute la durée de l'upload avec la barre de progression. Cette approche simple et fiable résout définitivement le problème de latence en donnant un feedback visuel instantané à l'utilisateur. Déployé sur le VPS de production.
Manus
2026-01-30 09:54:14 -05:00
e68949baeb
Checkpoint: Résolution du problème de latence d'affichage avec double requestAnimationFrame : cette technique garantit que le navigateur peint l'animation à l'écran avant de bloquer sur le fetch. Le premier requestAnimationFrame permet à React de mettre à jour l'état, le second force le navigateur à afficher visuellement l'animation avant de démarrer l'upload. Déployé sur le VPS de production.
Manus
2026-01-30 09:37:18 -05:00
1bbbe842b5
Checkpoint: Résolution définitive de la latence d'affichage du message d'upload : utilisation de flushSync() de React DOM pour forcer un rendu synchrone et immédiat de l'interface avant le traitement du fichier. L'animation "Upload en cours..." s'affiche maintenant instantanément dès la sélection du fichier, sans aucune latence. Déployé sur le VPS de production.
Manus
2026-01-30 09:09:14 -05:00
f9401dcb72
Checkpoint: Correction définitive de la latence d'affichage du message d'upload : ajout d'un délai de 50ms après setUploading(true) pour permettre à React de rafraîchir l'interface avant de démarrer le traitement du fichier. L'animation "Upload en cours..." s'affiche maintenant instantanément dès la sélection du fichier. Déployé sur le VPS de production.
Manus
2026-01-30 08:57:56 -05:00
41af13c47e
Checkpoint: Amélioration du feedback visuel pendant le chargement du fichier d'attestation : l'indicateur de progression s'affiche maintenant immédiatement dès la sélection du fichier, sans délai d'attente. Déployé sur le VPS de production.
Manus
2026-01-30 08:50:31 -05:00
c102572403
Checkpoint: Corrections multiples sur les attestations : bug de modal bloquée corrigé, remplacement des variables dans l'email d'attestation fonctionnel, et type attestation ajouté au schéma de validation
Manus
2026-01-30 08:46:39 -05:00
8bfc851fe8
Checkpoint: Corrections multiples : 1) Bug de statut d'attestation résolu - le statut passe maintenant à "Aucune attestation" après suppression. 2) Erreur de validation du template attestation corrigée - ajout de "attestation" dans l'enum des types de templates autorisés. 3) Interface de chargement d'attestations modernisée. Déployé sur le VPS de production.
Manus
2026-01-30 08:26:24 -05:00
15728cda48
Checkpoint: Correction du bug où le statut restait "envoyé" après la suppression d'une attestation. Maintenant, lors de la suppression, les champs emailEnvoye et dateEnvoiEmail sont réinitialisés, faisant passer le statut à "Aucune attestation". Déployé sur le VPS de production.
Manus
2026-01-30 08:12:31 -05:00
7032fd890f
Checkpoint: Interface modernisée de chargement d'attestations avec design coloré (dégradés bleu-violet), icônes grandes et expressives, zone de drop stylisée, et meilleure hiérarchie visuelle. Déployé sur le VPS de production.
Manus
2026-01-30 08:04:36 -05:00
806366db01
Checkpoint: Correction de l'erreur SQL lors du chargement manuel d'attestations - modification de la requête dans gestionAttestationsDb.ts pour sélectionner uniquement les colonnes existantes au lieu de toutes les colonnes
Manus
2026-01-30 07:41:39 -05:00
53609e901e
Checkpoint: Ajout d'une colonne 'Mode d'envoi' dans l'historique des attestations pour distinguer les envois manuels des envois automatiques. Modifications: ajout du champ modeEnvoi dans la table historiqueAttestations, mise à jour du scheduler d'attestations, et ajout de la colonne dans l'interface utilisateur. Déployé sur le VPS de production.
Manus
2026-01-30 06:01:30 -05:00
dd581594b5
Checkpoint: Implémentation de l'envoi automatique des attestations : création d'un scheduler qui vérifie quotidiennement (à 10h00) les séquences terminées la veille et envoie automatiquement les attestations par email pour les formations ayant le mode d'envoi automatique activé (modeEnvoi='auto'). Le système utilise le template email personnalisable créé précédemment et enregistre les envois dans les logs de notifications pour éviter les doublons. Déployé et testé sur le VPS.
Manus
2026-01-30 04:37:31 -05:00
26a16327cf
Checkpoint: Correction et finalisation du template email attestation : ajout du type 'attestation' dans le frontend, création automatique du template au démarrage de l'application, déploiement réussi sur le VPS. Le template est maintenant visible et modifiable dans l'interface de gestion des templates.
Manus
2026-01-30 04:04:16 -05:00
493366fa10
Checkpoint: Ajout d'un template d'email personnalisable pour l'envoi des attestations de formation. Le template utilise des variables dynamiques ({{prenomApprenant}}, {{nomApprenant}}, {{nomFormation}}) et peut être modifié depuis l'interface de gestion des templates. Déployé sur le VPS avec migration SQL.
Manus
2026-01-29 11:58:20 -05:00
a221deb4f1
Checkpoint: Correction des permissions : les super formateurs n'ont plus accès à la section Configuration, uniquement à Gestion, Traçabilité et Analyses.
Manus
2026-01-29 11:41:13 -05:00
c16392900c
Checkpoint: Ajout du rôle super_formateur avec accès à toutes les formations et séquences. Migration SQL appliquée en local et sur le VPS de production.
Manus
2026-01-29 11:35:35 -05:00
1a8d598339
Checkpoint: Correction du bug d'envoi de la deuxième pièce jointe dans les emails de rappel. Les paramètres attachmentUrl2, attachmentFilename2 et attachmentMimeType2 ont été ajoutés dans la procédure d'envoi de test. Déployé et testé sur le VPS.
Manus
2026-01-28 12:32:05 -05:00
f0f3d83fae
Checkpoint: Correction de l'affichage des labels des pièces jointes qui apparaissaient en double. Ajout d'un prop label au composant FileUpload pour personnaliser le texte. Déployé sur le VPS.
Manus
2026-01-28 12:21:05 -05:00
86d3d437bd
Checkpoint: Évolution du système de rappels pour permettre jusqu'à 2 pièces jointes au lieu d'une seule. Migration SQL appliquée en local et sur le VPS de production. Les rappels existants sont préservés.
Manus
2026-01-28 10:13:32 -05:00
8c6dda473a
Checkpoint: Intégration complète des signatures tactiles (matin et après-midi) dans les feuilles de présence PDF. Correction du bug apres-midi vs apres_midi. Logs de debug retirés. Déployé sur VPS.
Manus
2026-01-28 09:44:13 -05:00
700e4956fc
Checkpoint: Correction du bug : signatures manquantes dans les feuilles de présence PDF
Manus
2026-01-28 06:14:11 -05:00
3029e797c9
Checkpoint: Déploiement VPS réussi - Intégration des signatures tactiles dans les feuilles de présence PDF
Manus
2026-01-28 05:54:40 -05:00
8f808980dc
Checkpoint: Intégration des signatures tactiles dans les feuilles de présence PDF :
Manus
2026-01-28 05:21:57 -05:00
a0141e3f71
Checkpoint: Système de signature tactile pour émargement numérique - Version finale :
Manus
2026-01-28 02:27:52 -05:00
6c48a8fae0
Checkpoint: Correction du bug d'affichage de l'icône de signature : - Ajout des champs signatureUrl, signatureS3Key et dateSigned dans getPresencesBySequence - L'icône de signature s'affiche maintenant correctement quand une signature existe
Manus
2026-01-27 07:48:51 -05:00
abca9956ff
Checkpoint: Correction de l'affichage des signatures dans l'émargement : - Format modifié : "Prénom Nom a validé(e) le date et heure" - Icône de signature agrandie (h-5 w-5) et plus visible avec hover bleu - Ajout d'un title "Voir la signature" sur l'icône - Espacement amélioré (ml-3)
Manus
2026-01-27 07:44:50 -05:00
feb708bb3e
Checkpoint: Affichage des informations de signature dans la fenêtre d'émargement numérique : - Ajout des champs signatureUrl, signatureS3Key et dateSigned dans getPresencesByInscription - Affichage du nom du signataire, date/heure de validation à côté de chaque puce matin/après-midi - Icône cliquable pour visualiser la signature en grand format - Modale Dialog pour afficher la signature manuscrite - Fonction getPresenceInfo pour récupérer les détails de présence - Interface moderne avec icône de stylo SVG pour les signatures
Manus
2026-01-27 07:38:59 -05:00
5356819ceb
Checkpoint: Modification du stockage des signatures d'émargement pour utiliser le système de fichiers local au lieu de S3 : - Remplacement de storagePut par fs.writeFileSync dans routers.ts - Structure de dossiers : uploads/signatures/[formation-id]-[sequence-id]/ - Noms de fichiers uniques avec crypto.randomBytes - URLs publiques relatives : /uploads/signatures/[formation-id]-[sequence-id]/[fichier].png - Correction de l'erreur "fetch failed" causée par l'inaccessibilité de forge.manus.im sur le VPS
Manus
2026-01-27 07:28:09 -05:00
1e915acd5b
Checkpoint: Implémentation de la signature manuscrite tactile pour l'émargement via QR code : - Intégration du composant SignaturePad dans EmargementScan.tsx - Ajout des champs de signature dans la table presences (signatureUrl, signatureS3Key, dateSigned) - Modification de la procédure presences.valider pour accepter et uploader la signature en S3 - Stockage automatique de l'URL et de la clé S3 dans la base de données - Correction des types nullables dans exportService.ts (codeEtablissement, fonction) - Les apprenants doivent maintenant signer avec le doigt sur l'écran avant de valider leur présence
Manus
2026-01-27 04:29:01 -05:00
b3b808145c
Checkpoint: Ajout d'une confirmation visuelle améliorée après émargement réussi : animations fluides, heure d'enregistrement précise et design moderne
Manus
2026-01-25 15:20:13 -05:00
61f0e81a9d
Checkpoint: Correction du problème d'émargement via QR code : ajout de la colonne commentaire manquante dans la table presences et correction de la requête SQL avec mysqlEnum
Manus
2026-01-25 15:13:26 -05:00
ab65ce6690
Checkpoint: Correction de l'erreur SQL lors de la validation de présence via QR code - retrait du .limit(1) qui causait un problème de paramètres avec mysqlEnum dans Drizzle ORM
Manus
2026-01-25 14:31:13 -05:00
935e6959ba
Checkpoint: Correction complète du bouton œil pour les formateurs - changement de adminProcedure à protectedProcedure pour apprenants.getById ET apprenants.getInscriptions
Manus
2026-01-25 12:59:59 -05:00
71c790e9b4
Checkpoint: Correction du bouton œil dans la page apprenants pour les formateurs - changement de adminProcedure à protectedProcedure pour apprenants.getInscriptions
Manus
2026-01-25 12:49:08 -05:00
590232be89
Checkpoint: Correction définitive de la page de gestion des attestations : - Affichage correct de la liste des apprenants par séquence - Date de début affichée dans l'en-tête de chaque séquence - Tri chronologique des séquences par date de début - Filtre fonctionnel : Toutes les séquences / Séquences terminées / Séquences à venir - Badge de statut visuel (Terminée en vert, À venir en orange) - Compteur d'envois par séquence - Bouton "Tout renvoyer" pour envoi groupé par séquence - Les données sont maintenant correctement récupérées et affichées
Manus
2026-01-25 11:44:14 -05:00
2ebc3dfa99
Checkpoint: Améliorations de la page de gestion des attestations : - Affichage de la date de début dans l'en-tête de chaque séquence - Tri chronologique des séquences par date de début - Filtre fonctionnel : Toutes les séquences / Séquences terminées / Séquences à venir - Badge de statut visuel (Terminée en vert, À venir en orange) - Compteur d'envois par séquence - Bouton "Tout renvoyer" pour envoi groupé par séquence - Correction robuste de l'affichage des apprenants
Manus
2026-01-25 11:29:16 -05:00
727a29fa63
Checkpoint: Correction de l'erreur SQL MIN() vide dans la récupération de la première date des séquences - remplacé par post-traitement JavaScript
Manus
2026-01-25 11:12:50 -05:00
b32487aa4d
Checkpoint: Améliorations de la gestion des attestations : - Affichage de la date de début dans l'en-tête de chaque séquence - Bouton d'envoi groupé par séquence - Filtre séquences terminées/à venir
Manus
2026-01-25 09:16:22 -05:00
8e20ac40dd
Checkpoint: Correction finale de l'affichage vide des apprenants dans la gestion des attestations. Problème résolu en aplatissant la structure de la requête Drizzle ORM (structure imbriquée non supportée) et en restructurant les résultats côté serveur.
Manus
2026-01-25 09:06:36 -05:00
f51e027a5c
Checkpoint: Correction de l'affichage vide des apprenants dans la gestion des attestations après le regroupement par séquence. Le problème venait de la référence à un champ premiereDate inexistant. Solution: utiliser l'ID de séquence pour le tri et le regroupement.
Manus
2026-01-25 09:03:13 -05:00
77a65cbfa2
Checkpoint: Ajout du tri chronologique des séquences dans la gestion des attestations: - Modification du backend pour inclure la première date de chaque séquence - Tri des séquences par ordre chronologique (première date en premier) - Les séquences sont maintenant affichées dans l'ordre temporel pour une meilleure organisation
Manus
2026-01-25 08:56:53 -05:00