En tant que développeurs et ingénieurs, nous avons vu l'apparition d'une grande variété d'outils pour simplifier le processus de création logicielle. Durant nos études, nous avons utilisé Scratch pour créer un pipeline de blocs qui fonctionne dans un scénario de type « si ceci, alors cela ». Ensuite, nous avons connu des outils sans code pour aider des utilisateurs qui avaient de grandes idées, mais peu d'expérience technique en matière de création d'applications. Désormais, la dernière révolution dans la simplification du développement d'applications provient des modèles de langage. Ils interprètent des commandes en langage naturel (par exemple, « Crée une application Quarkus avec un frontend React pour afficher des cours d'actions ») afin d'automatiser des tâches telles que la configuration de projets, la génération de code et l'exécution de tests. Cette tendance, connue sous le nom de « vibe coding » (littéralement « programmation au ressenti ») repose sur l'IA agentique. Cette approche est déjà intégrée dans les environnements de développement actuels, mais quelles sont les implications du vibe coding, et fait-il plus de mal que de bien ?

Évolution de l'aide à la programmation

Le vibe coding consiste à utiliser des prompts d’IA pour produire du code utilisable, même sans posséder de maîtrise technique pour programmer de manière indépendante. Nous avons récemment constaté des changements majeurs au niveau des éditeurs de code. Par exemple, GitHub CoPilot a été lancé en octobre 2021, avant même le lancement des services de modèles de langage publics de type GPT, et a été largement adopté pour saisir du code de manière semi-automatique. Par exemple, si vous saisissez System.out.print, GitHub CoPilot est capable de le compléter automatiquement par (“Hello World!”). Cependant, même cet outil nécessite d'être capable de rédiger suffisamment de code pour que CoPilot puisse vous aider.

À la suite de l'assouplissement des contraintes de programmation par le lancement de Cursor, un environnement de développement intégré (IDE) basé sur l'IA, le débat autour du vibe coding a pris de l'importance auprès de leaders du secteur, tels qu'Andrej Karpathy, membre fondateur d'OpenAI, qui est intervenu et a popularisé l'expression « vibe coding ».

Cursor, qui repose sur l'IDE Visual Studio Code prisé, est à première vue semblable à de nombreux autres éditeurs de code. Toutefois, le vibe coding tel qu'expliqué par Karpathy permet de décrire en langage naturel un résultat souhaité pour un projet ou une modification apportée au code, et le backend du modèle suggère ou apporte des modifications de manière autonome. Il s'agit peut-être du cas d'utilisation le plus courant de l'IA agentique, lorsqu'un modèle dispose d'une autonomie ou d'un accès à des outils pour enrichir ses capacités. Pour ces outils de programmation assistée par IA, cette approche peut inclure des droits de lecture et d'écriture sur des fichiers, l'accès en ligne à une documentation et à des pages web, ainsi qu'un accès à un terminal pour exécuter des tests, etc. 

IDE with additional AI features

Toutefois, la fenêtre de contexte étendue pour les modèles de langage est un élément crucial de cette fonctionnalité. L'utilisation de centaines, voire de millions de jetons textuels à la fois permet à un modèle de langage d'utiliser l'ensemble du code source comme contexte dans le cadre du vibe coding. Par exemple, Llama 2 prenait en charge une fenêtre de contexte de 4 096 jetons textuels, Llama 3 proposait au départ une fenêtre de 8 192 jetons textuels et Llama 4 gère nativement jusqu'à 10 millions de jetons textuels dans son contexte. Plus le contexte est volumineux, plus il est utile aux développeurs et aux utilisateurs intéressés par le vibe coding.

Bon à savoir avant de se lancer dans le vibe coding 

Tout le monde n'est pas un développeur aguerri. Pourtant, beaucoup d'entre nous s'intéressent vivement aux nouvelles technologies et voient des idées se concrétiser, sans forcément maîtriser l'art de la syntaxe et des points-virgules. Des outils tels que Cursor apportent l'espoir de mettre au point une application utile. Prenons l'exemple de l'expérience typique d'un utilisateur qui cherche à faire du vibe coding afin de mieux comprendre ses forces et ses faiblesses, et comment il peut utiliser cette technique pour améliorer ses propres workflows. 

J'ai téléchargé Cursor sur le site web de Cursor, qui proposait des programmes d'installation précompilés pour Linux, Mac et Windows. Je ne savais pas par où commencer. C'est pourquoi j'ai envoyé une capture de l'écran de démarrage de Cursor à un assistant d'IA auquel je demandais conseil. En suivant ses instructions, j'ai créé un dossier pour stocker tous les fichiers du projet, puis je l'ai ouvert en cliquant sur le bouton Open project.  

 machine over SSH

 

L'interface de Cursor est semblable à celle de VS Code, si ce n'est une fenêtre de discussion sur la droite. Cette interface, associée à l'environnement de travail et aux fichiers actifs ouverts à gauche et à la fenêtre de discussion à droite, simplifie le workflow. Il n'est donc pas nécessaire d'appuyer sur Alt+Tab pour passer d'une fenêtre à l'autre et discuter avec un système d'IA. L'agent d'IA est intégré à l'éditeur de code lui-même.

dashboard for Cursor

 

Red Hat encourage et prend en charge la formation continue, que ce soit par le biais des formations et certifications Red Hat sur les conteneurs, Kubernetes et GitOps, ou en contribuant aux projets Open Source. Cette approche m'a donné l'idée de créer un outil de mémorisation qui s'exécute localement, pour que je puisse l'héberger et le partager avec d'autres utilisateurs. 

Voici ma première instruction générative : crée une application de cartes-questionnaires qui s'exécute dans mon navigateur. Je veux pouvoir retourner et ajouter des cartes à une liste de favoris.

Ma demande a été traitée par un modèle basé sur le cloud, puis Cursor a généré du code dans trois fichiers : 

  • index.html : structure de la page principale
  • style.css : styles et agencement
  • script.js : fonctionnalités 

Une grande partie du processus impliquait d'appuyer sur un bouton Accept afin de valider chaque fichier et suggestion de code. 

J'ai ensuite reçu un lien vers mon application de cartes-questionnaires. Malheureusement, elle ne fonctionnait pas tout à fait. 

J'ai dû réfléchir un peu pour expliquer les problèmes dans la fenêtre de discussion. Dans la mesure où Cursor et de nombreux modèles modernes sont capables de traiter tant des images que du texte, j'ai ajouté des captures d'écran et des explications en langage naturel sur ce qui ne fonctionnait pas. Après quelques allers-retours, l'application a enfin fonctionné. 

flashcards application

 

Cursor a généré une application complète avec des cartes modifiables, des animations de retournement fluides, des boutons Previous et Next ainsi qu'un système de stockage persistant. J'ai ouvert index.html et l'application s'exécutait sans problème. Même si elle n'est pas parfaite (il n'y a ni backend, ni synchronisation entre les appareils, ni mise à l'échelle, car ces fonctionnalités nécessiteraient d'autres connaissances), je l'ai créée à l'aide d'une simple instruction générative.

