Un projet créé sans toucher au code

Marin Dedic, ingénieur logiciel cumulant cinq années d’expérience professionnelle et sept ans de pratique personnelle, a récemment développé une extension de navigateur baptisée SwiperTab sans écrire une seule ligne de code. Il qualifie cette expérience de « vibe-coding », une méthode où l’on confie l’essentiel de la production à une intelligence artificielle tout en vaquant à d’autres occupations – regarder la télévision dans son cas.

L’ingénieur explique qu’il aime utiliser les grands modèles de langage (LLM) pour gagner en productivité, mais qu’il tenait à distinguer deux pratiques : le travail avec des agents IA et le « vibe-coding ». Dans le premier cas, le développeur définit les exigences, examine l’implémentation, comprend l’architecture, teste rigoureusement et reste responsable du résultat. Le « vibe-coding », en revanche, consiste à laisser l’IA prendre certaines décisions sans même être obligé de consulter le code produit. « Tant que le produit vibe-codé ne peut pas endommager l’ordinateur, exposer des données confidentielles ou devenir critique pour quiconque, le vibe-coding me semble acceptable », écrit-il.

Pourquoi l’apprentissage manuel garde sa valeur

Avant de relater son expérience, Marin Dedic tient à souligner pourquoi le codage « à la main » conserve, selon lui, toute son importance. Il se remémore le moment où il a pris conscience de ce que signifie concrètement l’affirmation « HTTP est construit au-dessus de TCP ». Pour vérifier, il a créé un serveur HTTP rudimentaire et s’y est connecté via une socket TCP brute, envoyant d’abord des données aléatoires – sans réponse – puis des octets formatés comme une requête HTTP/1.1. « Ce que j’ai reçu était le même type de réponse que si j’avais utilisé la route fetch standard », raconte-t-il. Il insiste : « HTTP/1.1 n’est pas magique. C’est un protocole de couche application où le client envoie une requête textuelle formatée sur une connexion TCP, et le serveur analyse ce flux d’octets selon les règles HTTP. Les gens ont peur du mot “protocole” et supposent que c’est trop complexe. Un protocole n’est qu’un ensemble de règles, et ces règles peuvent se révéler assez simples. »

Pour lui, cette découverte a été marquante précisément parce qu’il l’a faite « avec ses propres mains ». Il estime que ne plus coder du tout manuellement empêche d’apprendre un sujet en profondeur : « Vous pouvez en lire, le comprendre temporairement, même en mémoriser des éléments, mais cela finira par devenir une de ces choses dont vous savez que vous les avez sues à un moment donné, sans pouvoir vous en souvenir car cela n’a eu aucun impact sur vous. »

De la théorie à la pratique : construire SwiperTab devant la télévision

L’ingénieur a fixé deux objectifs pour tester la méthode : créer une extension de navigateur fonctionnelle sans coder lui-même, et voir s’il pouvait le faire tout en regardant des émissions de télévision. Le résultat est SwiperTab, une extension qu’il a intégralement conçue par l’intermédiaire d’un LLM, sans revoir le code produit. Il précise avoir jeté un coup d’œil au code par curiosité, mais sans y être contraint, et que le résultat lui a semblé acceptable pour un projet personnel simple.

Marin Dedic cite d’autres exemples de projets vibe-codés : deux extensions de navigateur, des scripts shell pour son environnement de travail (il utilise le gestionnaire de fenêtres i3wm), des scripts de support pour son système d’exploitation et son écran, ainsi que son site personnel. Ce dernier a été réalisé avec le framework Astro, après avoir visionné une courte vidéo sur le sujet et demandé à Claude de lui écrire un blog simple avec thème néon/cyber et un sélecteur de thème clair/sombre. « Après une conversation de vingt minutes, j’avais 95 % de ce site sans aucune connaissance préalable d’Astro », témoigne-t-il.

Des limites pour les projets critiques

L’ingénieur précise néanmoins qu’il ne pourrait pas travailler de cette manière sur son emploi principal ni sur ses projets personnels exigeant une grande attention aux détails. Il cite son projet principal, Kiyeovo, un messager pair-à-pair avec deux modes réseau, dont la sortie est prévue pour juin. « Comme l’inspiration initiale était de créer l’expérience de conversation la plus sécurisée et privée possible, il n’y a pas de place pour le “vibe”. Chaque ligne de code passe par deux de mes relectures humaines, puis deux agents IA la vérifient également », explique-t-il.

Une réflexion sur l’avenir du développement

L’ingénieur s’interroge sur la place croissante de l’IA dans la programmation. Il rapporte la conversation avec un ami qui laisse Codex tout faire, même pour des projets « réels, pas énormes mais consistants », sans vérifier directement le code, seulement le résultat final. Cette approche l’a conduit à noter ses nombreuses idées de projets – sept grandes et vingt petites – en envisageant que l’IA puisse les réaliser à sa place. « N’est-ce pas l’avenir ? Moi disant à l’ordinateur quoi faire tout en prenant le soleil et en recevant un revenu universel de base parce que je ne peux pas rivaliser avec nos maîtres IA ? », interroge-t-il.

Il exprime aussi une préoccupation pour les générations futures : « Nous avons besoin de penseurs, de mathématiciens, de physiciens et de scientifiques plus intelligents. Je ne dis pas que l’utilisation de l’IA est mauvaise dans cette direction, mais je vois les jeunes générations refuser d’employer leurs facultés mentales, même pour les problèmes les plus simples : elles demandent à un LLM, survolent rapidement les parties en gras de la réponse, copient la réponse et passent à autre chose. Ce n’est pas idéal. »