Files
formation-manager-itinova/todo.md
Manus Sandbox bb0ec9e3b0 Checkpoint: Amélioration système de rappels - Historique et notifications d'échec
**Nouvelles fonctionnalités** :

1. **Historique des rappels envoyés**
   - Nouvelle table `logsRappels` pour tracer tous les emails de rappels
   - Enregistrement automatique de chaque envoi (succès ou échec)
   - Prévention des doublons : vérification avant envoi
   - Informations stockées : rappelId, sequenceId, apprenantId, email, type, statut, message d'erreur

2. **Notifications automatiques à l'administrateur**
   - Alerte par email en cas d'échec d'envoi de rappels
   - Détail des échecs : liste des emails et messages d'erreur
   - Résumé : nombre d'envois réussis vs échecs

3. **Procédure de test manuel** (backend uniquement)
   - Nouvelle procédure tRPC `rappels.testerRappel`
   - Permet de tester l'envoi d'un rappel J-7 ou J-1 pour une séquence
   - Envoie au premier apprenant inscrit uniquement

**Fichiers créés** :
- `server/rappelDb.ts` : Fonctions de gestion des logs de rappels
- `drizzle/schema.ts` : Ajout de la table `logsRappels`

**Fichiers modifiés** :
- `server/rappelScheduler.ts` : Intégration du logging et des notifications
- `server/routers.ts` : Ajout de la procédure `testerRappel`

**Bénéfices** :
-  Aucun doublon même en cas de redémarrage du serveur
-  Traçabilité complète de tous les rappels envoyés
-  Alertes automatiques en cas de problème d'envoi
-  Possibilité de tester les rappels avant envoi automatique
2025-12-08 03:01:50 -05:00

4.1 KiB

Gestion des Formations Manager Itinova - TODO

[... contenu existant conservé ...]

Questionnaires de satisfaction et évaluation des acquis

  • Créer le schéma de base de données (tables questionnaires, questions, réponses)
  • Développer les procédures backend tRPC pour la gestion des questionnaires
  • Créer l'interface d'administration des questionnaires
  • Créer l'interface publique de réponse aux questionnaires
  • Implémenter l'envoi automatique post-formation
  • Créer les tableaux de bord d'analyse avec graphiques (satisfaction par formation/formateur)
  • Implémenter les exports Excel/PDF des feedbacks
  • Tester le système complet (création, envoi, réponse, analyse)
  • Déployer sur le serveur VPS

Amélioration : Prévisualisation des questionnaires

  • Ajouter un bouton "Prévisualiser" dans la page d'édition de questionnaire
  • Créer un modal de prévisualisation avec le rendu exact du questionnaire

Exports et notifications pour les questionnaires

  • Créer les fonctions backend d'export Excel des résultats
  • Créer les fonctions backend d'export PDF des résultats
  • Ajouter les boutons d'export dans la page d'analyse
  • Implémenter le système de notifications pour les administrateurs
  • Envoyer une notification lors de chaque nouvelle réponse à un questionnaire

Tableau de bord de suivi des questionnaires

  • Créer les fonctions backend pour les statistiques par formation
  • Créer les fonctions backend pour l'évolution temporelle
  • Créer les fonctions backend pour la comparaison par formateur
  • Créer les procédures tRPC pour le tableau de bord
  • Créer la page AdminQuestionnaireSuivi avec graphiques
  • Ajouter le lien dans le menu de navigation
  • Tester toutes les fonctionnalités

Correction des erreurs SQL du tableau de bord de suivi

  • Corriger la requête getEvolutionTemporelle (DATE_FORMAT)
  • Corriger la requête getStatsByFormateur (sous-requête AVG)
  • Simplifier les requêtes pour compatibilité MySQL
  • Tester toutes les requêtes corrigées

Espace Formateur

Schéma de base de données

  • Créer la table supportsFormation pour stocker les documents
  • Ajouter les relations avec sequences
  • Migrer le schéma avec pnpm db:push

Backend

  • Créer formateurDb.ts avec les fonctions de requête
  • Ajouter les procédures tRPC pour le calendrier du formateur
  • Ajouter les procédures tRPC pour la liste des apprenants
  • Ajouter les procédures tRPC pour l'upload de supports
  • Ajouter les procédures tRPC pour la validation des présences
  • Ajouter les procédures tRPC pour l'historique

Frontend

  • Créer la page FormateurDashboard (calendrier)
  • Créer la page FormateurSequence (détail séquence avec apprenants)
  • Créer la page FormateurSupports (gestion des supports)
  • Créer la page FormateurPresences (validation présences)
  • Créer la page FormateurHistorique (historique formations)
  • Ajouter les routes dans App.tsx
  • Ajouter le menu de navigation formateur

Tests

  • Tester toutes les fonctionnalités de l'espace formateur

Correction bug rappels multiples

  • Analyser le code du scheduler de rappels
  • Identifier pourquoi plusieurs emails sont envoyés
  • Corriger la logique pour envoyer un seul email par séquence
  • Tester avec la formation JetSki du 15/12/2025

Améliorations système de rappels

Historique des rappels

  • Créer la table logsRappels dans le schéma
  • Migrer le schéma avec pnpm db:push
  • Créer les fonctions de log dans rappelDb.ts
  • Intégrer le logging dans rappelScheduler.ts
  • Ajouter la vérification des doublons avant envoi

Test manuel des rappels

  • Créer la procédure tRPC pour tester un rappel
  • Ajouter le bouton de test dans AdminRappels.tsx (optionnel)
  • Implémenter la logique de test sans modifier les logs (optionnel)

Notifications d'échec

  • Créer la fonction de notification admin
  • Intégrer les notifications dans le catch des erreurs d'envoi
  • Ajouter un résumé des échecs dans les logs