Si vous n'avez jamais écrit une ligne de code de votre vie, une plateforme comme Cursor ne suffira pas pour concevoir une application entièrement fonctionnelle. Sans la compréhension conceptuelle, un code généré par l'IA est fragile. De nombreux problèmes surviendront si vous tentez de le déployer, de gérer l'infrastructure ou de faire du dépannage dans un environnement de production. Sans connaissances de base, vous risquez de vous heurter à des obstacles lors de la mise à l'échelle de votre application, de sa sécurisation ou de sa maintenance dans le monde réel.

Je pense donc que le vibe coding vaut la peine d'être essayé, quel que soit votre niveau d'expérience. Cette pratique peut s'avérer difficile pour les nouveaux utilisateurs, car il existe plusieurs manière d'accomplir des tâches. Si vous ne connaissez pas les bases du comportement du terminal (par exemple, saisir le mot de passe d'un ordinateur sans le voir ou appuyer sur Y pour confirmer), il peut être facile de s'y perdre. Je conseille aux débutants d'ajouter des captures d'écran dans Cursor lorsque vous n'arrivez pas tout à fait à expliquer ce qui vous bloque. Une astuce consiste aussi à utiliser un autre agent conversationnel pour expliquer ce que Cursor suppose que vous savez déjà et pour vous aider à savoir quoi demander. Ces questions sont tellement actuelles qu'il existe un terme décrivant l'art de savoir quoi demander à l'IA : l'ingénierie d'instruction générative, ou la manière de formuler efficacement une question ou une demande à un modèle pour recevoir le résultat escompté. 

La réalité du vibe coding

Les outils de programmation basés sur l'IA et l'art du vibe coding continueront de rendre la programmation plus accessible. Comme pour toute compétence, tout métier ou toute profession, les tâtonnements sont essentiels dans cette démarche. De nombreux développeurs se souviennent clairement des sessions de débogage, des problèmes liés aux versions Python ou Java et aux SDK, ou encore de l'exécution par étapes. Produire du code est une chose, mais produire du bon code en est une autre. Vu l'entraînement que suivent les modèles de langage, une partie de leur ensemble de données peut contenir des réponses inexactes ou du code erroné ou obsolète, et l'utilisateur moyen n'est pas en mesure de réentraîner lui-même un modèle.

Il faut donc investir dans ses propres capacités. Red Hat propose des formations pratiques sur l'IA et des technologies de base telles que Linux et Kubernetes. Le monde de l'IA offre un avenir prometteur au vibe coding et aux capacités croissantes de l'IA en parallèle de la programmation traditionnelle. Cette approche est comparable à la « méthode du canard en plastique », une technique courante qui consiste à expliquer à haute voix un problème ou une intention à un canard en plastique pour se forcer à analyser le problème de manière objective. La différence est qu'avec l'IA, le canard répond !

Essai de produit

Red Hat Enterprise Linux AI | Essai de produit

Essayez gratuitement Red Hat Enterprise Linux AI pendant 60 jours, une plateforme optimisée pour l'exécution des grands modèles de langage.

À propos des auteurs

Legare Kerrison is a Technical Marketing Manager and Developer Advocate working on Red Hat's Artificial Intelligence offerings. She is passionate about open source AI and making technical knowledge accessible to all. She is based out of Boston, MA.

Cedric Clyburn (@cedricclyburn), Senior Developer Advocate at Red Hat, is an enthusiastic software technologist with a background in Kubernetes, DevOps, and container tools. He has experience speaking and organizing conferences including DevNexus, WeAreDevelopers, The Linux Foundation, KCD NYC, and more. Cedric loves all things open-source, and works to make developer's lives easier! Based out of New York.

UI_Icon-Red_Hat-Close-A-Black-RGB

Parcourir par canal

automation icon

Automatisation

Les dernières nouveautés en matière d'automatisation informatique pour les technologies, les équipes et les environnements

AI icon

Intelligence artificielle

Actualité sur les plateformes qui permettent aux clients d'exécuter des charges de travail d'IA sur tout type d'environnement

open hybrid cloud icon

Cloud hybride ouvert

Découvrez comment créer un avenir flexible grâce au cloud hybride

security icon

Sécurité

Les dernières actualités sur la façon dont nous réduisons les risques dans tous les environnements et technologies

edge icon

Edge computing

Actualité sur les plateformes qui simplifient les opérations en périphérie

Infrastructure icon

Infrastructure

Les dernières nouveautés sur la plateforme Linux d'entreprise leader au monde

application development icon

Applications

À l’intérieur de nos solutions aux défis d’application les plus difficiles

Virtualization icon

Virtualisation

L'avenir de la virtualisation d'entreprise pour vos charges de travail sur site ou sur le cloud