On entend beaucoup parler du « Vibe Coding » en ce moment. Le concept : piloter une IA pour coder à sa place, comme si on avait un développeur virtuel dans son éditeur. Mais est-ce que ça marche vraiment, ou est-ce juste un buzzword de plus ?
Plutôt que de me contenter des promesses, j’ai voulu tester concrètement sur un vrai projet WordPress. Mon idée : créer par moi-même un plugin qui expose les Custom Post Types via une API REST. J’ai un profil de développeur, mais qui ne pratique plus au quotidien — donc je voulais voir si un outil comme Roo Code pouvait compenser mes lacunes et me rendre efficace rapidement.
Résultat : entre 10 et 20 heures investies, un budget d’environ 40 dollars, et un plugin fonctionnel que je n’aurais probablement jamais terminé seul. Voici mon retour d’expérience détaillé.
Le projet
J’utilise WordPress depuis des années. C’est une plateforme que j’aime beaucoup malgré ses défauts. J’ai poussé l’utilisation autant dans mes projets Pro que dans des projets de bénévolat ou des projets persos (comme ce site).
J’ai appris à bosser avec le Template Avada pour la partie mise en forme. Et j’utilise le plugin Toolset pour en étendre les fonctionnalités. En effet, Toolset permet de créer des Custom Post Types. En gros, ce sont des modèles de données personnalisés non standards à la plateforme. C’est très pratique pour mettre en place des données à afficher sur le site tout en donnant une gestion sans connaissance technique aux autres administrateurs du site.
Le défaut : ces données ne sont pas gérées par l’API de WordPress. C’est assez pénible quand vous avez des données qui commencent à être nombreuses.
J’avais cherché à faire un plugin par moi même… même aidé par ChatGPT depuis l’interface web. J’ai réussi à faire une version totalement bancale… Faire un plugin WordPress, ce n’est pas si simple.
Quoi de mieux que de laisser l’IA faire entièrement le taf en lui donnant accès au code sur mon poste ? C’est ça le Vibe Coding.
Spoiler alert : j’ai été plutot agréablement bluffé.
Les outils
Pour faire ça, sur les conseils de Fabrice, j’ai utilisé Roo Code. C’est un agent de programmation autonome basé sur l’IA, s’intégrant directement à votre éditeur (pour moi à VS Code), capable de lire/écrire des fichiers, exécuter des commandes, piloter un navigateur et interagir en langage naturel. En résumé, je lui parle pour lui dire ce que je veux coder… et il le code.
Pour le LLM (le moteur d’IA), j’ai décidé d’utiliser Claude. J’ai commencé en 3.7 et basculé sur la 4.0 en cours de projet. C’est pas avec la version gratuite. J’ai du créer un compte de développeur, mettre quelques $ et créer une clé d’API pour que Roo Code puisse utiliser le modèle.
Comme je commence à mesurer que la communication en langage naturel est une promesse un peu surestimée, je me suis fait aider de ChatGPT pour créer des prompts de taches efficaces, et en anglais. Le code en anglais, c’est le plus universel.
J’ai mis ça sur un projet GitHub… et c’est parti.
Qu’est ce que ça a donné ?
Et ben globalement, j’ai été hyper surpris. Le résultat est conforme à ce que je cherchais. J’ai eu deux itérations sur lesquelles j’ai du revenir en arrière. Donc assez peu de déchet au final.
Si vous voulez dire tout le mal que vous pensez de ce que j’ai produit, c’est à retrouver sur Github : https://github.com/JulienDelRio/wp-cpt-rest-api/tree/dev_2025-07 (branche dev_2025-07 le temps que je le finalise en V1 pour le publier).
Le plugin fait ce que je veux :
- Choisir les types de données à afficher dans l’api
- Lecture/modification/suppression des types et données personnalisées
- Une page de configuration pour les administrateurs
- Support des relations toolset
- Accès sécurisé par jeton d’api
- Un endpoint de description Swagger/OpenAPI
Je me suis notamment servi pour importer les conférences et conférenciers du DevFest Toulouse 2025 et créer les liens entre les deux.
Combien ça m’a couté ?
Comme je l’ai dit, j’ai utilisé l’API d’Anthropic. C’est donc un paiement à la consommation.
J’ai créé un dépot avec l’ensemble des exports de mes prompts : https://github.com/JulienDelRio/wp-cpt-rest-api-prompts
Voici un petit tableau de résumé :
Date et heure | Nom de la tache | Résumé de la tache | Nombre de sous taches | Coût ($) |
18/07/25 19:26 | Validation REST API Base Segment | Met à jour les règles de validation du segment d’URL de base (1–120 car., minuscules, chiffres, tirets). | 8 | $ 0,47 |
18/07/25 19:32 | Gestion des clés API | Interface d’admin pour créer, lister, supprimer des clés API (20 car. mixtes) + auth Bearer sur les endpoints. | 9 | $ 0,47 |
18/07/25 19:44 | Interface admin + namespace REST | Ajoute la page d’admin pour définir le segment d’API et enregistre dynamiquement le namespace REST associé. | 10 | $ 0,95 |
19/07/25 8:41 | Exposition des CPT dans l’API | Liste les CPT publics, toggles pour exposer via l’API; route /wp-json/{ns}/v1/{cpt} renvoyant ID,titre,date (GET). | 8 | $ 1,11 |
19/07/25 11:31 | Correction bug sauvegarde CPT | Corrige la sauvegarde des états CPT (tous activés par erreur); fiabilise AJAX + JS + erreurs. | 7 | $ 0,52 |
19/07/25 15:51 | Sauvegarde instantanée des CPT | Chaque toggle CPT sauvegarde immédiatement via AJAX; retour utilisateur direct; plus de bouton global. | 10 | $ 1,74 |
19/07/25 21:43 | Refonte complète interface CPT | Section « Custom Post Types Exposure » en tableau, activation immédiate, Reset All, routes par CPT. | 10 | $ 0,49 |
19/07/25 22:16 | Amélioration UX bouton Save | Déplace le bouton « Save Settings » sous « API Base Segment » pour lever la confusion avec les clés API. | 6 | $ 0,42 |
19/07/25 22:35 | Affichage des CPT avec switches | Affiche tous les CPT publics avec switch « Activer »; boutons Save & Reset; stocke via Settings API. | 7 | $ 1,45 |
19/07/25 22:37 | Suppression fichiers de démo | Supprime tous les fichiers de démonstration du projet (ex. demo-admin-page.html). | 1 | $ 0,13 |
20/07/25 10:40 | Séparer UI: API Settings vs API Keys | Réorganise la page admin en 2 sections (API Settings / API Keys), hiérarchie h1/h2/h3, séparation visuelle <hr>. | 8 | $ 0,79 |
20/07/25 19:01 | Endpoint POST création CPT | Ajoute POST /{cpt} pour créer des entrées (title, content, meta…), réponse 201, auth Bearer, validation WP. | 9 | $ 5,42 |
21/07/25 17:02 | Support relations Toolset (complet) | Toggle admin + routes /post/{id}/{rel} (GET/POST/DELETE) + ?relationships=true dans GET post unique. | 10 | $ 5,40 |
21/07/25 18:22 | Sync dynamique CPT > REST | Assure que la sélection CPT admin se reflète aussitôt dans l’API sans vidage cache; gère ajout/suppression CPT. | 7 | $ 3,92 |
22/07/25 16:26 | Toggle support relations Toolset | Ajoute un switch « Enable Toolset relationship support » (désactivé par défaut) stocké en option; base pour routes. | 8 | $ 2,91 |
23/07/25 16:56 | Implement Routes for Managing Specific Toolset Relationships | Ajoute la route REST /wp-json/cpt/v1/relations/{relation_slug}/ avec les méthodes GET, POST, DELETE pour récupérer, créer et supprimer des relations Toolset spécifiques. N’est actif que si le support des relations est activé dans les paramètres du plugin. | 522 | $ 1,45 |
23/07/25 19:05 | Change project version to 0.1 change all mentions. | Change project version to 0.1 change all mentions. | 646 | $ 0,59 |
23/07/25 19:13 | Change project name from « wordpress custom post types restapi » to « custom post types restapi » and all references | Change project name from « wordpress custom post types restapi » to « custom post types restapi » and all references | 32 | $ 0,13 |
28/07/25 17:19 | Analyze and Implement Dynamic OpenAPI Documentation for CPT REST API | Analyse le plugin WordPress existant qui expose des Custom Post Types via une API REST, puis implémente une documentation OpenAPI/Swagger générée dynamiquement en fonction des paramètres et CPT actifs. | 3348 | $ 4,80 |
30/07/25 15:24 | Update api /wp-json/{base_segment}/v1/ to make the root endpoint available public. | Update api /wp-json/{base_segment}/v1/ to make the root endpoint available public. | 166 | $ 0,26 |
30/07/25 16:39 | In plugin admin, we can select all cpt to display in api. cpt can be public or not. add an option to display non public cpt. this option should be desabled by default. | In plugin admin, we can select all cpt to display in api. cpt can be public or not. add an option to display non public cpt. this option should be desabled by default. | 1566 | $ 1,80 |
J’en ai eu pour plus de 40$. C’est à la fois beaucoup et pas beaucoup. Beaucoup parce que ça part vraiment vite. Notamment plus le contexte augmente plus les tokens en lecture coutent cher. Mais pas beaucoup, parce que comparé à un développeur qui ferait ça, c’est vraiment rien.
Ce que j’ai appris
Vraiment plein de choses… Voyons ça en détails.
Roo Code est très puissant
L’outil est vraiment impression. Il intègre le principe des « Boomerang Task » ou l’orchestration de taches. A partir de votre prompt initial, il va découper en taches plus petites. D’un prompt initial, il va créer lui-même plusieurs prompts spécifiques avec des agents spécifiques. Vous pouvez d’ailleurs voir chaque requête qu’il fait pour comprendre comment elles sont construites. Vous verrez, c’est beaucoup plus verbeux que ce que vous feriez. Au final, si vous vous adressez à Roo Code en langage naturel, lui ne s’adressera pas au LLM en langage « naturel », mais dans un formalisme bien plus technique et peu humain.
Il est compatible avec une très grande quantité de modèles du marché, qu’ils soient cloud ou auto-hébergeable. J’ai l’impression qu’on peut en faire une alternative souveraine intéressante à Cursor.
Et je crois qu’il y a des fonctionnalités avancées que je n’ai pas exploré.
Attention, ça peut monter vite en dépenses
D’ailleurs, le fonctionnement de ces taches peut paraitre tout à fait intuitif, il comporte certaines subtilités. Notamment, il gère pour vous un cache de contexte avec le LLM. C’est hyper puissant pour garder la cohérence tout au long de la tache. Mais ce contexte semble passé au LLM à chaque appel et vous sera donc compté dans le quota de lecture.
Résultat, sur plusieurs taches avec lesquelles j’ai fait plusieurs itérations, je ne me suis pas rendu compte que la facture augmentait. Alors que les autres taches étaient en dessous du $ (voire nettement en dessous), je me suis retrouvé à avoir une facture pour une tâche de plus de 5$… Ca peut vite monter pour un petit projet perso.
Roo Code est d’ailleurs hyper transparent en vous présentant une estimation de cout par requète et par tache très proche de la réalité. Ca permet de se rendre compte de ce qu’il se passe.
Ne pas hésiter à le faire itérer
Comme je l’ai évoqué précédemment, j’ai itéré sur certaines taches. Il y a deux types d’itérations :
- les itérations « courtes »
- les itérations « longues »
Pour les itérations courtes, je parle de déplacer un élément HTML ou changer le contenu d’un JSON. C’est donc pour impacter un changement mineur au résultat. Dans ce cas, vous pouvez tout à faire le faire dans le prompt de la tache en cours. Cela affinera la tache, sans en augmenter le cout sensiblement.
Par contre, si l’implémentation proposée par la tâche ne vous convient pas partiellement ou totalement, je vous conseille de commiter vos changements dans Git et de relancer une nouvelle tache. Il m’est même arrivé de revenir en arrière grâce à ça pour refaire un prompt qui n’était pas bon. Ce qui est trop fort avec Roo Code, c’est qu’il sait commiter tout seul. Par contre, je recommande de le faire après avoir regardé ce qu’il a changé… c’est plus pratique.
Mon bilan
Au final, ce projet m’a convaincu que le Vibe Coding est bien plus qu’un simple effet de mode. Roo Code et les modèles d’IA comme Claude permettent vraiment de gagner en efficacité, surtout pour des développeurs qui, comme moi, ne pratiquent plus quotidiennement. Sans cet outil, je n’aurais sans doute pas mené le projet à bout en si peu de temps.
Ce que je retiens, c’est que ces outils vont clairement transformer la productivité des développeurs : un senior pourra basculer très vite sur une nouvelle techno et rester compétitif, tandis qu’un junior pourra monter en puissance plus rapidement. Mais paradoxalement, les seniors garderont l’avantage, car ils sauront mieux tirer parti de l’IA et éviter les pièges.
Je vois aussi un impact énorme pour l’open source : la baisse drastique du coût par ligne de code va rendre de nombreux projets beaucoup plus compétitifs face aux solutions propriétaires. La valeur se déplacera vers la maîtrise des usages avancés plutôt que vers la simple écriture de code.
Pour moi, la preuve de concept est faite. Et ce n’est qu’un début : je vais finaliser ce plugin, publier une première version, puis continuer à explorer Roo Code avec d’autres modèles et d’autres approches. Une chose est sûre : le Vibe Coding va profondément changer ma manière de développer.