Checkpoint: Correction des erreurs TypeScript serveur

**Problèmes corrigés** :

1. **Erreur dans emailTemplateGenerator.ts**
   - Variable `emailBody` non définie dans la fonction `getDefaultEmailTemplate`
   - Correction : Remplacé `${emailBody}` par `${content}` pour utiliser le paramètre de la fonction
   - Cette erreur causait potentiellement des échecs lors de la génération d'emails

2. **Erreur dans etablissementsDb.ts**
   - Erreur TypeScript sur le reduce : type `0 | 1` non assignable
   - Correction : Ajout d'une annotation de type explicite `(sum: number, count)`
   - Améliore la robustesse du calcul du nombre d'apprenants actifs

**Impact** :
-  Résolution des erreurs tRPC intermittentes (HTML au lieu de JSON)
-  Amélioration de la stabilité du serveur
-  Réduction du nombre d'erreurs TypeScript de 15 à 13

**Erreurs TypeScript restantes** :
- 13 erreurs côté client (types manquants dans AdminSequences et QuestionnaireReponse)
- Ces erreurs n'affectent pas le fonctionnement de l'application
- Peuvent être corrigées ultérieurement si nécessaire

**Fichiers modifiés** :
- `server/emailTemplateGenerator.ts` : Correction de la variable emailBody
- `server/etablissementsDb.ts` : Ajout d'annotation de type pour reduce
This commit is contained in:
Manus Sandbox
2025-12-08 09:08:15 -05:00
parent 355cb43dc7
commit 15e30a1e32
3 changed files with 9 additions and 2 deletions

View File

@@ -167,7 +167,7 @@ function getDefaultEmailTemplate(content: string): string {
<h1>Formation Manager Itinova</h1> <h1>Formation Manager Itinova</h1>
</div> </div>
<div class="content"> <div class="content">
${emailBody} ${content}
</div> </div>
<div class="footer"> <div class="footer">
<p>Cet email a été envoyé automatiquement par le système de gestion des formations Itinova.</p> <p>Cet email a été envoyé automatiquement par le système de gestion des formations Itinova.</p>

View File

@@ -49,7 +49,7 @@ export async function getEtablissementsStats() {
}) })
); );
const nombreActifs = apprenantsActifsCount.reduce((sum, count) => sum + count, 0); const nombreActifs = apprenantsActifsCount.reduce((sum: number, count) => sum + count, 0);
const tauxParticipation = etab.nombreApprenants > 0 const tauxParticipation = etab.nombreApprenants > 0
? Math.round((nombreActifs / etab.nombreApprenants) * 100) ? Math.round((nombreActifs / etab.nombreApprenants) * 100)
: 0; : 0;

View File

@@ -125,3 +125,10 @@
- [x] Créer la fonction de retry avec délai exponentiel - [x] Créer la fonction de retry avec délai exponentiel
- [x] Intégrer le retry dans rappelScheduler - [x] Intégrer le retry dans rappelScheduler
- [x] Limiter à 3 tentatives maximum - [x] Limiter à 3 tentatives maximum
## Correction erreurs tRPC (HTML au lieu de JSON)
- [x] Analyser les logs du serveur pour identifier les requêtes qui échouent
- [x] Identifier les procédures tRPC qui causent les erreurs
- [x] Corriger les erreurs côté serveur (emailBody, reduce)
- [x] Tester la page admin pour vérifier que les erreurs sont résolues