La nouvelle tendance du « vibe coding » permettrait de créer des logiciels sans coder. En envoyant simplement des instructions à des outils d’IA, des utilisateurs non-techniques pourraient obtenir des résultats variés. Cependant, cette méthode soulève des préoccupations en matière de sécurité et d’efficacité, rendant la compréhension des résultats essentielle.
Le phénomène du vibe coding : un nouveau chapitre dans le développement logiciel
Nous savons tous que les programmeurs utilisent des outils d’IA pour accompagner leur travail, mais une nouvelle tendance émerge, poussant cette pratique à un degré supérieur. Le terme « vibe coding » a été introduit par le co-fondateur d’OpenAI, Andrej Karpathy, le mois dernier. Ce qui a commencé comme un post occulte sur X a rapidement pris de l’ampleur, donnant naissance à une toute nouvelle communauté.
Ce que Karpathy décrit dans son post, c’est la capacité de créer des logiciels sans écrire une seule ligne de code : il se contente d’envoyer des instructions décrivant ce qu’il souhaite à son outil d’IA et accepte l’intégralité des résultats générés. Il utilise même un outil de dictée pour éviter de toucher à son clavier. Cela peut sembler incroyable, n’est-ce pas ? Et en effet, c’est le cas.
Qu’est-ce que le vibe coding ?
La majorité des outils de codage par IA actuels réalisent trois tâches principales :
- Générer des suggestions de complétion automatique lors de la saisie d’une ligne de code.
- Expliquer, résumer, déboguer ou conseiller sur des extraits de code fournis.
- Générer des blocs de code basés sur vos instructions en langage naturel.
Ces outils sont conçus pour assister ceux qui savent déjà coder, certains se concentrant même sur l’éducation et l’apprentissage. Même Cursor, l’un des principaux outils utilisés pour le vibe coding actuellement, est fondamentalement destiné aux développeurs. Son objectif est d’accélérer des processus simples pour ceux qui auraient coder de toute façon, que l’outil existe ou non.
Prenez par exemple cette description d’une fonctionnalité sur le site de Cursor : « Cursor vous permet d’écrire du code à l’aide d’instructions. Mettez à jour des classes ou des fonctions entières avec un simple prompt. » Bien que le but de cette fonctionnalité soit d’éviter d’écrire manuellement du code, il reste impératif de comprendre ce que sont les classes et les fonctions pour en tirer pleinement parti.
Le vibe coding (ou ce que le vibe coding est en train de devenir) représente une tendance où les utilisateurs s’efforcent de créer quelque chose avec peu ou pas de connaissances en développement logiciel — en se contentant de décrire en langage naturel les résultats qu’ils souhaitent voir comme utilisateurs finaux.
Pourquoi le vibe coding pose-t-il des problèmes pour vos utilisateurs ?
Lorsqu’une personne totalement non technique ouvre Cursor et commence à pratiquer le vibe coding, les résultats diffèrent énormément de ceux obtenus par quelqu’un comme Andrej Karpathy. Là où Karpathy pourrait demander à Cursor de « générer un code qui hache et sale les mots de passe pour l’authentification des utilisateurs », un vibe coder non technique pourrait formuler sa demande ainsi : « Hé Cursor, crée une base de données sécurisée pour stocker mes mots de passe. »
Certes, il a employé le mot « sécurisé » — mais c’est exactement le type de détail qu’un LLM pourrait ignorer au hasard. De plus, sa compréhension de ce que signifie « sécurisé » pourrait ne pas répondre aux normes des logiciels commerciaux, ou il pourrait appliquer des mesures de sécurité à certains endroits et pas d’autres. Il y a également un problème avec cette formulation — le fait de « stocker mes mots de passe ». Bien qu’il soit courant de penser aux mots de passe comme étant « stockés » quelque part, si l’on comprend le hachage et le salage des mots de passe, on sait que ceux-ci ne sont techniquement pas stockés nulle part.
Au contraire, la valeur de hachage et le sel des mots de passe concaténés sont conservés — et malgré tous ces termes techniques, ce n’est pas un concept trop complexe. Cependant, il s’agit d’une information que vous ne pourriez connaître que si vous aviez pris le temps d’apprendre à son sujet. Et si vous ne le savez pas, vous ne pouvez pas le demander.
Ainsi, vous avez demandé une base de données sécurisée — mais quelle version de l’image de l’IA recevrez-vous ? Celle qui prend votre prompt au pied de la lettre et stocke les mots de passe tels quels dans une base de données aléatoire ? Ou celle qui considère ce que vous cherchez réellement à réaliser et vous propose un processus d’authentification adéquat ?
Je pense que la réponse la plus précise est que vous obtiendrez parfois le génie malicieux, parfois le génie bienveillant, et souvent quelque chose entre les deux — sans véritable cohérence. Cela pourrait réaliser 100% du travail, 90% ou même 5%. Avec un prompt aussi vague, n’importe quoi peut arriver. Et le souci, c’est qu’un vibe coder non technique n’a aucun moyen de comprendre le résultat ou de déterminer sa qualité.
Vous ne pouvez même pas écrire de tests appropriés pour découvrir ce qui se passe si vous ne savez pas quelles mesures de sécurité sont nécessaires, ce que vous avez obtenu, ce qu’elles doivent accomplir ou à quoi pourrait ressembler le succès ou l’échec.
Après tout, avoir de mauvaises, cassées, ou aucune mesure de sécurité dans votre logiciel ne le fera pas planter. Cela pourrait encore sembler fonctionner parfaitement du côté utilisateur — mais derrière les portes closes, les informations sensibles de vos utilisateurs (données personnelles, informations de paiement, historique d’utilisation) seraient complètement non protégées, prêtes à être volées par de mauvais acteurs. Et cela est préjudiciable tant pour vous que pour vos clients — des violations de sécurité entraînent du stress, des scandales et des pertes financières pour les propriétaires de produits.
Lorsque Karpathy a décrit ses expériences de vibe coding, il a dit que le code qu’il produisait avec Cursor « fonctionne surtout », et je ne suis pas ici pour prétendre que « fonctionne surtout » est inacceptable. Il existe toujours des corrections rapides, des solutions bricolées, des bugs, et toutes sortes de problèmes dissimulés dans chaque code de produit. Avec la taille et la complexité des logiciels aujourd’hui, cela est simplement inévitable.
Mais si vous souhaitez lancer votre projet au public et facturer les utilisateurs, vous avez la responsabilité de le rendre aussi sûr que possible. Laisser des informations sensibles non protégées n’est pas acceptable — et supposer qu’elles sont protégées sans la confirmation appropriée n’est pas bien non plus.
Si vous avez besoin d’un récit de précaution tiré de la réalité, @leojr94 sur X a tout ce dont vous avez besoin. Voici son histoire résumée dans trois posts X :
Pourquoi le vibe coding est-il problématique pour vous ?
Développer un logiciel a un coût. Même si vous réduisez tous les frais de développement grâce au vibe coding, vous devez toujours payer pour stocker vos données, les transférer entre vous et vos utilisateurs, et interagir avec d’autres services via des API.
Les services que vous utilisez, comme AWS, fonctionnent généralement sur un modèle de paiement à l’utilisation, ce qui signifie que vous ne payez que pour ce dont vous avez besoin. Super, n’est-ce pas ? Bien sûr, mais lorsque vous n’avez pas le contrôle du logiciel que vous développez, vous n’avez pas non plus le contrôle de l’utilisation des données. Votre code, généré en morceaux aléatoires et fusionné, est susceptible d’être extrêmement inefficace. Quelques lignes mal conçues pourraient produire 3x, 5x, ou même 10x plus de données que ce dont vous avez réellement besoin — et envoyer ces données inutiles entre vous et vos utilisateurs vous coûtera beaucoup d’argent supplémentaire. La pire façon dont cela peut mal tourner, en réalité, c’est lorsque les choses vont bien.
Imaginez que vous avez quelques utilisateurs, que vous recevez des paiements, que la croissance est lente mais régulière et que vous pouvez gérer cela. Mais un jour, vous vous réveillez et découvrez que votre contenu sur les réseaux sociaux est devenu viral, entraînant des milliers de personnes vers votre produit logiciel. Cela semble fantastique, sauf que votre facture AWS est maintenant énorme et que vous constatez que vos coûts de trafic réseau par utilisateur sont en réalité plus élevés que le prix d’abonnement qu’ils vous paient.
Quelle est la solution ?
À ce stade, certaines personnes pourraient commencer à suggérer des produits supplémentaires. Des plateformes conçues pour les vibe coders et les « non-techies » qui fournissent aux utilisateurs un support supplémentaire pour la sécurité, les serveurs et d’autres composants en arrière-plan. D’autres pourraient également dire qu’avec quelques ajustements, le vibe coding pourrait être exactement ce dont le développement logiciel a besoin pour devenir démocratisé et moins exclusif.
J’ai une opinion différente : c’est déjà démocratisé et déjà inclusif (bien que je ne pense pas que ce soit un mot). N’importe qui, partout, peut apprendre les sciences informatiques, le codage, la programmation ou le développement logiciel tant qu’il dispose d’un ordinateur et d’une connexion Internet — et c’est exactement ce que font beaucoup de gens. Un nombre considérable de programmeurs sont autodidactes et le seront probablement toujours. Vous avez tout ce dont vous avez besoin, ce qui m’amène à la vérité dure de la situation : si vous voulez créer des logiciels, alors tant pis — vous devez apprendre à le faire.
Si vous avez une idée, vous devez soit fournir l’effort nécessaire pour apprendre à la réaliser, soit fournir l’effort nécessaire pour trouver des partenaires et des investisseurs qui peuvent l’aider à se concrétiser. Il n’existe pas d’option facile, sans effort, où vous vous retrouvez par magie avec un produit fonctionnel en un minimum de temps, sans partenaires avec qui partager les bénéfices. Ce n’est pas ainsi que le monde fonctionne, et cela ne devrait pas fonctionner ainsi non plus.
Si vous voulez parler une autre langue, vous devez l’apprendre. Si vous voulez jouer de la guitare, vous devez apprendre comment. Et si vous voulez créer des logiciels — vous devez apprendre à créer des logiciels. Si le chemin du DIY vous semble intéressant, alors bonne nouvelle — quiconque ayant les moyens de s’asseoir et de pratiquer le vibe coding avec un logiciel gratuit ou payant a également les moyens de s’asseoir et d’étudier la programmation avec des cours gratuits ou payants. Peut-être pourriez-vous même utiliser des outils d’IA pour accélérer les choses.
Et je ne rigole pas en disant que n’importe qui peut le faire — la programmation est tellement inclusive qu’il existe même un « type de programmation » disponible pour presque tout le monde. Certes, tout le monde ne deviendra pas architecte logiciel dans une grande entreprise — mais certaines personnes apprendront suffisamment pour créer des jeux en C++, d’autres apprendront assez pour développer des applications avec Python, et même si vous décidez que le codage n’est pas vraiment votre truc, vous serez probablement capable de créer des sites web avec HTML. Que vous soyez un amoureux de l’apprentissage ou que vous n’ayez jamais étudié de votre vie, et que vous soyez un as des mathématiques ou que vous soyez mauvais en chiffres — vous serez capable de créer quelque chose.
Quelle est la durée de vie du vibe coding ?
À ce stade, il est impossible de savoir quels étaient les objectifs de Karpathy en menant cette expérience ou en la publiant en ligne. Pour moi, le post sur X semble dire : « Mince, ça devient fou cet IA. Je peux prendre des décisions délibérément mauvaises, demander des choses délibérément stupides, et pourtant je finis par obtenir quelque chose qui fonctionne quand même. »
D’autres semblent l’interpréter comme « Wow, vous pouvez créer des logiciels même si vous ne comprenez pas comment coder. » Non. Un grand non. Vous ne pouvez pas faire cela. Vous pourriez penser que la barrière entre vous et l’application que vous souhaitez créer est ce charabia cryptique que les programmeurs tapent toute la journée — que vous ne pouvez rien réaliser parce que vous ne savez pas comment écrire du code.
Mais ce n’est pas le cas. Vous pouvez commencer à comprendre tout cela après quelques heures seulement d’étude. C’est juste un langage, une méthode de communication entre vous et l’ordinateur, et cela est bien moins important que l’information que vous souhaitez communiquer. Si votre but dans la vie est d’avoir une conversation approfondie et technique avec un physicien expérimental espagnol dans sa langue natale — vous n’y parviendrez pas simplement en apprenant l’espagnol.
Créer des logiciels, comprendre les algorithmes, gérer les données, respecter les normes de sécurité, construire à l’échelle, optimiser et déboguer — ce sont les compétences qui constituent le développement de logiciels. Donc peu importe si Cursor vous permet d’éviter de taper du code, vous ne pourrez toujours pas créer une application appropriée si vous ne savez rien des applications.
Je ne sais pas vraiment à quel point le vibe coding va se développer ou combien de temps il va durer, mais je suis certain que ce n’est pas une bonne idée pour une personne non technique d’essayer de coder un produit de cette manière. Je ne pense pas non plus qu’essayer un produit codé par vibe soit une option sûre 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é indépendamment qui vous intéresse — renseignez-vous sur son origine et sa façon de fabrication avant de leur donner de l’argent.
