V
Secrets de Vibe Coding
La lettre

7 erreurs de déploiement d’une application
vibe codée

Le code ne plante presque jamais à cause du code — il plante à cause de ce qui l’entoure au moment du déploiement.

Jean Sancode
Auteur · Juillet 2026
TL;DR — La réponse rapide

Une application vibe codée ne plante presque jamais à cause du code en lui-même — elle plante à cause de ce qui l’entoure au moment du déploiement.

  • 7 angles morts récurrents : secrets exposés côté client, paquets hallucinés, environnements confondus, backend mal configuré, gestion d’erreurs absente, failles XSS ignorées, zéro surveillance post-lancement.
  • La solution en 4 étapes : la méthode P.R.O.D. — Purger, Répartir, Observer, Durcir.
  • Le chiffre à retenir : le code généré par IA contient 2,74× plus de vulnérabilités que le code écrit à la main. Une revue humaine fait chuter ce chiffre de plus de 60 %.
1.

Qu’est-ce qui différencie une erreur de code d’une erreur de déploiement ?

Une erreur de code, c’est une fonction qui plante. On la voit, on la corrige, on passe à autre chose. Une erreur de déploiement, c’est plus sournois : le code est correct, il fonctionne parfaitement sur votre machine, et il expose vos secrets, votre base de données ou votre porte d’entrée dès qu’un vrai utilisateur y touche.

La première catégorie fait planter votre application. La seconde fait planter votre confiance dans l’application — et parfois votre entreprise avec.

C’est là tout le problème du vibe coding : on a démocratisé l’écriture du code, pas la discipline qui l’entoure. 93 % des organisations utilisent aujourd’hui du code généré par IAdans leurs workflows — et cette discipline manque à la quasi-totalité d’entre elles au moment de passer en production.

Erreur de CodeErreur de Déploiement
SymptômeException explicite, crash en localLe code semble fonctionner — rien ne plante
ImpactBloque le développementExpose vos secrets et données en prod
RisqueCourt terme, visibleLong terme, silencieux
SolutionCorriger le bug de logiqueAppliquer la méthode P.R.O.D.
2.

Erreur #1

Coller vos clés API directement dans le code client

C’est l’erreur classique, celle qu’on jure ne jamais commettre et qu’on commet quand même, un vendredi soir, parce que l’IA a proposé la solution la plus rapide — et la solution la plus rapide colle toujours la clé Stripe en clair dans un fichier que le navigateur va télécharger.

Dans 45 % des cas, les assistants de code IA introduisent une vulnérabilité de sécurité connue directement en production — et la fuite de secrets client-side en fait partie chaque fois.

— Rapport GenAI Code Security, Veracode 2026

La règle

Toute clé, tout token, tout secret vit côté serveur, dans une variable d’environnement, jamais dans le bundle envoyé au navigateur. Si votre IA vous propose l’inverse “pour aller plus vite”, c’est qu’elle n’a pas d’opinion sur votre faillite. Vous, si.

3.

Erreur #2

Installer un package que l’IA a inventé

Voici un fait qui devrait vous tenir éveillé : une étude portant sur 576 000 échantillons de code générés par 16 modèles a trouvé 205 000 noms de paquets qui n’existent tout simplement pas — soit environ une recommandation sur cinq. Pire : 43 % de ces paquets fantômes reviennent de façon identique quand on relance dix fois le même prompt.

Le slopsquatting

Un attaquant repère qu’une IA recommande systématiquement react-mongoose-utils (qui n’existe pas), enregistre ce nom sur npm avec une charge malveillante à l’intérieur, et attend que vous copiiez-colliez la commande d’installation sans vérifier. Vous ne le faites jamais, sauf que si, une fois, à 23h.

La règle : vérifiez toujours l’existence du package sur npmjs.com ou pypi.orgavant de l’installer — surtout si son nom mêle deux bibliothèques connues.

4.

Erreur #3

Déployer sans jamais séparer dev, staging et production

“Ça marche en local” est probablement la phrase la plus dangereuse du vibe coding, parce qu’elle est vraie et qu’elle ne veut rien dire.

Votre machine a des variables d’environnement que la production n’a pas. Votre base de données locale contient trois lignes de données factices, la production en contiendra des dizaines de milliers avec des cas limites que personne n’a anticipés.

EnvironnementRôleDonnées
Dev (Local)Développement & itération rapide3 lignes de test factices
Staging (Miroir)Validation avant mise en ligneBase miroir anonymisée
ProductionEnvironnement utilisateur finalDonnées réelles des clients
5.

Erreur #4

Laisser la configuration par défaut d’un backend managé

Le cas le plus spectaculaire de 2026 s’appelle Moltbook : un réseau social pour agents IA, lancé le 28 janvier, dont le fondateur a publiquement revendiqué n’avoir “pas écrit une seule ligne de code”.

Cas réel · Moltbook · Janvier 2026

Trois jours après le lancement, des chercheurs découvraient que toute la base de production était exposée publiquement : 1,5 million de tokens d’authentification, 35 000 adresses email et les messages privés entre agents — à cause d’une configuration Supabase mal réglée. Personne n’a piraté quoi que ce soit. La porte était simplement restée ouverte.

La règle

Si le Row Level Security (RLS) n’est pas activé explicitement, votre base de données est publique par défaut — pas par accident, par design. Corrigez ça avant votre premier utilisateur, pas après votre première fuite.

6.

Erreur #5

Ne pas demander à l’IA de gérer les erreurs

Un appel API qui échoue, une base de données qui répond une donnée inattendue, un utilisateur qui remplit un champ n’importe comment : le code généré par IA saute très souvent ces cas, parce que le prompt ne les mentionnait pas — et que l’IA écrit ce qu’on lui demande, pas ce qu’on aurait dû lui demander.

