# Qu’est-ce que le vibe coding, et où est-ce que ça casse?

Date: 2025-02-17 · Author: Robert Scales · https://guidetoartificialintelligence.com/fr/apprendre/qu-est-ce-que-le-vibe-coding/

**Answer:** Le vibe coding consiste à créer un logiciel en décrivant ce qu’on veut à un assistant de programmation IA, à accepter ses modifications sans les lire et à lui recoller les erreurs jusqu’à ce que le programme fonctionne. C’est une façon rapide de faire un prototype jetable, mais ça ne tient plus dès que l’application contient de vraies données, doit être entretenue ou doit être sécurisée.

L’expression vient d’Andrej Karpathy, un chercheur en IA bien connu, qui a décrit une nouvelle habitude dans une publication sur X au début de février 2025. Il parle à voix haute à un outil de programmation IA, clique pour accepter chaque modification et ne lit plus les différences entre les versions du code. Quand une erreur apparaît, il recolle le message sans commentaire, et cela règle généralement le problème. Selon ses mots : « Je fais toujours “Accept All”, je ne lis plus les diffs. » Il présentait cette façon de faire comme convenable pour des projets de fin de semaine jetables, et notait que le code dépasse vite ce qu’il comprend entièrement.

Le nom, *vibe coding* (programmer « au feeling »), est resté parce que beaucoup de gens reconnaissent l’expérience. Les assistants de programmation IA, des outils qui écrivent et modifient du code à partir de demandes en langage courant, sont devenus assez bons pour qu’une personne qui a peu d’expérience en programmation obtienne une application fonctionnelle en un après-midi. Ce que le vibe coding supprime, c’est l’étape où un humain lit et comprend le code.

## Le déroulement d’une séance de vibe coding

Voici une séquence typique pour une petite application : une page d’inscription aux quarts de travail bénévole d’un jardin communautaire. Chaque ligne est une demande tapée ou dictée à l’assistant.

```prompt
Fais une page Web simple où les bénévoles entrent leur nom et leur courriel et choisissent un quart du samedi. Enregistre les inscriptions et affiche la liste des personnes qui viennent.
```

```prompt
Trie la liste par date et ajoute un bouton pour annuler une inscription.
```

```prompt
J’obtiens cette erreur quand je clique sur Annuler : [erreur collée]. Corrige-la.
```

Après quelques tours, la page fonctionne dans le navigateur. C’est ce qui séduit : la personne décrit des résultats, l’assistant s’occupe du code, et la boucle de rétroaction est rapide. Certains développeurs ajoutent de la structure sans renoncer à la vitesse. L’ingénieur Vivek Haldar, par exemple, fait d’abord rédiger par un modèle une description du produit et un document de conception, puis remet les deux à un assistant de programmation et lui demande d’écrire aussi des tests, pour avoir quelque chose à quoi comparer le résultat.

## Où ça casse

Le vibe coding a des points faibles qui apparaissent à des endroits prévisibles :

| Où | Ce qui tend à mal tourner |
|---|---|
| Sécurité | N’importe qui peut ouvrir la page et lire ou supprimer toutes les inscriptions, parce que personne n’a demandé de connexion ni vérifié le code |
| Données personnelles | Les noms et les courriels sont stockés dans un simple fichier ou une base de données publique, sans protection |
| Secrets | Un mot de passe ou une clé d’API (le code privé qui déverrouille un service payant) est écrit directement dans le code et publié avec lui |
| Bogues cachés | Les erreurs sont « corrigées » en les contournant, si bien que la vraie cause reste dans le code |
| Entretien | Des mois plus tard, personne, y compris la personne qui l’a créée, ne sait comment l’application fonctionne ni comment la modifier sans risque |
| Coût | Un programme qui appelle un service payant en boucle peut accumuler des frais sans qu’on s’en aperçoive |

La recherche confirme l’inquiétude au sujet de la sécurité. Dans une étude auprès d’utilisateurs menée à Stanford et publiée pour la première fois en 2022, les personnes qui disposaient d’un assistant de code IA pour résoudre des tâches de programmation liées à la sécurité ont produit du code nettement moins sûr que celles qui n’en avaient pas. Elles étaient aussi plus convaincues que leur code était sûr. Les participants qui faisaient moins confiance à l’IA et soignaient davantage leurs demandes s’en sont mieux tirés. Le vibe coding, par définition, supprime justement ce scepticisme.

> **À essayer :** prenez n’importe quelle petite application que vous ou une IA avez créée rapidement et demandez dans une nouvelle conversation : « Voici mon code. Énumère chaque endroit où un inconnu pourrait lire, modifier ou supprimer des données, et chaque secret écrit dans le code. Ne corrige rien pour l’instant. » Comparez la liste avec ce que vous supposiez.

## Quand le vibe coding est le bon outil

Rien de tout cela ne le rend inutile. Il convient bien aux prototypes que vous jetterez, aux outils personnels qui ne tournent que sur votre propre ordinateur, aux démonstrations rapides d’une idée pour une réunion et à l’exploration de ce qui est possible. La limite à surveiller, c’est le moment où l’application touche d’autres personnes : leurs données, leur argent ou leur confiance. À partir de là, quelqu’un doit lire le code, ou au moins le tester à l’aide d’une liste de vérification claire.

## Comment garder sûre une application créée en vibe coding?

Commencez par la garder privée. Faites tourner le prototype sur votre propre ordinateur, ou derrière un mot de passe, jusqu’à ce qu’il ait été examiné. Utilisez de faux noms et de faux courriels pendant la création, jamais de vrais.

Avant que quelqu’un d’autre ne l’utilise, passez de tout accepter à tout examiner. Demandez à l’assistant d’expliquer, fichier par fichier, ce que fait chaque partie du code, et lisez ces explications. Posez ensuite des questions ciblées : Où les données sont-elles stockées et qui peut y accéder? Chaque entrée est-elle vérifiée avant d’être enregistrée? Des clés ou des mots de passe sont-ils écrits dans le code? Déplacez les secrets dans des variables d’environnement, c’est-à-dire des paramètres conservés à l’extérieur du code, et changez toute clé qui a déjà été publiée.

Ajoutez des tests. Demandez à l’assistant d’écrire des tests automatisés pour les actions principales, comme s’inscrire, annuler et afficher la liste, et lisez vous-même les tests, puisqu’ils sont plus courts que l’application. Un test qui échoue plus tard vous signale qu’une modification a brisé quelque chose avant que vos utilisateurs ne s’en aperçoivent.

Conservez un historique des modifications avec un outil de gestion de versions comme Git, pour pouvoir annuler une mauvaise série de modifications. Fixez une limite de dépenses pour tout service payant qu’appelle l’application. Et quand l’application contiendra des renseignements personnels ou traitera des paiements, faites-la examiner avant le lancement par quelqu’un qui sait lire du code. Un prototype rapide est un bon départ; ce n’est pas encore un produit fini.

## Sources

- Spec-driven Vibe-coding: https://vivekhaldar.com/articles/spec-driven-vibe-coding/
- Do Users Write More Insecure Code with AI Assistants?: https://arxiv.org/abs/2211.03622
