edtech / docs /implementation_plan_debt_resolution_08052026.md
CognxSafeTrack
feat: backlog P0→P3 — toast system, payments, tenant isolation, feedback handler, i18n parity
6dd9bad

Plan d'Implémentation : Résolution de la Dette Technique

Ce plan détaille les étapes pour résoudre les problèmes identifiés dans l'audit du 08/05/2026.

Phase 1 : Sécurité & Isolation (Priorité Immédiate)

1.1 Hardening de l'Isolation Multi-Tenant

  • Tâche : Mettre à jour packages/database/src/extension.ts pour inclure l'opération upsert dans les filtres automatiques.
  • Vérification : Test unitaire simulant un upsert avec un ID d'un autre tenant.

1.2 Découpage du Middleware d'Authentification

  • Tâche : Extraire la logique de index.ts vers des middlewares dédiés :
    • validateApiKey.ts
    • verifyJwt.ts
    • enforceOrgIsolation.ts
  • Vérification : Les routes protégées doivent toujours retourner 401/403 sans les bons headers.

Phase 2 : Optimisation Backend & IA

2.1 Mise en cache des Prompts

  • Tâche : Modifier PromptLoader pour utiliser un cache mémoire (Map) afin d'éviter les lectures disque répétitives.
  • Tâche : Déplacer les prompts codés en dur de AIService.ts vers packages/prompts/src/templates.

2.2 Refactorisation des Contrôleurs Admin

  • Tâche : Extraire la logique métier de admin.ts vers des services dédiés (ex: ExcelService, AnalyticsService).
  • Objectif : Réduire la taille des fichiers de routes à moins de 10KB.

Phase 3 : Refactorisation Frontend (App Web)

3.1 Dé-monolithisation de apps/web

  • Tâche : Créer une structure de dossiers standard dans apps/web/src :
    • components/ (Navbar, Hero, Features, StudentPortal, etc.)
    • hooks/ (useStudentData)
    • lib/ (api.ts - mutualisé avec l'admin si possible)
  • Tâche : Migrer les appels fetch() vers le client api.ts.

Phase 4 : Qualité & Automatisation

4.1 Unification du Package Management

  • Tâche : Supprimer package-lock.json. Configurer pnpm-workspace.yaml pour garantir l'usage exclusif de pnpm.
  • Tâche : Ajouter un script preinstall pour bloquer npm/yarn.

4.2 Socle de Tests

  • Tâche : Installer vitest dans le package api.
  • Tâche : Écrire des tests d'intégration pour les flux critiques (Login, Inbound Message, Org Creation).

📅 Estimation de l'effort

Phase Durée Estimée Complexité
Phase 1 (Sécurité) 1 jour 🟡 Moyenne
Phase 2 (Backend/IA) 2 jours 🟡 Moyenne
Phase 3 (Frontend) 3 jours 🔴 Élevée
Phase 4 (Qualité) 2 jours 🟢 Faible

Total estimé : 8 jours de développement.