Le résultat est une application qui fonctionne dans la démo et qui s’effondre au premier écart de script.

La correction est presque gratuite : demandez explicitement les try/catch, les retries, les messages d’erreur lisibles et les états de repli. L’IA sait très bien les écrire — il faut juste le lui demander.

7.

Erreur #6

Ignorer les failles XSS et l’injection de logs

Ce ne sont pas des failles exotiques réservées aux grandes entreprises. Ce sont les deux familles où les modèles performent le plus mal.

Vulnérabilité OWASPTaux d’échec IAPrévention
Attaques XSS86 %Sanitisation & échappement HTML
Injection de logs88 %Filtrage strict des caractères

Concrètement : tout ce qu’un utilisateur tape dans un champ (commentaire, nom, message) doit être neutralisé avant d’être affiché ou journalisé ailleurs. Un simple <script> glissé dans un pseudo suffit à démontrer le problème.

8.

Erreur #7

Publier sans revue humaine ni surveillance post-déploiement

La friction du développement classique — tests, revue de code, documentation — n’était pas là pour ralentir les développeurs par plaisir. Elle attrapait les erreurs avant qu’elles ne deviennent des incidents. Le vibe coding a supprimé cette friction sans la remplacer par autre chose.

Le code généré par IA contient 2,74 fois plus de vulnérabilités que le code écrit à la main. Une revue humaine combinée à des outils de scan automatisés fait chuter ce taux de plus de 60 %.

— Rapport GenAI Code Security, Veracode 2026

La loi des 30 minutes

La majorité des incidents de déploiement se révèlent dans le premier quart d’heure. Surveillez vos logs à ce moment-là — ou découvrez l’incident via vos utilisateurs, ce qui est nettement moins confortable.

9.

La méthode P.R.O.D. — le garde-fou en 4 étapes

Sept erreurs, ça fait beaucoup à retenir un vendredi soir. Voici la version compressée, à cocher avant chaque mise en ligne :

  • P

    PPurger les secrets

    Aucune clé, aucun token, aucun mot de passe dans le code envoyé au client. Tout en variables d'environnement server-side.

  • R

    RRépartir les environnements

    Dev, staging, production : trois espaces distincts, même pour un projet solo.

  • O

    OObserver en continu

    Logs surveillés activement dans les 30 minutes suivant chaque déploiement, puis en continu ensuite.

  • D

    DDurcir les accès

    Row Level Security activé, principe du moindre privilège sur chaque clé de service, gestion d'erreurs et neutralisation des entrées utilisateur explicitement demandées à l'IA.

Les 3 lois à retenir si vous oubliez le reste

Loi de la Friction Perdue

Toute étape supprimée (test, revue, doc) doit être remplacée par un garde-fou automatisé, sinon elle disparaît purement et simplement.

Loi du Package Fantôme

Si un nom de package semble « presque » familier, c'est probablement qu'il n'existe pas, et qu'un attaquant l'attend sur npm.

Loi des 30 Minutes

La plupart des incidents se révèlent dans le premier quart d'heure. Qui ne regarde pas ses logs à ce moment-là les découvre par ses utilisateurs.

10.

Où concentrer vos efforts en premier ?

Deux axes suffisent à trier : l’effort de correction, et l’impact sur le risque réel.

Effort / Impact →

Impact fort

Effort faible

⭐ Quick wins

Activer le RLS, purger les secrets. Erreurs #1 et #4 en priorité.

Effort fort

Investissements stratégiques

Mettre en place CI/CD, staging, monitoring continu.

Commencez toujours par le coin en haut à gauche. Ce sont les erreurs #1 et #4 de cet article — les deux qui, dans les faits, ont coûté le plus cher aux applications vibe codées en 2026.

11.

Questions fréquentes

Pourquoi mon application plante-t-elle en production alors qu'elle marchait parfaitement en local ?

Parce que « marcher en local » ne teste ni vos variables d'environnement de production, ni le volume réel de données, ni les cas limites qu'apportent de vrais utilisateurs. Un environnement de staging, même minimal, révèle ces écarts avant vos utilisateurs.

Comment savoir si un package suggéré par l'IA est réel ou halluciné ?

Vérifiez toujours son existence sur le registre officiel (npmjs.com, pypi.org) avant de l'installer — surtout si son nom mêle deux bibliothèques connues ou vous semble « presque » familier.

Le code généré par IA est-il vraiment plus vulnérable que le code écrit par un humain ?

Oui, mesurablement : 2,74 fois plus de vulnérabilités selon le rapport GenAI Code Security de Veracode, avec des taux d'échec particulièrement élevés sur les failles XSS (86 %) et l'injection de logs (88 %).

Faut-il un environnement de staging même pour une petite application solo ?

Oui. Le coût d'un second déploiement gratuit sur Vercel ou Netlify est nul comparé au coût de découvrir un bug de configuration devant vos premiers utilisateurs payants.

12.

En résumé

Ces sept erreurs ne sont pas des fatalités du vibe coding — ce sont des angles morts qu’on peut fermer en une checklist P.R.O.D. avant chaque mise en ligne.

Le code généré par l’IA n’est pas le problème ; c’est la discipline qu’on ne lui a pas encore demandé de reproduire. Purgez vos secrets, répartissez vos environnements, observez vos logs, durcissez vos accès — et déployez en sachant exactement ce que vous avez laissé ouvert derrière vous.

La prochaine fois que vous déployez…

Ouvrez cette checklist. Cochez les quatre lettres. Puis appuyez sur “Deploy”.