Checklist : 24 points pour auditer ton app vibe-codée
Une app vibe-codée qui tourne à la démo peut cacher une clé en clair, une base ouverte à tous, une facture qui explose à 100 utilisateurs. Voici comment les repérer, un point à la fois.
La règle qui vaut tout le reste : Le vibe coding t'a donné une app qui marche à la démo. Cette checklist vérifie si elle tient en production — là où une seule faille peut vider ta base ou tripler ta facture.
Comment te servir de la grille
Coche chaque case vraie pour ton app ; une case que tu ne peux pas cocher est une dette. On a classé les points par ordre de dégâts — sécurité d'abord. À la fin, compte les cases restées vides : le tableau plus bas les traduit en verdict et en priorité.
Sécurité — les failles qui vident ta base
Aucune clé d'API ni mot de passe n'apparaît dans le code du navigateur (vérifie avec Ctrl+U puis Ctrl+F « key »).
Les règles de ta base sont activées : un utilisateur ne lit que ses propres données (Supabase RLS, règles Firebase).
L'authentification passe par un service éprouvé (Supabase Auth, Clerk, Auth0), pas une fonction maison.
Les mots de passe sont hachés (bcrypt ou argon2), jamais stockés en clair.
Chaque saisie est validée côté serveur, pas seulement dans le navigateur.
Les secrets vivent dans des variables d'environnement et ne sont pas commités dans git.
Aucune page ni route d'admin n'est atteignable sans être connecté.
Les endpoints sensibles (login, envoi d'email) ont une limite de requêtes.
Dette technique — la facture différée
Le code est dans git avec un historique de commits, pas un dossier « final_v3 ».
Le projet se relance de zéro avec une commande, et le README est à jour.
La logique n'est pas entassée dans un seul fichier géant ; les fonctions restent courtes.
Les valeurs qui changent (prix, URLs, limites) sont dans une config, pas copiées partout.
Les erreurs sont attrapées et montrent un message clair, jamais un écran blanc.
Les dépendances sont à jour et `npm audit` ne signale aucune faille critique.
Au moins quelques tests couvrent les parcours critiques (paiement, inscription).
Le code mort et les `console.log` de debug ont été retirés.
Données, coûts et mise en ligne
Ta base est sauvegardée automatiquement et tu as déjà testé une restauration.
Le schéma évolue par migrations versionnées, pas par modifications manuelles.
Les listes sont paginées : une page ne charge jamais toute la table d'un coup.
Un suivi d'erreurs en production t'alerte quand ça casse (Sentry ou équivalent).
Tu connais ta facture à 10, 100 et 1 000 utilisateurs, pas seulement à 1.
Une politique de confidentialité couvre les données personnelles que tu collectes.
Le consentement est demandé si tu poses des cookies ou des traceurs.
Un environnement de test existe, séparé de la production.
Ton verdict en un coup d'œil
Cases vides
État de l'app
Ce que tu fais maintenant
0 – 3
Solide
Mise en ligne OK. Garde la grille pour les prochaines features.
4 – 8
Fragile
Corrige d'abord les failles de sécurité, la dette ensuite.
9 – 15
À risque
Ne facture pas encore d'utilisateurs. Reprends section par section.
16 +
Prototype
C'est une maquette, pas un produit. Reconstruis les fondations.
« J'ai plusieurs cases vides, je corrige quoi en premier ? »
→La sécurité— Une clé exposée ou une base ouverte peut te coûter toutes tes données en une nuit. Toujours en premier, quel que soit le reste.
→Les sauvegardes— Tant que tu n'as pas de backup déjà testé, une seule erreur peut tout effacer sans retour possible. Deuxième priorité absolue.
→La dette— Elle ralentit mais ne tue pas. Elle attend que la sécurité et les données soient réglées.
Les trois pièges qui coûtent le plus cher
« Ça marche, donc c'est bon » — Une démo réussie ne teste ni la charge, ni les attaques, ni les cas limites. La plupart des failles vibe-codées restent invisibles jusqu'au jour où un seul utilisateur sort du chemin prévu.
La base ouverte par défaut — Beaucoup d'apps générées laissent la base accessible en lecture et écriture à tous, « pour que ça marche vite ». N'importe qui avec l'URL peut alors lire, modifier ou vider tes données.
La facture qui dort — Requêtes non optimisées et appels d'API en boucle ne se voient pas à 1 utilisateur. À 500, la note passe de 5 € à 800 € par mois — découverte le jour du prélèvement.
Un projet en tête ?
Nous construisons des applications sur mesure. Le diagnostic est gratuit et sans engagement.