Codage Vibe : qu’est-ce que c’est et pourquoi vous devriez l’éviter
Nous savons tous que les programmeurs utilisent des outils d'IA pour compléter leur travail, mais il existe une nouvelle tendance en ville qui fait passer les choses à un niveau supérieur. Le terme « vibe coding » a été inventé le mois dernier par Andrej Karpathy, co-fondateur d’OpenAI, mais ce qui a commencé comme une publication X aléatoire s’est rapidement transformé en une toute nouvelle communauté.

Ce que Karpathy décrit dans son article, c'est créer un logiciel sans écrire de code : tout ce qu'il fait, c'est envoyer des invites décrivant ce qu'il veut à son outil d'IA et accepter tous les résultats qu'il génère. Il utilise même un outil de dictée pour éviter d'utiliser son clavier. Cela semble fou, non ? C'est parce que c'est le cas.
Qu’est-ce que le codage d’ambiance exactement ?
La plupart des outils de codage d’IA font actuellement trois choses :
- Générer des suggestions de saisie semi-automatique lorsque l'utilisateur tape une ligne de code
- Expliquez, résumez, déboguer ou donnez des conseils sur les extraits de code que vous fournissez
- Générez des morceaux de code en fonction de vos invites en langage naturel
Ils sont conçus pour aider les personnes qui savent coder, certains se concentrant également sur les études et l'éducation. Même Cursor, l'un des principaux outils que les gens utilisent actuellement pour faire vibrer le code, est vraiment conçu pour les développeurs. Il vise à accélérer les processus simples pour les personnes qui auraient codé, que l'outil ait existé ou non.

