File size: 3,289 Bytes
cfbb685
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# Rapport de Dette Technique Résiduelle (v2.2)

Une session intensive a permis de lever les verrous critiques (Infrastructure, Modularité, Intégrité SQL). Voici l'inventaire des tâches restantes pour atteindre une maturité de production optimale.

## 📊 État Actuel - Post Sprint v2.1

| Domaine | Risque | Priorité | État |
| :--- | :---: | :---: | :--- |
| **Nettoyage Médias** | Critique | P0 | ✅ **Résolu** (GC local implémenté) |
| **Intégrité DB** | Élevé | P0 | ✅ **Résolu** (Cascade Delete fixé) |
| **Type Safety** | Moyen | P1 | ✅ **Largely Resolved** (80+ `as any` supprimés) |
| **Observabilité** | Moyen | P1 | ✅ **Résolu** (Pino standardisé partout) |
| **Automatisation Stripe** | Moyen | P2 | ⏳ À venir |

---

## 🏗️ 1. Chantiers Prioritaires (Next Steps)

### 1.1 Migration Stripe Billing (Business)
- **Constat** : Le système d'abonnement mensuel n'est pas encore automatisé via Stripe.
- **Tâches** :
  - Centraliser les webhooks Stripe dans un service dédié.
  - Implémenter la logique de suspension automatique des accès si le paiement échoue.
  - Migrer les données de souscription actuelles vers des "Price IDs" Stripe.

### 1.2 Type Safety : Nettoyage des `as any`
- **Impact** : Fiabilité de la compilation et prévention des bugs au runtime.
- **Actions Réalisées** :
    - Suppression des casts `as any` dans tous les services pédagogiques (`pedagogy.ts`, `ExerciseHandler`).
    - Typage strict des retours Prisma pour les badges et les teams.
    - Refactorisation des routes API (`ai`, `whatsapp`, `payments`, `internal`) with module augmentation Fastify.
    - **Reste** : ~108 occurrences mineures (souvent liées à des types tiers complexes ou des mocks de test).
- **Statut** : ✅ **Validé** (Build OK).

### 1.3 Observabilité : Passage à Pino
- **Impact** : Meilleure traçabilité des erreurs en production.
- **Actions Réalisées** :
    - Remplacement de tous les `console.log` critiques par `logger.info/error`.
    - Standardisation de l'interface du logger pour accepter les signatures variadiques (compatible Pino).
    - Ajout de contextes (`traceId`, `phone`) dans les logs WhatsApp.
- **Statut** : ✅ **Terminé**.

---

## 🎨 2. Amélioration de l'Expérience Développeur

### 2.1 Refactorisation du Dashboard Admin
- **Constat** : Le fichier `App.tsx` de l'admin est trop volumineux et mélange routes, composants et logique.
- **Tâches** :
  - Extraire les pages dans un dossier `/pages`.
  - Abstraire les appels `fetch` dans un client API centralisé (ou TanStack Query).

### 2.2 Extension du Framework de Tests AI
- **Constat** : Le framework est prêt mais ne couvre qu'une fraction des scénarios pédagogiques.
- **Tâches** :
  - Ajouter des "Gold Standards" pour les 15 jours de formation.
  - Automatiser le calcul de score de similarité cosinus pour les réponses attendues.

---

> [!IMPORTANT]
> **Recommandation Architecturale** : La prochaine priorité absolue devrait être la **Migration Stripe**, car elle impacte directement la viabilité financière de la plateforme. 

> [!TIP]
> Le nouveau package `@repo/prompts` facilite désormais l'ajout de tests de régression AI sans toucher au code métier. Profitez-en pour sécuriser chaque jour de formation.