edtech / docs /audit_resolution_fastify_v4_final.md
CognxSafeTrack
docs: add final audit report for fastify v4
820d280
# Compte-rendu de Résolution Critique : Compatibilité Fastify 4.x
## 1. État du Downgrade (package.json)
Le correctif a été appliqué en profondeur pour garantir qu'aucune dépendance indirecte ne tire de plugins Fastify v5.
### Lignes modifiées dans `apps/api/package.json` :
```json
"dependencies": {
"@fastify/cors": "^8.3.0",
"@fastify/jwt": "^8.0.1",
"@fastify/multipart": "^8.3.0",
"@fastify/rate-limit": "^9.1.0",
"@fastify/static": "^7.0.4",
"@fastify/view": "8",
"fastify": "^4.29.1",
"fastify-plugin": "^4.5.1"
}
```
## 2. Harmonisation Globale via Overrides (Root)
Pour neutraliser le blocage causé par `@bull-board/fastify` (qui tentait d'installer `@fastify/view` v11), j'ai ajouté des **overrides** à la racine du projet (`package.json`) :
```json
"pnpm": {
"overrides": {
"@fastify/view": "^8.2.0",
"@fastify/static": "^7.0.4"
}
}
```
## 3. Confirmation du Lockfile
- [x] **pnpm-lock.yaml mis à jour** : Une commande `pnpm install` a été exécutée avec succès après l'ajout des overrides.
- [x] **Validation** : Le lockfile confirme que même les dépendances de BullBoard utilisent désormais `@fastify/view@8.2.0` et `@fastify/static@7.0.4`.
## 4. Informations Techniques pour Redémarrage
- **Port** : L'API est configurée pour écouter sur le port **8080** (via `process.env.PORT` ou fallback).
- **Host** : Configuré sur `0.0.0.0` pour être accessible depuis le conteneur Hugging Face.
- **Secret** : Le champ `ENCRYPTION_SECRET` a été ajouté au `.env` pour éviter le crash du Worker au démarrage.
## 5. Conclusion
Le système est désormais **verrouillé en Fastify 4.x**. Le "Factory Rebuild" sur Hugging Face devrait maintenant passer sans erreur de version de plugin. Les changements ont été poussés sur GitHub et Hugging Face.