Prenez par exemple cette explication de fonctionnalité aléatoire sur le site Web Cursor : "Le curseur vous permet d'écrire du code à l'aide d'instructions. Mettez à jour des classes ou des fonctions entières avec une simple invite." Bien sûr, le but de cette fonctionnalité est de vous éviter d'écrire du code manuellement, mais vous devez toujours savoir ce que sont des éléments tels que les classes et les fonctions pour en faire bon usage.
Le Vibe coding (ou ce que le vibe coding est en train de devenir rapidement) est une tendance dans laquelle les gens utilisent ces outils et essaient de créer quelque chose avec aussi peu de connaissances en développement logiciel – décrivant simplement en langage naturel les résultats qu'ils souhaitent voir en tant qu'utilisateur final.
Pourquoi le vibe coding est-il problématique pour vos utilisateurs ?
Lorsqu'une personne totalement non technique ouvre Cursor et commence le codage d'ambiance, les résultats seront assez différents de ceux d'une personne comme Andrej Karpathy. Là où Karpathy pourrait demander à Cursor de « générer du code qui hache et sale les mots de passe pour l'authentification des utilisateurs », un codeur d'ambiance non technique pourrait dire « Hey Cursor, crée une base de données sécurisée pour stocker mes mots de passe ».
Bien sûr, ils ont utilisé le mot « sécurisé » – mais c'est exactement le genre de détail qu'un LLM pourrait ignorer au hasard. Alternativement, son idée de « sécurité » pourrait ne pas être à la hauteur des normes logicielles commerciales, ou il pourrait ajouter des mesures de sécurité à certains endroits et pas à d'autres. Il y a aussi un autre problème avec cette formulation : la partie « stocker mes mots de passe ». Il est assez normal de penser que les mots de passe sont « stockés » quelque part, mais si vous savez ce que sont le salage et le hachage de mots de passe, vous savez que les mots de passe des utilisateurs ne sont techniquement stockés nulle part.
Au lieu de cela, le sel et la valeur de hachage du sel et du mot de passe concaténés sont stockés – et malgré tous les termes fous de cette phrase, ce n'est pas un concept trop complexe. Cependant, c’est quelque chose que vous ne saurez jamais à moins de sortir délibérément et de l’apprendre. Et si vous ne le savez pas, vous ne pouvez pas le demander.
Au lieu de cela, vous avez demandé une base de données sécurisée, mais quelle version du génie LLM obtiendrez-vous ? Celui qui prend votre invite au pied de la lettre et stocke les mots de passe tels quels dans une petite base de données aléatoire ? Ou celui qui considère ce que vous voulez réellement réaliser et propose un processus d’authentification approprié pour vous ?
Je pense que la réponse la plus précise est que parfois vous aurez le génie mesquin, parfois vous aurez le gentil, et la plupart du temps, vous obtiendrez quelque chose entre les deux – sans véritable rime ni raison. Il pourrait faire 100 % du travail, il pourrait en faire 90 %, il pourrait en faire 5 %. Avec une invite aussi vague, tout peut arriver, et le problème est qu'un codeur d'ambiance non technique n'a aucun moyen de comprendre le résultat ou de décider de sa qualité.
Vous ne pouvez même pas écrire des tests appropriés pour découvrir ce qui se passe si vous ne savez pas de quelles mesures de sécurité vous avez besoin, avec quoi vous avez abouti, ce qu'elles devraient réaliser ou à quoi pourraient ressembler le succès et l'échec.
Après tout, le fait d'avoir mis en œuvre des mesures de sécurité mauvaises, défaillantes ou nulles dans votre logiciel ne le fera pas échouer. Il peut toujours sembler que tout fonctionne correctement du côté de l'utilisateur, mais derrière des portes closes, les informations sensibles de vos utilisateurs (données personnelles, informations de paiement, historique d'utilisation) ne seront absolument pas protégées et prêtes à être volées par de mauvais acteurs. Et c'est mauvais pour vous ainsi que pour vos clients : les failles de sécurité ne provoquent que du stress, des scandales et des pertes financières pour les propriétaires de produits.
Lorsque Karpathy a décrit ses expériences de codage d'ambiance, il a déclaré que le code que lui et Cursor produisaient « fonctionne pour la plupart », et je ne suis pas ici pour prétendre que « fonctionne pour la plupart » est inacceptable. Il y a toujours des solutions rapides, des solutions hackées, des bugs et toutes sortes de problèmes cachés dans chaque base de code de chaque produit. Avec la taille et la complexité des logiciels de nos jours, c'est tout simplement inévitable.
Mais si vous souhaitez rendre votre projet public et facturer de l’argent aux gens pour l’utiliser, vous avez la responsabilité de le rendre aussi sûr que possible. Laisser des informations sensibles sans protection n’est pas acceptable – et supposer qu’elles sont protégées sans les confirmer correctement n’est pas acceptable non plus.
Si vous avez besoin d'une mise en garde réelle, @leojr94 sur X a tout ce dont vous avez besoin. Voici son histoire condensée en trois posts X :



Pourquoi le vibe coding est-il problématique pour vous ?
Les logiciels coûtent cher. Même si vous réduisez tous les coûts de développement grâce au vibe coding, vous devez toujours payer pour stocker vos données, les envoyer entre vous et vos utilisateurs et interagir avec d'autres services via des API.
Les services que vous utilisez à cet effet, comme AWS, sont généralement payés à l'utilisation, ce qui signifie que vous ne payez que pour exactement ce dont vous avez besoin. C'est super, non ? Bien sûr. Mais lorsque vous ne contrôlez pas le logiciel que vous développez, vous ne contrôlez pas non plus l’utilisation des données. Votre code, généré en morceaux aléatoires et assemblés, est susceptible d'être extrêmement inefficace. Quelques lignes mal conçues pourraient produire 3x, 5x, voire 10x plus de données que ce dont vous avez réellement besoin – et l'envoi de ces données inutiles entre vous et vos utilisateurs vous coûtera beaucoup d'argent supplémentaire. La façon la plus explosive dont cela peut mal se passer est en fait lorsque les choses se passent bien.
Imaginez que vous avez quelques utilisateurs, que vous recevez des factures, que la croissance est lente mais régulière et que vous pouvez y faire face. Mais un jour, vous vous réveillez et votre contenu sur les réseaux sociaux est devenu viral, attirant des milliers de personnes vers votre logiciel. Ce serait formidable, sauf que votre facture AWS est désormais énorme et que vous remarquez que les coûts de votre trafic réseau par utilisateur sont en réalité plus élevés que le coût de l'abonnement qu'ils vous paient.
Quelle est la solution ?
À ce stade, certaines personnes commenceraient à suggérer davantage de produits. Plateformes conçues pour les codeurs d'ambiance et les « non-techniciens » qui offrent aux utilisateurs une prise en charge supplémentaire pour la sécurité, les serveurs et d'autres éléments backend. Certaines personnes pourraient également dire qu’avec quelques ajustements, le vibe coding pourrait être exactement ce dont le développement logiciel a besoin pour se démocratiser et cesser d’être exclusif.
J'ai une opinion différente : c'est déjà démocratisé et c'est déjà inclusif (même si je ne pense pas que ce soit un mot). N'importe qui, n'importe où, peut en apprendre davantage sur l'informatique, le codage, la programmation ou le développement de logiciels à condition de disposer d'un ordinateur et d'une connexion Internet – et c'est exactement ce que font les gens. Un grand nombre de programmeurs sont autodidactes et ils le seront probablement toujours. Vous avez tout ce dont vous avez besoin, ce qui m'amène à la « dure vérité » de la situation : si vous voulez créer un logiciel, alors pas de chance, vous devez apprendre à le faire.
Si vous avez une idée, soit vous faites des efforts pour apprendre à la construire, soit vous faites des efforts pour trouver des partenaires et des investisseurs qui peuvent vous aider à lui donner vie. Il n’existe pas d’option astucieuse et sans effort où vous vous retrouvez comme par magie avec un produit fonctionnel dans un laps de temps négligeable et sans partenaires avec lesquels partager les bénéfices. Ce n’est pas ainsi que le monde fonctionne, et ce n’est pas non plus ainsi qu’il devrait fonctionner.
Si vous voulez parler une autre langue, vous devez l'apprendre. Si vous voulez jouer de la guitare, vous devez apprendre à le faire. Et si vous voulez créer des logiciels, vous devez apprendre à créer des logiciels. Si la voie du bricolage vous semble bonne, alors bonne nouvelle : toute personne ayant les moyens de s'asseoir et de vibrer du code à l'aide d'un logiciel gratuit ou payant a également les moyens de s'asseoir et d'étudier la programmation à l'aide de didacticiels gratuits ou payants. Peut-être pourriez-vous même utiliser des outils d’IA pour accélérer les choses.
Et je ne plaisante pas quand je dis que tout le monde peut le faire : la programmation est en fait tellement axée sur l'inclusion qu'il existe même un « type de programmation » accessible à presque tout le monde. Bien sûr, tout le monde ne deviendra pas architecte logiciel dans une grande entreprise, mais certaines personnes en apprendront suffisamment pour créer des jeux en C++, d'autres en apprendront suffisamment pour créer des applications avec Python, et même si vous décidez que le codage n'est pas vraiment votre truc, vous pourrez probablement toujours créer des sites Web avec HTML. Que vous soyez un passionné d'études professionnelles ou que vous n'ayez jamais étudié de votre vie, que vous soyez un as des mathématiques ou que vous soyez nul avec les chiffres, vous serez en mesure de faire quelque chose.
Combien de temps le vibe coding restera-t-il en place ?
Désormais, il est impossible de savoir ce que Karpathy avait l'intention de réaliser en menant cette petite expérience ou en la publiant en ligne. Pour moi, le post X se lit comme ceci : "Mec, ce truc d'IA devient fou. Je peux prendre des tonnes de mauvaises décisions intentionnellement, demander des choses intentionnellement stupides, et d'une manière ou d'une autre, je me retrouve avec quelque chose qui fonctionne toujours."
D'autres personnes semblent l'avoir interprété plutôt comme "Wow, vous pouvez créer des logiciels même si vous ne comprenez pas comment coder". Non. Grand non. Vous ne pouvez pas faire ça. Vous pensez peut-être que la barrière entre vous et l'application que vous souhaitez créer est que des programmeurs énigmatiques et absurdes restent assis et tapent toute la journée – que vous ne pouvez rien créer parce que vous ne savez pas comment taper code
.
Mais ce n'est pas ça. Vous pouvez commencer à comprendre tout cela après seulement quelques heures d’étude. Il s'agit simplement d'un langage, simplement d'une méthode de communication entre vous et l'ordinateur, et cela n'a aucune importance par rapport aux informations réelles que vous souhaitez communiquer. Si votre objectif dans la vie est d'avoir une conversation approfondie et entièrement technique avec un physicien expérimental espagnol dans sa langue maternelle, vous n'y parviendrez pas simplement en apprenant l'espagnol.
Concevoir des logiciels, comprendre des algorithmes, gérer des données, respecter les normes de sécurité, créer à grande échelle, optimiser et déboguer : telles sont les compétences qui permettent de créer des logiciels. Peu importe si le curseur vous permet d'éviter de taper du code, vous ne pouvez toujours pas créer une application appropriée si vous ne connaissez rien aux applications.
Je ne sais pas vraiment quelle sera l'ampleur du vibe coding ni combien de temps cela durera, mais je ne pense certainement pas que cela vaut la peine pour une personne non technique d'essayer de vibe coder un produit. Je ne pense pas non plus qu'essayer un produit codé par ambiance vaut le risque pour les consommateurs – il n'y a aucun moyen de savoir si vos mots de passe et vos informations de paiement sont en sécurité. Si vous voyez un nouveau produit développé de manière indépendante qui vous intéresse, pensez à découvrir qui l'a fabriqué et comment il a été fabriqué avant de leur donner de l'argent.