Sommaire
Vibe coding : une révolution ou un danger pour le développement logiciel ?
Nous savons tous que les programmeurs utilisent des outils d’IA pour compléter leur travail, mais une nouvelle tendance est en train de révolutionner cette pratique.
Le terme “vibe coding” a été inventé le mois dernier par Andrej Karpathy, cofondateur d’OpenAI, et ce qui a débuté comme un simple post sur X s’est rapidement transformé en une communauté à part entière.
Qu’est-ce que le vibe coding ?
Dans son post, Karpathy décrit le processus de création de logiciels sans écrire une seule ligne de code, en se contentant d’envoyer des instructions à un outil d’IA, qui génère ensuite l’ensemble du code nécessaire.
Il utilise même un outil de dictée pour éviter d’utiliser son clavier. Cela semble fou ? Ça l’est un peu.
Fonctionnement des outils d’IA
La plupart des outils de codage AI actuels offrent trois fonctionnalités majeures :
- Générer des suggestions d’autocomplétion pendant la saisie de code
- Expliquer, résumer, déboguer ou conseiller sur des extraits de code fournis
- Créer des morceaux de code à partir de commandes en langage naturel
Ces outils sont généralement destinés aux personnes ayant déjà des connaissances en programmation, même si certains incluent également des fonctionnalités pédagogiques.
L’émergence du vibe coding
Ce qui rend le vibe coding unique, c’est l’utilisation de ces outils par des personnes n’ayant aucune connaissance en développement logiciel. Elles décrivent simplement, en langage naturel, les résultats qu’elles souhaitent obtenir.
Les problèmes posés par le vibe coding
Lorsque des individus non techniques utilisent des outils comme Cursor pour faire du vibe coding, les résultats peuvent considérablement varier par rapport à ceux obtenus par des experts comme Karpathy.
Par exemple, lorsque Karpathy demande à Cursor de “Générer un code hachant et salant les mots de passe pour l’authentification des utilisateurs”, un débutant pourrait simplement demander “Hey Cursor, crée une base de données sécurisée pour stocker mes mots de passe.”
Différence de compréhension
L’utilisation du terme “sécurisée” semble appropriée, mais un modèle de langage de type LLM pourrait l’interpréter différemment ou simplement l’ignorer, ne respectant pas les normes de sécurité nécessaires.
De plus, la requête implicite de “stocker les mots de passe” démontre une incompréhension des techniques de sécurité, comme le salage et le hachage des mots de passe.
Risques de sécurité
Les conséquences de cette méconnaissance peuvent être graves. Une sécurité insuffisante ne provoquera pas un dysfonctionnement visible du logiciel, mais mettra en péril les données sensibles des utilisateurs, les exposant à d’éventuelles violations de données.
Karpathy a décrit ses expériences de vibe coding en disant que le code produit avec Cursor “fonctionne principalement”, mais “fonctionner principalement” n’est pas suffisant lorsqu’il s’agit de protéger les informations sensibles des utilisateurs.
Conséquences financières du vibe coding
Même si le vibe coding réduit les coûts de développement, il n’annule pas les frais liés au stockage et à la gestion des données. De plus, le code généré de manière aléatoire peut être inefficace, augmentant considérablement les coûts associés à l’usage des services comme AWS.
Impact d’une popularité soudaine
Imaginons qu’un produit devienne viral et que les coûts AWS surpassent les revenus : cela pourrait entraîner de sérieux problèmes financiers pour le créateur du logiciel, mettant éventuellement en péril la viabilité du produit.
La réalité du développement logiciel
Certaines personnes pensent que le vibe coding pourrait démocratiser le développement logiciel. Pourtant, l’apprentissage autonome reste une voie clé d’accès à la programmation. À ceux qui souhaitent créer des logiciels, il est essentiel d’apprendre à le faire, ou de s’associer avec des experts.
Nécessité d’une base de connaissance
Créer des logiciels demande des compétences variées : conception, compréhension des algorithmes, gestion des données, respect des standards de sécurité, optimisation, et débogage. Ces compétences vont au-delà de la simple saisie de code.
L’avenir du vibe coding
Il est difficile de prédire la pérennité du vibe coding. Cependant, il ne semble pas être une solution rentable pour un non-technicien cherchant à développer un produit de qualité.
En tant que consommateur, il est crucial de comprendre l’origine et les méthodes de conception d’un produit avant de faire confiance à ses fonctionnalités.
Les passionnés de technologie, les joueurs et les amateurs de VR/AR trouvent en le développement logiciel un domaine riche et stimulant, mais il n’existe malheureusement pas de raccourci facile pour ceux aspirant à créer les prochaines grandes innovations.
