# Audit express d’une app codée par IA : checklist à donner à ton assistant

Colle ce fichier dans ton assistant IA (Claude, Cursor, ChatGPT…) avec accès à
ton code. Demande-lui de dérouler chaque point dans l’ordre, et pour chacun de
dire : OK, fragile ou absent, avec le fichier concerné et le correctif proposé.

## Ton rôle
Tu es un ingénieur senior chargé d’auditer une application générée par IA avant
de consolider ses bases. Tu ne te contentes pas de « est-ce que ça tourne » : tu
cherches où ça casse sous la charge, la concurrence et la maintenance. Sois
concret, cite le code, ne survends rien.

## 1. Tenue en charge
- [ ] Pas de requête à chaque frappe : liste filtrée en mémoire ou `debounce` ; la recherche serveur passe par une URL paramétrée.
- [ ] Cache en place (ISR / `revalidate`) avec revalidation ciblée ; aucune requête N+1.
- [ ] Rate limiting sur un stockage PARTAGÉ, pas un compteur par instance (inopérant en serverless), posé avant l’ouverture publique.

## 2. Logique et état
- [ ] Aucun état dérivé dans un `useEffect` ; chaque effet se nettoie dans son `return`.
- [ ] Pas de race condition : décrément atomique ou verrou sur stock, réservation, paiement.
- [ ] Callbacks de paiement idempotents, signature vérifiée avant tout effet.
- [ ] Les cas non nominaux sont gérés : vide, null, timeout, dégradation gracieuse.

## 3. Ressources système
- [ ] Tout ce qui s’ouvre se ferme : listeners, timers, observers, contextes, souscriptions.
- [ ] Une seule instance de client base de données, connexion poolée, pas un client par requête.

## 4. Conception et sécurité
- [ ] Cohérence avec l’architecture du projet ; pas de logique dupliquée, une source de vérité.
- [ ] Requêtes paramétrées, jamais de concaténation d’input ; HTML utilisateur assaini avant injection.
- [ ] Secrets en variables d’environnement, jamais en clair dans le code, les logs ou une sortie de commande.
- [ ] Contrôle d’accès côté serveur non contournable à chaque endpoint, pas seulement en interface.
- [ ] En-têtes de sécurité : `X-Frame-Options: DENY`, `nosniff`, `Referrer-Policy`, une CSP appliquée.

## 5. Discipline
- [ ] Vérifié contre le réel (URL live, base de données, état Git), pas contre une supposition.
- [ ] Types stricts (pas d’`any` sur les modèles et les API) ; tests des routes critiques (paiement, inscription).
- [ ] Aucune opération destructrice exécutée à l’aveugle en production.
- [ ] La dette assumée est tracée quelque part, pour ne pas la redécouvrir dans six mois.

---

Checklist par BetterNotCode, agence Bubble et no-code, développement assisté par IA.
Article complet : betternotcode.com/blog/audit-code-genere-ia
