{"id":2903,"date":"2025-05-12T04:37:37","date_gmt":"2025-05-12T08:37:37","guid":{"rendered":"https:\/\/www.cleverthinkingsoftware.com\/?p=2903"},"modified":"2025-05-12T13:17:59","modified_gmt":"2025-05-12T17:17:59","slug":"spec-first-development-the-missing-manual-for-building-with-ai","status":"publish","type":"post","link":"https:\/\/www.cleverthinkingsoftware.com\/fr\/spec-first-development-the-missing-manual-for-building-with-ai\/","title":{"rendered":"D\u00e9veloppement Orient\u00e9 Sp\u00e9cifications : Le Manuel Essentiel pour Construire avec l'IA"},"content":{"rendered":"<p><em>Arr\u00eatez le \"vibe coding\" et commencez \u00e0 cr\u00e9er des logiciels maintenables avec les LLM<\/em><\/p>\n\n\n\n<p>Depuis que les grands mod\u00e8les de langage (LLM) se sont d\u00e9mocratis\u00e9s, j'ai observ\u00e9 les ing\u00e9nieurs transformer leurs m\u00e9thodes de travail. Avec des outils comme ChatGPT, Claude et GitHub Copilot \u00e0 leur disposition, les d\u00e9veloppeurs cr\u00e9ent leurs logiciels par conversation - mais ils s'y prennent mal.<\/p>\n\n\n\n<p>Je vais vous montrer pourquoi cette approche courante m\u00e8ne \u00e0 des logiciels fragiles et difficiles \u00e0 maintenir, qui deviennent un cauchemar \u00e0 faire \u00e9voluer - m\u00eame avec l'assistance de l'IA. Plus important encore, je vais vous pr\u00e9senter une m\u00e9thode qui produit du code propre, pr\u00e9cis, r\u00e9sistant aux bugs et de haute qualit\u00e9, qui reste facile \u00e0 maintenir tant par les humains que par les LLM.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-848d67629cf31fce72def135733046d6\" style=\"color:#000000;padding-top:var(--wp--preset--spacing--10);font-size:clamp(0.984rem, 0.984rem + ((1vw - 0.2rem) * 0.86), 1.5rem);\"><strong>Le probl\u00e8me du \"Vibe Coding\"<\/strong><\/h2>\n\n\n\n<p>Quand la plupart des d\u00e9veloppeurs utilisent les LLM, ils suivent ce que j'appelle le flux de travail du \"vibe coding\" :<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Concevoir une id\u00e9e vague<\/li>\n\n\n\n<li>Demander \u00e0 un LLM de l'impl\u00e9menter<\/li>\n\n\n\n<li>Obtenir un bloc de code en r\u00e9ponse<\/li>\n\n\n\n<li>Le tester, trouver des probl\u00e8mes<\/li>\n\n\n\n<li>Renvoyer le code au LLM avec des demandes de correction<\/li>\n\n\n\n<li>R\u00e9p\u00e9ter les \u00e9tapes 4-5 ind\u00e9finiment<\/li>\n<\/ol>\n\n\n\n<p>Cette approche semble initialement magique. Vous pouvez mat\u00e9rialiser des applications complexes en minutes au lieu de jours. Mais tout comme demander \u00e0 un sculpteur de \"faire quelque chose de cool\" sans sp\u00e9cifications, vous finissez avec quelque chose qui fonctionne momentan\u00e9ment mais devient impossible \u00e0 reproduire, \u00e9tendre ou maintenir.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"562\" src=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/05\/code_first_workflow_fr.jpg\" alt=\"\" class=\"wp-image-2936\" srcset=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/05\/code_first_workflow_fr.jpg 2046w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/05\/code_first_workflow_fr-300x152.jpg 300w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/05\/code_first_workflow_fr-1024x519.jpg 1024w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/05\/code_first_workflow_fr-768x389.jpg 768w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/05\/code_first_workflow_fr-1536x778.jpg 1536w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/05\/code_first_workflow_fr-18x9.jpg 18w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Le d\u00e9faut fondamental ?&nbsp;<strong>Les d\u00e9veloppeurs it\u00e8rent sur le code plut\u00f4t que sur les exigences.<\/strong><\/p>\n\n\n\n<p>Les LLM ne sont pas con\u00e7us pour comprendre et modifier des bases de code complexes. Ils excellent \u00e0 suivre des descriptions et \u00e0 g\u00e9n\u00e9rer de nouvelles impl\u00e9mentations. Quand vous les forcez \u00e0 modifier r\u00e9cursivement du code, vous luttez contre leurs forces tout en amplifiant leurs faiblesses.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-41e45a6b7611ce59a83ac9fb0ebf94d0\" style=\"color:#000000;padding-top:var(--wp--preset--spacing--10);font-size:clamp(0.984rem, 0.984rem + ((1vw - 0.2rem) * 0.86), 1.5rem);\"><strong>La solution : It\u00e9rer sur les sp\u00e9cifications, pas sur le code<\/strong><\/h2>\n\n\n\n<p>La r\u00e9v\u00e9lation qui a transform\u00e9 mon flux de travail est venue en cherchant \u00e0 contourner les limitations de contexte des premi\u00e8res sessions de LLM. Au lieu d'essayer de faire rentrer une base de code enti\u00e8re dans la fen\u00eatre de contexte, j'ai commenc\u00e9 \u00e0 it\u00e9rer sur les sp\u00e9cifications.<\/p>\n\n\n\n<p>Voici l'id\u00e9e cl\u00e9 :&nbsp;<strong>Les LLM sont bien meilleurs pour \u00e9crire du nouveau code que pour \u00e9diter du code existant.<\/strong><\/p>\n\n\n\n<p>Alors ne leur donnez pas du code \u00e0 corriger - donnez-leur des sp\u00e9cifications \u00e0 impl\u00e9menter.<\/p>\n\n\n\n<p>J'appelle cette approche le&nbsp;<strong>D\u00e9veloppement Orient\u00e9 Sp\u00e9cifications<\/strong>:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Commencer avec une sp\u00e9cification \u00e9crite claire<\/li>\n\n\n\n<li>Demander \u00e0 un LLM de l'impl\u00e9menter<\/li>\n\n\n\n<li>Tester l'impl\u00e9mentation<\/li>\n\n\n\n<li>Au lieu de modifier le code, mettre \u00e0 jour la sp\u00e9cification<\/li>\n\n\n\n<li>Demander au LLM d'impl\u00e9menter la sp\u00e9cification mise \u00e0 jour (soit depuis la derni\u00e8re version, soit de z\u00e9ro)<\/li>\n\n\n\n<li>R\u00e9p\u00e9ter selon les besoins<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"515\" src=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/05\/spec_first_workflow_fr.jpg\" alt=\"\" class=\"wp-image-2937\" srcset=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/05\/spec_first_workflow_fr.jpg 2050w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/05\/spec_first_workflow_fr-300x151.jpg 300w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/05\/spec_first_workflow_fr-1024x515.jpg 1024w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/05\/spec_first_workflow_fr-768x387.jpg 768w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/05\/spec_first_workflow_fr-1536x773.jpg 1536w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/05\/spec_first_workflow_fr-2048x1031.jpg 2048w, https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/05\/spec_first_workflow_fr-18x9.jpg 18w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Cette m\u00e9thode offre plusieurs avantages imm\u00e9diats :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Modularit\u00e9 inh\u00e9rente<\/strong>&nbsp;- les applications complexes se d\u00e9composent naturellement en sp\u00e9cifications de composants<\/li>\n\n\n\n<li><strong>Utilisation drastiquement r\u00e9duite de tokens<\/strong>&nbsp;&#8211; specs are compact compared to code, and modern LLMs only update the parts of the code that need to be<\/li>\n\n\n\n<li><strong>Pas de d\u00e9bordement de contexte<\/strong>&nbsp;- m\u00eame des applications complexes peuvent \u00eatre d\u00e9crites succinctement<\/li>\n\n\n\n<li><strong>Ind\u00e9pendance de plateforme<\/strong>&nbsp;- la m\u00eame sp\u00e9cification peut cibler diff\u00e9rentes plateformes ou langages<\/li>\n\n\n\n<li><strong>Flexibilit\u00e9 de framework<\/strong>&nbsp;- changez de framework en cours de d\u00e9veloppement sans r\u00e9\u00e9criture<\/li>\n\n\n\n<li><strong>Documentation int\u00e9gr\u00e9e<\/strong>&nbsp;- vos sp\u00e9cifications documentent exactement ce que fait votre logiciel<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-3b8fe578174cab58c95df35fab15cd70\" style=\"color:#000000;padding-top:var(--wp--preset--spacing--10);font-size:clamp(0.984rem, 0.984rem + ((1vw - 0.2rem) * 0.86), 1.5rem);\"><strong>Comment \u00e9crire des sp\u00e9cifications efficaces<\/strong><\/h2>\n\n\n\n<p>Le c\u0153ur de cette approche est la r\u00e9daction de bonnes sp\u00e9cifications. Voici mon processus :<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Commencer par une description d'une phrase<\/strong><\/h3>\n\n\n\n<p>D\u00e9butez avec la description minimale absolue de votre application :<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.208), 1rem);\"><code>Une application pour automatiser la cr\u00e9ation de captures d'\u00e9cran pour l'App Store.<\/code><\/pre>\n\n\n\n<p>Cette phrase fondamentale vous aide \u00e0 rester concentr\u00e9 sur l'objectif principal.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. D\u00e9velopper une description fonctionnelle basique<\/strong><\/h3>\n\n\n\n<p>\u00c9laborez l\u00e9g\u00e8rement sur la forme et la fonction, sans d\u00e9tails techniques :<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.208), 1rem);\"><code>Une application iOS et Android qui pr\u00e9sente une interface simple permettant aux utilisateurs de cr\u00e9er, \u00e9diter et produire des mises en page de captures d'\u00e9cran. L'outil aurait des fonctionnalit\u00e9s de base comme l'import\/export et un \u00e9diteur visuel de mise en page avec des options pour ajuster le placement, le dimensionnement et la rotation des \u00e9l\u00e9ments import\u00e9s.<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><br><strong>3. D\u00e9tailler la sp\u00e9cification compl\u00e8te<\/strong><\/h3>\n\n\n\n<p>Cr\u00e9ez maintenant une sp\u00e9cification d\u00e9taill\u00e9e couvrant l'interface, les fonctionnalit\u00e9s et le comportement :<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.208), 1rem);\"><code>Style d'interface : Style plat minimaliste, boutons aux coins arrondis, th\u00e8me de couleur bleu, gris clair et blanc.\n\nDisposition de l'interface : \u00c9diteur WYSIWYG plein \u00e9cran, deux boutons flottants en bas : 'Importer', 'Exporter'.\n\n\u00c9l\u00e9ments visuels par d\u00e9faut :\n- Un titre de capture d'\u00e9cran par d\u00e9faut affich\u00e9 sous forme de texte flottant \u00e9ditable : 'titre'.\n- Un sous-titre de capture d'\u00e9cran par d\u00e9faut affich\u00e9 sous le titre : 'sous-titre'.\n- Un cadre vide affich\u00e9 sous le sous-titre, centr\u00e9 horizontalement et verticalement.\n\nInteractions :\n- Bouton Importer : Ouvre le navigateur de photos natif du syst\u00e8me d'exploitation.\n- Bouton Exporter : Ouvre le panneau de partage natif du syst\u00e8me avec les options : 'Exporter en PNG', 'Enregistrer la photo'.\n- S\u00e9lection d'\u00e9l\u00e9ment : Cliquer sur un \u00e9l\u00e9ment affiche un cadre autour avec des poign\u00e9es pour d\u00e9placer, redimensionner et faire pivoter.\n- Rotation : Une ic\u00f4ne de rotation appara\u00eet en bas \u00e0 droite du cadre de s\u00e9lection. La faire glisser fait pivoter l'\u00e9l\u00e9ment avec un alignement \u00e0 90\u00b0.\n- Positionnement : Les \u00e9l\u00e9ments s'alignent sur une grille fine semi-transparente centr\u00e9e sur l'\u00e9cran.<\/code><\/pre>\n\n\n\n<p>Quand vos sp\u00e9cifications atteignent ce niveau de d\u00e9tail, n'importe quel LLM peut produire une impl\u00e9mentation solide. Au fur et \u00e0 mesure que vous recueillez des retours et affinez votre application, vous mettez \u00e0 jour ce document de sp\u00e9cification plut\u00f4t que le code g\u00e9n\u00e9r\u00e9.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-a9e45e9036a12c6a3b4dd8a29daf26a2\" style=\"color:#000000;padding-top:var(--wp--preset--spacing--10);font-size:clamp(0.984rem, 0.984rem + ((1vw - 0.2rem) * 0.86), 1.5rem);\"><strong>Un flux de d\u00e9veloppement r\u00e9el<\/strong><\/h2>\n\n\n\n<p>Voyons cette approche en action :<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Premier prompt pour analyser et formaliser votre id\u00e9e<\/h3>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.208), 1rem);\"><code>J'ai une description basique d'une application que je veux construire. Pourriez-vous :\n1. La transformer en une sp\u00e9cification formelle\n2. Identifier les d\u00e9tails manquants\n3. Poser des questions clarificatrices sur les zones ambigu\u00ebs\n\nDescription de l'application :\n[votre description initiale]<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><br>Prompt pour g\u00e9n\u00e9rer du code \u00e0 partir d'une sp\u00e9cification<\/h3>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.208), 1rem);\"><code>Bas\u00e9 sur la sp\u00e9cification suivante, g\u00e9n\u00e9rez une impl\u00e9mentation compl\u00e8te utilisant [langage\/framework]. Le code doit \u00eatre propre, bien comment\u00e9 et suivre les meilleures pratiques. Ne supposez aucune fonctionnalit\u00e9 non explicitement mentionn\u00e9e dans la sp\u00e9cification.\n\nSP\u00c9CIFICATION :\n[votre sp\u00e9cification d\u00e9taill\u00e9e]<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><br>Prompt pour mettre \u00e0 jour les sp\u00e9cifications apr\u00e8s retour<\/h3>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.208), 1rem);\"><code>J'ai re\u00e7u des retours sur l'impl\u00e9mentation initiale. J'aimerais mettre \u00e0 jour la sp\u00e9cification pour inclure ces changements :\n[liste des changements]\n\nVeuillez r\u00e9\u00e9crire la sp\u00e9cification compl\u00e8te pour incorporer ces changements tout en maintenant la coh\u00e9rence avec les exigences originales.<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><br>Prompt pour g\u00e9n\u00e9rer une impl\u00e9mentation mise \u00e0 jour<\/h3>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.208), 1rem);\"><code>En utilisant cette sp\u00e9cification mise \u00e0 jour, g\u00e9n\u00e9rez une nouvelle impl\u00e9mentation. Ne changez pas le code utilis\u00e9 pour impl\u00e9menter les fonctions existantes, et n'ajoutez du code que pour impl\u00e9menter les nouvelles fonctionnalit\u00e9s demand\u00e9es. Concentrez-vous sur l'impl\u00e9mentation exacte de ce qui est d\u00e9crit dans la sp\u00e9cification, ni plus, ni moins.\n\nSP\u00c9CIFICATION MISE \u00c0 JOUR :\n[votre sp\u00e9cification mise \u00e0 jour]<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-149dfd9ca5a3690c55dbcddf67566149\" style=\"color:#000000;padding-top:var(--wp--preset--spacing--10);font-size:clamp(0.984rem, 0.984rem + ((1vw - 0.2rem) * 0.86), 1.5rem);\"><strong>Sauver des projets existants de \"Vibe Coding\"<\/strong><\/h2>\n\n\n\n<p>Si vous avez d\u00e9j\u00e0 accumul\u00e9 un d\u00e9sordre de code g\u00e9n\u00e9r\u00e9 par IA via l'approche de vibe coding, vous pouvez encore r\u00e9cup\u00e9rer :<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Prompt pour extraire des sp\u00e9cifications du code existant<\/h3>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.208), 1rem);\"><code>Analysez le code suivant et g\u00e9n\u00e9rez un document de sp\u00e9cification complet qui d\u00e9crit ce qu'il fait, pas comment il le fait. Incluez toutes les fonctionnalit\u00e9s, comportements, r\u00e8gles m\u00e9tier et \u00e9l\u00e9ments d'interface que vous pouvez identifier. Formatez cela comme une sp\u00e9cification structur\u00e9e qu'un autre ing\u00e9nieur pourrait impl\u00e9menter \u00e0 partir de z\u00e9ro.\n\nCODE :\n[votre code existant]<\/code><\/pre>\n\n\n\n<p>Une fois que vous avez ces sp\u00e9cifications extraites, vous pouvez les nettoyer, supprimer les redondances et les utiliser comme base pour une nouvelle impl\u00e9mentation.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-5bc28d29c608e1bad347646870533fa7\" style=\"color:#000000;padding-top:var(--wp--preset--spacing--10);font-size:clamp(0.984rem, 0.984rem + ((1vw - 0.2rem) * 0.86), 1.5rem);\"><strong>Versionnement de vos sp\u00e9cifications<\/strong><\/h2>\n\n\n\n<p>Traitez vos sp\u00e9cifications comme les actifs pr\u00e9cieux qu'elles sont :<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Stockez-les dans un syst\u00e8me de contr\u00f4le de version<\/li>\n\n\n\n<li>Utilisez un versionnement s\u00e9mantique (v0.1, v0.2, etc.)<\/li>\n\n\n\n<li>Pour les applications complexes, divisez les sp\u00e9cifications en modules (C\u0153ur, Interface, Couche de donn\u00e9es, etc.)<\/li>\n\n\n\n<li>Incluez une section \"Le\u00e7ons apprises\" documentant les d\u00e9tails d'impl\u00e9mentation d\u00e9licats<\/li>\n<\/ol>\n\n\n\n<p>Votre fichier de sp\u00e9cification devrait \u00eatre le premier fichier que vous cr\u00e9ez dans un projet et le dernier que vous mettez \u00e0 jour dans chaque session de d\u00e9veloppement.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-9ba8e944b835159b8017e55546e9a6e0\" style=\"color:#000000;padding-top:var(--wp--preset--spacing--10);font-size:clamp(0.984rem, 0.984rem + ((1vw - 0.2rem) * 0.86), 1.5rem);\"><strong>Pourquoi cette approche transforme le d\u00e9veloppement avec l'IA<\/strong><\/h2>\n\n\n\n<p>L'approche orient\u00e9e sp\u00e9cifications change fondamentalement votre conception du d\u00e9veloppement logiciel avec l'IA :<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Le code devient jetable<\/strong>&nbsp;- Vous n'\u00eates plus attach\u00e9 \u00e0 des impl\u00e9mentations sp\u00e9cifiques<\/li>\n\n\n\n<li><strong>Les impl\u00e9mentations multiples deviennent triviales<\/strong>&nbsp;- G\u00e9n\u00e9rez des versions iOS, Android et web \u00e0 partir de la m\u00eame sp\u00e9cification<\/li>\n\n\n\n<li><strong>Les LLM deviennent interchangeables<\/strong>&nbsp;- Votre sp\u00e9cification fonctionne avec n'importe quel mod\u00e8le ou outil<\/li>\n\n\n\n<li><strong>Vous gardez le contr\u00f4le de l'architecture<\/strong>&nbsp;- L'humain se concentre sur le quoi, l'IA sur le comment<\/li>\n\n\n\n<li><strong>Votre logiciel devient p\u00e9renne<\/strong>&nbsp;- \u00c0 mesure que les LLM s'am\u00e9liorent, r\u00e9g\u00e9n\u00e9rez de meilleures impl\u00e9mentations \u00e0 partir des m\u00eames sp\u00e9cifications<\/li>\n<\/ol>\n\n\n\n<p>Consid\u00e9rez cela comme un retour \u00e0 l'essence de l'ing\u00e9nierie logicielle : d\u00e9finir clairement le probl\u00e8me avant de le r\u00e9soudre. La diff\u00e9rence est que maintenant, avec les LLM, le chemin de la sp\u00e9cification \u00e0 l'impl\u00e9mentation est devenu presque instantan\u00e9.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"padding-top:var(--wp--preset--spacing--10);padding-bottom:0;font-size:clamp(0.984rem, 0.984rem + ((1vw - 0.2rem) * 0.86), 1.5rem);\"><strong>Et Les Gros Projets ?<\/strong><\/h2>\n\n\n\n<p>Je suis s\u00fbr que certain d'entre vous vous demanderez si cette m\u00e9thode fonctionne pour les projets de grande taille. En fait, la m\u00e9thode fonctionne pour les projets de toutes tailles, du moment que les sp\u00e9cifications sont \u00e0 la hauteur. Pour les projets de tr\u00e8s grande taille, je recommande g\u00e9n\u00e9ralement de prendre une approche hybride : on commence par it\u00e9rer sur les sp\u00e9cifications pour arriver au MVP, puis on descend d'un niveau et on travaille au niveau du module, du composant ou m\u00eame de la fonction. Il n'y a pas vraiment de limite, du moment qu'on continue \u00e0 appliquer la m\u00e9thode au niveau o\u00f9 on se trouve dans le projet.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-af22a851dc62f6c0a7cb0c9036e413fa\" style=\"color:#000000;padding-top:var(--wp--preset--spacing--10);font-size:clamp(0.984rem, 0.984rem + ((1vw - 0.2rem) * 0.86), 1.5rem);\"><strong>La m\u00e9ta-couche : le code comme une vue<\/strong><\/h2>\n\n\n\n<p>L'aper\u00e7u le plus profond de cette approche est de voir le code comme simplement une vue possible de vos sp\u00e9cifications. Vos sp\u00e9cifications deviennent la source de v\u00e9rit\u00e9, et le code n'est qu'une manifestation.<\/p>\n\n\n\n<p>\u00c0 partir d'une seule sp\u00e9cification, vous pouvez g\u00e9n\u00e9rer :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Des impl\u00e9mentations pour plusieurs plateformes<\/li>\n\n\n\n<li>Des suites de tests<\/li>\n\n\n\n<li>De la documentation<\/li>\n\n\n\n<li>Des guides utilisateur<\/li>\n\n\n\n<li>Des interfaces d'API<\/li>\n<\/ul>\n\n\n\n<p>Chacun n'est qu'une projection diff\u00e9rente de la m\u00eame sp\u00e9cification sous-jacente.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-c583d50720b6727cfbf598ae9cf31aba\" style=\"color:#000000;padding-top:var(--wp--preset--spacing--10);font-size:clamp(0.984rem, 0.984rem + ((1vw - 0.2rem) * 0.86), 1.5rem);\"><strong>Commencer d\u00e8s aujourd'hui<\/strong><\/h2>\n\n\n\n<p>Pour adopter le d\u00e9veloppement orient\u00e9 sp\u00e9cifications dans votre flux de travail :<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Pour votre prochain projet, r\u00e9digez des sp\u00e9cifications avant de g\u00e9n\u00e9rer du code<\/li>\n\n\n\n<li>Quand vous rencontrez des bugs ou avez besoin de nouvelles fonctionnalit\u00e9s, mettez \u00e0 jour la sp\u00e9cification avant de toucher au code<\/li>\n\n\n\n<li>Cr\u00e9ez une biblioth\u00e8que de mod\u00e8les de sp\u00e9cifications r\u00e9utilisables pour les composants communs<\/li>\n\n\n\n<li>Exp\u00e9rimentez la g\u00e9n\u00e9ration de plusieurs impl\u00e9mentations \u00e0 partir de la m\u00eame sp\u00e9cification<\/li>\n<\/ol>\n\n\n\n<p>Plus vous vous habituez \u00e0 penser en termes de sp\u00e9cifications plut\u00f4t qu'en impl\u00e9mentations, plus votre processus de d\u00e9veloppement devient puissant.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Cette approche a transform\u00e9 ma fa\u00e7on de construire des logiciels avec l'IA. Ma productivit\u00e9 a \u00e9t\u00e9 multipli\u00e9e, mais plus important encore, la qualit\u00e9 et la maintenabilit\u00e9 de mes logiciels se sont consid\u00e9rablement am\u00e9lior\u00e9es. J'aimerais savoir comment le d\u00e9veloppement orient\u00e9 sp\u00e9cifications fonctionne pour vous.<\/p>","protected":false},"excerpt":{"rendered":"<p>Stop vibe coding and start creating maintainable software with LLMs Since large language models (LLMs) hit the mainstream, I&#8217;ve watched engineers transform their workflows. With tools like ChatGPT, Claude, and GitHub Copilot at their disposal, developers are chatting their software into existence &#8211; but they&#8217;re doing it wrong. I&#8217;m going to show you why this [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_uag_custom_page_level_css":"","footnotes":""},"categories":[1],"tags":[20,54,60,57,31,56,29,55,59,52,58,53],"class_list":["post-2903","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-ai","tag-aicoding","tag-developerproductivity","tag-devtools","tag-engineering","tag-llm","tag-programming","tag-softwaredevelopment","tag-softwareengineering","tag-specifications","tag-techwriting","tag-vibe-coding"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Spec-First Development: The Missing Manual for Building with AI - Clever Thinking Software<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.cleverthinkingsoftware.com\/fr\/spec-first-development-the-missing-manual-for-building-with-ai\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Spec-First Development: The Missing Manual for Building with AI - Clever Thinking Software\" \/>\n<meta property=\"og:description\" content=\"Stop vibe coding and start creating maintainable software with LLMs Since large language models (LLMs) hit the mainstream, I&#8217;ve watched engineers transform their workflows. With tools like ChatGPT, Claude, and GitHub Copilot at their disposal, developers are chatting their software into existence &#8211; but they&#8217;re doing it wrong. I&#8217;m going to show you why this [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cleverthinkingsoftware.com\/fr\/spec-first-development-the-missing-manual-for-building-with-ai\/\" \/>\n<meta property=\"og:site_name\" content=\"Clever Thinking Software\" \/>\n<meta property=\"article:published_time\" content=\"2025-05-12T08:37:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-12T17:17:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/05\/code_first_workflow_better.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2048\" \/>\n\t<meta property=\"og:image:height\" content=\"1124\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Dexter Santucci\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dexter Santucci\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/spec-first-development-the-missing-manual-for-building-with-ai\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/spec-first-development-the-missing-manual-for-building-with-ai\\\/\"},\"author\":{\"name\":\"Dexter Santucci\",\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/#\\\/schema\\\/person\\\/19feaeb89ca35dbcc64175aa2e59d894\"},\"headline\":\"Spec-First Development: The Missing Manual for Building with AI\",\"datePublished\":\"2025-05-12T08:37:37+00:00\",\"dateModified\":\"2025-05-12T17:17:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/spec-first-development-the-missing-manual-for-building-with-ai\\\/\"},\"wordCount\":1101,\"publisher\":{\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/spec-first-development-the-missing-manual-for-building-with-ai\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/code_first_workflow_better-1024x562.jpg\",\"keywords\":[\"AI\",\"AIcoding\",\"DeveloperProductivity\",\"DevTools\",\"engineering\",\"LLM\",\"programming\",\"SoftwareDevelopment\",\"SoftwareEngineering\",\"specifications\",\"TechWriting\",\"vibe coding\"],\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/spec-first-development-the-missing-manual-for-building-with-ai\\\/\",\"url\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/spec-first-development-the-missing-manual-for-building-with-ai\\\/\",\"name\":\"Spec-First Development: The Missing Manual for Building with AI - Clever Thinking Software\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/spec-first-development-the-missing-manual-for-building-with-ai\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/spec-first-development-the-missing-manual-for-building-with-ai\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/code_first_workflow_better-1024x562.jpg\",\"datePublished\":\"2025-05-12T08:37:37+00:00\",\"dateModified\":\"2025-05-12T17:17:59+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/spec-first-development-the-missing-manual-for-building-with-ai\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/spec-first-development-the-missing-manual-for-building-with-ai\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/spec-first-development-the-missing-manual-for-building-with-ai\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/code_first_workflow_better-1024x562.jpg\",\"contentUrl\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/code_first_workflow_better-1024x562.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/spec-first-development-the-missing-manual-for-building-with-ai\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Spec-First Development: The Missing Manual for Building with AI\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/#website\",\"url\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/\",\"name\":\"Clever Thinking Software\",\"description\":\"Controlling complexity through custom software, IT consulting and AI solutions.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/#organization\"},\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/#organization\",\"name\":\"Clever Thinking Software Inc.\",\"url\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/thumbnail_Clever-Thinking-Software-Gothic-BLACK-BACKGROUND-Orange-2.png\",\"contentUrl\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/thumbnail_Clever-Thinking-Software-Gothic-BLACK-BACKGROUND-Orange-2.png\",\"width\":1049,\"height\":590,\"caption\":\"Clever Thinking Software Inc.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.instagram.com\\\/cleverthinkingsoftware\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/#\\\/schema\\\/person\\\/19feaeb89ca35dbcc64175aa2e59d894\",\"name\":\"Dexter Santucci\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4c851dd54302bfb3ccf7d61ed804864236aac356acbbdf58a743063af85a7eeb?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4c851dd54302bfb3ccf7d61ed804864236aac356acbbdf58a743063af85a7eeb?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4c851dd54302bfb3ccf7d61ed804864236aac356acbbdf58a743063af85a7eeb?s=96&d=mm&r=g\",\"caption\":\"Dexter Santucci\"},\"url\":\"https:\\\/\\\/www.cleverthinkingsoftware.com\\\/fr\\\/author\\\/dex_admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Spec-First Development: The Missing Manual for Building with AI - Clever Thinking Software","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.cleverthinkingsoftware.com\/fr\/spec-first-development-the-missing-manual-for-building-with-ai\/","og_locale":"fr_FR","og_type":"article","og_title":"Spec-First Development: The Missing Manual for Building with AI - Clever Thinking Software","og_description":"Stop vibe coding and start creating maintainable software with LLMs Since large language models (LLMs) hit the mainstream, I&#8217;ve watched engineers transform their workflows. With tools like ChatGPT, Claude, and GitHub Copilot at their disposal, developers are chatting their software into existence &#8211; but they&#8217;re doing it wrong. I&#8217;m going to show you why this [&hellip;]","og_url":"https:\/\/www.cleverthinkingsoftware.com\/fr\/spec-first-development-the-missing-manual-for-building-with-ai\/","og_site_name":"Clever Thinking Software","article_published_time":"2025-05-12T08:37:37+00:00","article_modified_time":"2025-05-12T17:17:59+00:00","og_image":[{"width":2048,"height":1124,"url":"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/05\/code_first_workflow_better.jpg","type":"image\/jpeg"}],"author":"Dexter Santucci","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Dexter Santucci","Dur\u00e9e de lecture estim\u00e9e":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cleverthinkingsoftware.com\/spec-first-development-the-missing-manual-for-building-with-ai\/#article","isPartOf":{"@id":"https:\/\/www.cleverthinkingsoftware.com\/spec-first-development-the-missing-manual-for-building-with-ai\/"},"author":{"name":"Dexter Santucci","@id":"https:\/\/www.cleverthinkingsoftware.com\/#\/schema\/person\/19feaeb89ca35dbcc64175aa2e59d894"},"headline":"Spec-First Development: The Missing Manual for Building with AI","datePublished":"2025-05-12T08:37:37+00:00","dateModified":"2025-05-12T17:17:59+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cleverthinkingsoftware.com\/spec-first-development-the-missing-manual-for-building-with-ai\/"},"wordCount":1101,"publisher":{"@id":"https:\/\/www.cleverthinkingsoftware.com\/#organization"},"image":{"@id":"https:\/\/www.cleverthinkingsoftware.com\/spec-first-development-the-missing-manual-for-building-with-ai\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/05\/code_first_workflow_better-1024x562.jpg","keywords":["AI","AIcoding","DeveloperProductivity","DevTools","engineering","LLM","programming","SoftwareDevelopment","SoftwareEngineering","specifications","TechWriting","vibe coding"],"articleSection":["Uncategorized"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/www.cleverthinkingsoftware.com\/spec-first-development-the-missing-manual-for-building-with-ai\/","url":"https:\/\/www.cleverthinkingsoftware.com\/spec-first-development-the-missing-manual-for-building-with-ai\/","name":"Spec-First Development: The Missing Manual for Building with AI - Clever Thinking Software","isPartOf":{"@id":"https:\/\/www.cleverthinkingsoftware.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cleverthinkingsoftware.com\/spec-first-development-the-missing-manual-for-building-with-ai\/#primaryimage"},"image":{"@id":"https:\/\/www.cleverthinkingsoftware.com\/spec-first-development-the-missing-manual-for-building-with-ai\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/05\/code_first_workflow_better-1024x562.jpg","datePublished":"2025-05-12T08:37:37+00:00","dateModified":"2025-05-12T17:17:59+00:00","breadcrumb":{"@id":"https:\/\/www.cleverthinkingsoftware.com\/spec-first-development-the-missing-manual-for-building-with-ai\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cleverthinkingsoftware.com\/spec-first-development-the-missing-manual-for-building-with-ai\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.cleverthinkingsoftware.com\/spec-first-development-the-missing-manual-for-building-with-ai\/#primaryimage","url":"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/05\/code_first_workflow_better-1024x562.jpg","contentUrl":"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2025\/05\/code_first_workflow_better-1024x562.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.cleverthinkingsoftware.com\/spec-first-development-the-missing-manual-for-building-with-ai\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cleverthinkingsoftware.com\/"},{"@type":"ListItem","position":2,"name":"Spec-First Development: The Missing Manual for Building with AI"}]},{"@type":"WebSite","@id":"https:\/\/www.cleverthinkingsoftware.com\/#website","url":"https:\/\/www.cleverthinkingsoftware.com\/","name":"Clever Thinking Software","description":"Ma\u00eetriser la complexit\u00e9 gr\u00e2ce au d\u00e9veloppement custom, au conseil informatique et aux solutions d'IA.","publisher":{"@id":"https:\/\/www.cleverthinkingsoftware.com\/#organization"},"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.cleverthinkingsoftware.com\/#organization","name":"Clever Thinking Software Inc.","url":"https:\/\/www.cleverthinkingsoftware.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.cleverthinkingsoftware.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2024\/06\/thumbnail_Clever-Thinking-Software-Gothic-BLACK-BACKGROUND-Orange-2.png","contentUrl":"https:\/\/www.cleverthinkingsoftware.com\/wp-content\/uploads\/2024\/06\/thumbnail_Clever-Thinking-Software-Gothic-BLACK-BACKGROUND-Orange-2.png","width":1049,"height":590,"caption":"Clever Thinking Software Inc."},"image":{"@id":"https:\/\/www.cleverthinkingsoftware.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.instagram.com\/cleverthinkingsoftware\/"]},{"@type":"Person","@id":"https:\/\/www.cleverthinkingsoftware.com\/#\/schema\/person\/19feaeb89ca35dbcc64175aa2e59d894","name":"Dexter Santucci","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/4c851dd54302bfb3ccf7d61ed804864236aac356acbbdf58a743063af85a7eeb?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4c851dd54302bfb3ccf7d61ed804864236aac356acbbdf58a743063af85a7eeb?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4c851dd54302bfb3ccf7d61ed804864236aac356acbbdf58a743063af85a7eeb?s=96&d=mm&r=g","caption":"Dexter Santucci"},"url":"https:\/\/www.cleverthinkingsoftware.com\/fr\/author\/dex_admin\/"}]}},"jetpack_featured_media_url":"","uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"trp-custom-language-flag":false},"uagb_author_info":{"display_name":"Dexter Santucci","author_link":"https:\/\/www.cleverthinkingsoftware.com\/fr\/author\/dex_admin\/"},"uagb_comment_info":0,"uagb_excerpt":"Stop vibe coding and start creating maintainable software with LLMs Since large language models (LLMs) hit the mainstream, I&#8217;ve watched engineers transform their workflows. With tools like ChatGPT, Claude, and GitHub Copilot at their disposal, developers are chatting their software into existence &#8211; but they&#8217;re doing it wrong. I&#8217;m going to show you why this\u2026","_links":{"self":[{"href":"https:\/\/www.cleverthinkingsoftware.com\/fr\/wp-json\/wp\/v2\/posts\/2903","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cleverthinkingsoftware.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cleverthinkingsoftware.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cleverthinkingsoftware.com\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cleverthinkingsoftware.com\/fr\/wp-json\/wp\/v2\/comments?post=2903"}],"version-history":[{"count":21,"href":"https:\/\/www.cleverthinkingsoftware.com\/fr\/wp-json\/wp\/v2\/posts\/2903\/revisions"}],"predecessor-version":[{"id":2953,"href":"https:\/\/www.cleverthinkingsoftware.com\/fr\/wp-json\/wp\/v2\/posts\/2903\/revisions\/2953"}],"wp:attachment":[{"href":"https:\/\/www.cleverthinkingsoftware.com\/fr\/wp-json\/wp\/v2\/media?parent=2903"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cleverthinkingsoftware.com\/fr\/wp-json\/wp\/v2\/categories?post=2903"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cleverthinkingsoftware.com\/fr\/wp-json\/wp\/v2\/tags?post=2903"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}