capitalisation: intégration 33 propositions RL799_V2 (triage 2026-04-07)

Backend: 21 entrées (general, prisma, contracts, auth, patterns)
Frontend: 9 entrées (navigation, tests, general, performance, patterns)
Workflow: 5 entrées (story-tracking)
Nouveau fichier: backend/patterns/general.md
95_a_capitaliser.md purgé.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
MaksTinyWorkshop
2026-04-07 15:44:36 +02:00
parent 07f39ad433
commit 72758c1adc
15 changed files with 906 additions and 23 deletions

View File

@@ -55,3 +55,26 @@ const handleToggle = useCallback((id: string) => { ... }, []); // stable ✓
- Contexte technique : React — app-template-resto 22-03-2026
---
<a id="risque-fetch-sans-timeout"></a>
## Fetch sans timeout pour ressources lourdes
### Risques
- `fetch()` sans timeout pour charger des blobs/fichiers volumineux (PDF, images) laisse l'utilisateur attendre indéfiniment sur connexion dégradée
- Critique sur mobile avec connexion instable ; faux sentiment de freeze pour l'utilisateur
### Symptômes
- `fetch(url)` sans `AbortController` + timeout pour des blobs/fichiers volumineux
- Spinner infini sans message d'erreur
### Bonnes pratiques / mitigations
- Utiliser `AbortController` avec `setTimeout` (15s recommandé)
- Attraper `AbortError` et afficher un message explicite à l'utilisateur
- **Signal review** : tout `fetch` de blob/fichier sans `AbortController` est suspect
- Contexte technique : frontend / mobile — RL799_V2 06-04-2026