Ces derniers temps, avec l'avènement du Vibe Coding, j'ai vu toute la hype et les avantages que cela pouvait apporter. Mais honnêtement, pour moi, je ne voyais pas personnellement le bénéfice. Cela n'intervenait pas directement dans ce que je fais au quotidien, étant donné que je code quasi exclusivement en Python et que je développe de zéro des modèles ou des pipelines avec des API.
Du coup, pour mon cas, je n'arrivais pas à entrer dans le mouvement, car la majorité des applications étaient orientées vers le développement Web classique. Je me contentais donc de la complétion de code et de chats pour m'aider à résoudre mes problèmes. J'utilisais principalement les chatbots de Qwen ou Z.ai pour m'aider à mieux comprendre certaines notions et résoudre des problèmes ponctuels.
Récemment, je suis tombé sur OpenCode.school, un petit cours rapide, introductif et interactif sur le Vibe Coding. En suivant ce cours, j'ai pu mieux comprendre ce qu'est vraiment le Vibe Coding et me faire mon propre avis par la pratique, plutôt que de me fier à la tendance du moment.
Cette transition vers le Vibe Coding a été grandement facilitée par l'évolution rapide des outils d'IA. On est passé d'une génération d'outils basés sur la prédiction de texte à une génération d'agents capables d'agir.
Dans un premier temps, des outils comme GitHub Copilot ont révolutionné ma façon de coder en offrant une autocomplétion intelligente. C'était très utile pour des snippets de code, mais ça restait limité pour gérer la complexité d'un projet complet.
Plus récemment, l'arrivée d'outils comme Claude Code a changé la donne. Contrairement aux chats classiques où je dois constamment copier-coller les extraits de code et les erreurs, Claude Code a un accès direct à mon terminal. Par exemple, quand je lance mes tests unitaires et que ça échoue, l'agent lit l'erreur directement dans la sortie du terminal, ouvre le fichier train.py concerné, et applique la correction automatiquement. C'est ce passage de la "complétion" passive à l'agenticité active qui rend le Vibe Coding viable pour mes projets techniques.
Rapidement, en intégrant le Vibe Coding, cela a changé ma manière de coder. D'habitude, pour les projets de Deep Learning, on code souvent dans un Jupyter Notebook ou dans Colab. C'est une approche très linéaire et expérimentale.
Avec le Vibe Coding, on travaille plutôt avec des fichiers .py classiques. Ce n'est pas un problème en soi, mais c'est important pour une question de contexte : l'IA se débrouille mieux pour comprendre et modifier un projet structuré en modules Python plutôt qu'un notebook fragmenté. Cela montre qu'il y a souvent une certaine réadaptation nécessaire dans nos habitudes.
Dans ma situation, le Vibe Coding m'a aidé principalement dans trois cas précis qui me font gagner un temps considérable.
L'analyse exploratoire de données (EDA) peut être très chronophage. J'utilise désormais le Vibe Coding pour générer une première analyse solide, qui me servira de base de travail pour la suite.
L'approche "Skill" avec OpenCode :
J'ai créé un Skill personnalisé dans OpenCode. Le concept est simple : je donne mes données à l'IA, et elle utilise un script que j'ai configuré pour produire un rapport standardisé. J'ai basé cela sur data_profiling pour générer un fichier .md complet qui résume les statistiques, les distributions et les valeurs manquantes.
Vous pouvez voir le code que j'utilise pour ce Skill ici : voir le Gist.
Ce rapport me sert ensuite de contexte pour les prochaines prompts, évitant ainsi à l'IA de poser des questions basiques sur mes données.
L'intégration de Nao :
J'ai aussi découvert Nao, qui est un agent analyste de données plus poussé. En connectant Nao à OpenRouter.ai, je peux faire une analyse très poussée et discuter via un chat directement sur les données. De plus, en passant par une instance locale comme Ollama, je garde le contrôle total sur mes données sensibles.
Le deuxième aspect est l'aide à la compréhension des papiers de recherche (papers). Lire une publication complexe et la traduire en code PyTorch fonctionnel est un défi. Le Vibe Coding m'aide étape par étape dans ces recherches.
Pour cela, je me base sur des Skills spécialisés, véritables experts virtuels :
Pour la veille et la documentation :
Pour l'expertise technique :
Enfin, c'est un point crucial que j'avais sous-estimé : l'aide à la mise en production. Le Vibe Coding m'est indispensable pour créer et modifier mes routes FastAPI. Quand je dois ajouter un nouveau endpoint ou mettre à jour un modèle Pydantic pour accepter de nouveaux champs de données, l'IA génère la structure et les validations automatiquement. Elle s'assure également que la documentation automatique de l'API (via Swagger ou ReDoc) reste synchronisée avec le code, une tâche souvent fastidieuse quand on développe à la main.
Il existe de nombreux autres outils sur le MCP Market qui permettent d'étendre cette logique.
Le Vibe Coding n'est pas une révolution qui remplace le développeur, mais une évolution de la boîte à outils. Grâce à des outils avancés comme Claude Code ou l'écosystème MCP, j'ai pu déplacer ma charge cognitive de l'écriture de syntaxe vers l'architecture.
Cependant, la transition entre le code en scripts .py requis par ces agents et l'interactivité dont j'ai besoin en tant que Data Scientist reste un défi. Pour moi, la solution finale et idéale pour combiner ces deux mondes semble être Marimo.io. Il offre la rigueur du code Python (nécessaire pour que le Vibe Coding fonctionne bien) tout en gardant la réactivité d'un notebook. C'est probablement vers cet outil que je vais orienter mes futurs projets pour unifier complètement mon workflow.
Ma recommandation musicale du jour : à écouter sans modération !
Écouter sur YouTube