<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Jordan Chapuy - Blog d'un développeur passionné ❤️</title><link>https://jordanchapuy.com/</link><description>Software Engineer orienté produit depuis 2013, je partage sur la culture tech, produit et l'ia.</description><generator>Hugo -- gohugo.io</generator><language>fr</language><lastBuildDate>Fri, 11 Sep 2026 13:45:08 +0200</lastBuildDate><atom:link href="https://jordanchapuy.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Astra, Sol, Terra, Luna : quel modèle ChatGPT choisir ?</title><link>https://jordanchapuy.com/posts/2026/09/astra-sol-terra-luna-quel-modele-chatgpt-choisir/</link><pubDate>Fri, 11 Sep 2026 13:45:08 +0200</pubDate><author>Auteur</author><guid>https://jordanchapuy.com/posts/2026/09/astra-sol-terra-luna-quel-modele-chatgpt-choisir/</guid><description><![CDATA[<p>Mercredi, j&rsquo;écrivais sur <a href="https://jordanchapuy.com/posts/2026/09/sonnet-opus-haiku-fable-quel-modele-claude-choisir/" rel="">les modèles Claude</a> : Sonnet, Opus, Haiku, Fable. Je fais aujourd&rsquo;hui l&rsquo;exercice côté OpenAI avec Astra, Sol, Terra et Luna. Ce n&rsquo;est pas un hasard si je passe d&rsquo;un labo à l&rsquo;autre : je ne suis <a href="https://jordanchapuy.com/posts/2026/06/le-meilleur-modele-ia/" rel="">loyal à aucun des deux</a>, je navigue régulièrement entre Claude et ChatGPT selon les mois et les besoins.</p>
<p>Et même si Claude est à la mode dans les recommandations de formations ou d&rsquo;influenceurs, ChatGPT reste tout aussi pertinent et utilisé. Alors c&rsquo;est l&rsquo;occasion de se pencher sur ses petits noms qui apparaissent à côté de la barre de conversation.</p>
<h2 id="pourquoi-ça-compte-de-bien-choisir">Pourquoi ça compte de bien choisir</h2>
<p>L&rsquo;idée de base est simple : un modèle, c&rsquo;est un <strong>compromis</strong> entre <em><strong>intelligence</strong></em>, <strong>vitesse</strong> et <strong>coût</strong>. Plus un modèle raisonne finement, plus il coûte cher et plus il est lent à répondre. Ce n&rsquo;est pas un détail technique réservé aux développeurs qui optimisent une facture d&rsquo;API : ça se sent directement dans l&rsquo;usage, même via le chat web ou l&rsquo;application de bureau.</p>
<p>Prendre un modèle trop léger pour une tâche qui demande de la réflexion se conclut souvent par une réponse incomplète ou à côté de la plaque. Ou alors on arrive au résultat, mais après beaucoup plus d&rsquo;aller-retours - et un coût + temps final qui dépasse celui du modèle au-dessus. À l&rsquo;inverse, prendre un modèle trop lourd pour une tâche simple, c&rsquo;est le risque de gonfler inutilement la facture et le temps de réponse, voire de diverger : un modèle qui se met à trop réfléchir peut sortir plus facilement du cadre qu&rsquo;on lui a donné. Et c&rsquo;est pas toujours ce que l&rsquo;on veut.</p>
<p>Il y a aussi un aspect que j&rsquo;aime rappeler : le modèle le plus gros n&rsquo;est jamais gratuit à faire tourner, ni pour le portefeuille ni pour l&rsquo;environnement. Pas besoin de sortir l&rsquo;artillerie lourde pour trier trois emails.</p>
<blockquote>
<p><em><strong>Note :</strong></em> <em>Cette histoire de facture vous concerne même si vous payez un abonnement à prix fixe (Free, Go, Plus, Pro) plutôt que l&rsquo;API : un modèle cher grignote votre quota plus vite. Le prix au token reste un bon ordre de grandeur, même sans passer par l&rsquo;API.</em></p>
</blockquote>
<p>Bref, le bon modèle n&rsquo;est pas le plus intelligent du catalogue. C&rsquo;est celui qui correspond à la tâche. À notre <strong>besoin</strong>.</p>
<h2 id="ce-que-sont-astra-sol-terra-et-luna">Ce que sont Astra, Sol, Terra et Luna</h2>
<p>OpenAI structure son offre ChatGPT en deux morceaux. D&rsquo;un côté, la famille <strong>GPT‑5.6</strong>, sortie le 9 juillet 2026, avec trois niveaux de capacité : Sol, Terra, Luna. De l&rsquo;autre, la toute nouvelle famille <strong>GPT‑6</strong>, avec Astra sorti début septembre 2026 qu&rsquo;OpenAI présente comme une génération à part entière plutôt qu&rsquo;un simple cran au-dessus de Sol.</p>
<blockquote>
<p><em><strong>Note :</strong></em> <em>Astra n&rsquo;a que quelques jours au moment où j&rsquo;écris ces lignes. Les <a href="https://developers.openai.com/api/docs/pricing" target="_blank" rel="noopener noreffer">prix</a>, et les bons usages peuvent encore bouger.</em></p>
</blockquote>
<p><strong>Luna</strong> est le modèle le plus rapide et le moins cher de la gamme (environ 0,20 $ / 1,20 $ par million de tokens en entrée / sortie), avec le même contexte de plus d&rsquo;un million de tokens que les trois autres. OpenAI le positionne sur le volume : extraction de données structurées, classification, modération, les tâches mécaniques qu&rsquo;<a href="https://jordanchapuy.com/posts/2026/05/c-est-quoi-un-agent-ia/" rel="">un agent</a> délègue à un modèle rapide pendant qu&rsquo;un cerveau plus costaud supervise. C&rsquo;est aussi, très concrètement, le modèle par défaut des comptes ChatGPT gratuits.</p>
<p><strong>Terra</strong> est le modèle « équilibré » de la gamme (environ 2 $ / 12 $ par million de tokens), qu&rsquo;OpenAI présente comme quasiment aussi bon que l&rsquo;ancien modèle phare GPT‑5.5, pour moitié moins cher. Il est positionné pour le travail quotidien : développement courant, rédaction professionnelle, automatisation, assistants internes. C&rsquo;est un peu le compromis entre qualité, vitesse et coût.</p>
<p><strong>Sol</strong> est le modèle phare de la génération GPT‑5.6 (environ 4 $ / 20 $ par million de tokens). OpenAI le recommande pour le raisonnement complexe et <a href="https://jordanchapuy.com/posts/2026/05/c-est-quoi-un-agent-ia/" rel="">les agents</a> qui tournent sur la durée, le développement logiciel, la recherche, la cybersécurité défensive, les sciences et la production de documents professionnels exigeants, là où une erreur coûte cher. Il est inclus dans ChatGPT Plus.</p>
<p><strong>Astra</strong> est le modèle le plus capable des quatre, présenté par OpenAI comme une génération à part entière pensée pour les missions de bout en bout : comprendre un objectif, utiliser des outils, prendre des décisions intermédiaires, vérifier le résultat produit. C&rsquo;est logiquement aussi le plus cher de la gamme (10 $ / 50 $ par million de tokens). OpenAI le recommande pour les tâches extrêmement complexes, le raisonnement très avancé, <a href="https://jordanchapuy.com/posts/2026/05/c-est-quoi-un-agent-ia/" rel="">les agents</a> autonomes et le développement difficile, et met en avant ses performances pour piloter directement un ordinateur ou un navigateur. Il est pour le moment réservé aux abonnements Pro, Business et Enterprise (et à ChatGPT Plus par vagues ou via A/B testing on dirait).</p>
<h2 id="comment-choisir-en-vrai">Comment choisir, en vrai</h2>
<p>Dans la pratique, j&rsquo;observe beaucoup d&rsquo;usage de <strong>Luna et Sol</strong>. Luna est adoré pour son rapport qualité-prix, surtout quand il est poussé avec un effort de raisonnement plus élevé où il devient étonnamment bon pour un prix toujours très bas (un réglage sur lequel je reviendrai une autre fois).</p>
<p>Sol est super pour planifier, et Astra fait le buzz comme tout nouveau modèle. Terra, au milieu, est un peu le mal-aimé : moins spectaculaire, parfois critiqué, vite mis de côté alors qu&rsquo;il fait le travail pour une bonne partie des tâches du quotidien.</p>
<p>Pour débuter, je dirais que partir de <strong>Terra</strong> au milieu puis ajuster - monter vers Sol si ça coince, descendre vers Luna quand ce sont des petites tâches bien cadrées - n&rsquo;a rien de déconnant. Mais ce n&rsquo;est qu&rsquo;un raccourci pratique. Ce qui compte vraiment, c&rsquo;est d&rsquo;<strong>adapter le modèle à la tâche</strong> ; le réflexe « défaut, puis monter ou descendre » est juste l&rsquo;astuce la plus simple pour y arriver sans trop se prendre la tête.</p>
<p>J&rsquo;utilise beaucoup <strong>Luna</strong> quand la tâche est répétitive, volumineuse, avec un cadre précis : extraire des champs, classer, reformuler, générer des variantes de titres, coder avec un périmètre restreint. Ou pour du plus compliqué s&rsquo;il existe déjà un plan détaillé, <strong>Luna est un super exécutant</strong>.</p>
<p>Je monte vers <strong>Sol</strong> quand j&rsquo;ai besoin de creuser plus loin ou de croiser plusieurs contraintes : un bug qui résiste, un audit de sécurité, une analyse où l&rsquo;erreur coûte cher. J&rsquo;aime aussi le sortir pour <strong>explorer et planifier</strong>. Petite réserve entendue côté communauté : poussé à l&rsquo;effort maximal, Sol a tendance à trop <em>réfléchir</em> sur des questions qui n&rsquo;en avaient pas besoin, et à faire du over-engineering.</p>
<p>Et <strong>Astra</strong> ? Je ne l&rsquo;ai pas encore testé, mais je lui donnerais le même rôle d&rsquo;exception qu&rsquo;à Fable côté Claude : cybersécurité, <a href="https://jordanchapuy.com/posts/2026/05/c-est-quoi-un-agent-ia/" rel="">un agent</a> très autonome, la mission longue où on accepte d&rsquo;attendre longtemps pour un résultat plus fiable (normalement :)).</p>
<h2 id="un-modèle-par-défaut-pas-un-modèle-unique">Un modèle par défaut, pas un modèle unique</h2>
<p>Comme pour Claude, l&rsquo;idée n&rsquo;est pas de trouver LE modèle et de s&rsquo;y tenir à vie. C&rsquo;est de partir d&rsquo;un choix par défaut raisonnable, puis d&rsquo;apprendre en pratiquant à repérer quand descendre ou monter pour utiliser le modèle le plus adapté à la tâche dès le début.</p>
<p>Et promis, bientôt on parlera d&rsquo;orchestration car c&rsquo;est tout autant valable avec les modèles d&rsquo;OpenAI.</p>
]]></description></item><item><title>Sonnet, Opus, Haiku, Fable : quel modèle Claude choisir ?</title><link>https://jordanchapuy.com/posts/2026/09/sonnet-opus-haiku-fable-quel-modele-claude-choisir/</link><pubDate>Wed, 09 Sep 2026 16:16:50 +0200</pubDate><author>Auteur</author><guid>https://jordanchapuy.com/posts/2026/09/sonnet-opus-haiku-fable-quel-modele-claude-choisir/</guid><description><![CDATA[<p>Au début de l&rsquo;été, j&rsquo;ai écrit un article sur <a href="https://jordanchapuy.com/posts/2026/06/le-meilleur-modele-ia/" rel="">le meilleur modèle IA</a> où je parlais des modèles de manière assez large. Aujourd&rsquo;hui, j&rsquo;ai envie de centrer la discussion sur les modèles d&rsquo;Anthropic / Claude.</p>
<p>Oui, vous savez, ces petits noms à côté de la barre de discussion. Sonnet, Opus, Haiku, Fable. Que ce soit dans le chat web, Claude Cowork ou Claude Code, ou en API, ces noms ont un réel impact sur la qualité de la réponse, de l&rsquo;exécution de la tâche et la facture. Ce n&rsquo;est pas juste un petit nom de compagnon :)</p>
<blockquote>
<p><em><strong>Note :</strong></em> <em>Quand je parle de facture, ça vous concerne même si vous payez un prix fixe par abonnement - un modèle cher dépensera votre quota plus rapidement. Le prix au token permet d&rsquo;avoir un ordre de grandeur même si on n&rsquo;utilise pas Claude via API.</em></p>
</blockquote>
<h2 id="pourquoi-ça-compte-de-bien-choisir">Pourquoi ça compte de bien choisir</h2>
<p>L&rsquo;idée de base est simple : un modèle, c&rsquo;est un <strong>compromis</strong> entre <em><strong>intelligence</strong></em>, <strong>vitesse</strong> et <strong>coût</strong>. Plus un modèle raisonne finement, plus il coûte cher et plus il est lent à répondre. Ce n&rsquo;est pas un détail technique réservé aux développeurs qui optimisent une facture d&rsquo;API : ça se sent directement dans l&rsquo;usage, même via le chat web ou l&rsquo;application de bureau.</p>
<p>Prendre un modèle trop léger pour une tâche qui demande de la réflexion se concluera probablement par une réponse incomplète, voire à côté de la plaque. Ou parfois, on arrive au résultat mais avec beaucoup plus d&rsquo;aller-retours, et donc un coût + temps qui pourrait dépasser celui du modèle supérieur.</p>
<p>À l&rsquo;inverse, prendre un modèle trop lourd pour une tâche simple ou très spécifiée, c&rsquo;est le risque d&rsquo;augmenter inutilement la facture et le temps de réponse, et même de divaguer vu que le modèle va se mettre à vouloir beaucoup raisonner - il pourrait sortir plus facilement du cadre que vous lui avez donné.</p>
<p>Un autre point à avoir en tête, l&rsquo;écologie. Ce serait dommage de constamment utiliser un modèle surdimensionné pour trier trois mails, on peut largement s&rsquo;éviter ce gaspillage - pour chasser ces foutus moustiques tigres, j&rsquo;utilise mes mains voire la raquette électrique et non un lance-flamme&hellip; même si, je l&rsquo;avoue, je pourrais me laisser tenter.</p>
<p>Bref, le bon modèle n&rsquo;est pas le plus puissant disponible. C&rsquo;est celui qui correspond à la tâche. <strong>La solution adaptée au besoin</strong>, comme toujours :)</p>
<h2 id="ce-que-sont-haiku-sonnet-opus-et-fable">Ce que sont Haiku, Sonnet, Opus et Fable</h2>
<p>Anthropic (l&rsquo;entreprise derrière Claude) range ses modèles sur une échelle du plus rapide au plus capable. Voici où ça en est à l&rsquo;heure où j&rsquo;écris ces lignes (à vérifier sur <a href="https://claude.com/pricing#api" target="_blank" rel="noopener noreffer">la page officielle</a> si ça change entre-temps).</p>
<p><strong>Haiku 4.5</strong> est le plus rapide et le moins cher (1 $ / 5 $ par million de tokens en entrée / sortie). Contexte de 200 000 tokens, une génération de retard sur les autres (le <code>4.5</code> a son importance). Anthropic le pense pour le volume : extraction de données, classification, tri, <a href="https://jordanchapuy.com/posts/2026/05/c-est-quoi-un-agent-ia/" rel="">un sous-agent</a> qui fait le sale boulot répétitif pendant qu&rsquo;un modèle plus costaud supervise.</p>
<p><strong>Sonnet 5</strong> est le modèle &ldquo;couteau suisse&rdquo; qui équilibre les trois curseurs coût-temps-raisonnement (2 $ / 10 $ par million de tokens). Avec son 1 million de tokens disponible en contexte, c&rsquo;est le modèle par défaut de Claude sur les plans gratuit et payant. Anthropic le recommande pour la majorité des usages : écrire du code, rédiger, analyser un document, faire tourner <a href="https://jordanchapuy.com/posts/2026/05/c-est-quoi-un-agent-ia/" rel="">un agent</a>.</p>
<p><strong>Opus 5</strong> monte d&rsquo;un cran sur le raisonnement (5 $ / 25 $, même contexte de 1 million de tokens). Anthropic le pense pour l&rsquo;entreprise : du code agentique complexe, de l&rsquo;analyse juridique ou financière dense, les cas où une erreur de raisonnement coûte cher. (Note à part, je n&rsquo;aime pas cette catégorisation &ldquo;pour l&rsquo;entreprise&rdquo;, je trouve que ce n&rsquo;est pas du tout pertinent. On y reviendra.)</p>
<p><strong>Fable 5.1</strong> est le plus haut de gamme disponible pour le public (Mythos étant sa <em>version brute</em> réservée à quelques acteurs) pensé pour les travaux longs et autonomes (10 $ / 50 $) : <a href="https://jordanchapuy.com/posts/2026/05/c-est-quoi-un-agent-ia/" rel="">un agent</a> qui tourne plusieurs heures sur un dépôt de code entier sans supervision.</p>
<h2 id="comment-choisir-en-vrai">Comment choisir, en vrai</h2>
<p>Le discours officiel actuel d&rsquo;Anthropic penche plutôt vers : &ldquo;partez du modèle le plus intelligent disponible, puis ajustez le niveau d&rsquo;effort pour maîtriser le coût ou prenez un modèle en-dessous&rdquo;. D&rsquo;une certaine manière, l&rsquo;argument tient debout — un modèle plus capable se trompe moins souvent, ça peut coûter moins cher qu&rsquo;un petit modèle qui tâtonne à plusieurs reprises. Ok, mais est-ce qu&rsquo;il n&rsquo;y aurait pas aussi un argument financier derrière ? Je suis sûr que ça les arrange un peu qu&rsquo;on consomme les plus chers d&rsquo;abord :)</p>
<p>Alors comment on fait ? Concrètement, je conseillerais de <strong>choisir le modèle Sonnet par défaut</strong>. Pour écrire, coder, analyser un document, faire tourner <a href="https://jordanchapuy.com/posts/2026/05/c-est-quoi-un-agent-ia/" rel="">un agent</a> qui touche du code ou du texte, Sonnet fait très bien le travail dans la majorité des cas, et pour prix + temps raisonnable.</p>
<p>Il est très polyvalent, que ce soit pour des tâches très techniques (créer un endpoint avec ses validations et tests, faire un bon <a href="https://jordanchapuy.com/posts/2021/06/le-refactoring" rel="">refactoring</a>, faire de la revue de code), ou pour des tâches plutôt métier (écrire une proposition client, préparer son plan de posts LinkedIn, synthétiser un ensemble de réunions et en tirer des actions concrètes).</p>
<p>Je <strong>descends vers Haiku</strong> quand je suis sur des tâches <strong>répétitives</strong>, que j&rsquo;ai du volume à traiter, peu de nuance, un <strong>cadre clair</strong>, quelque chose de très spécifié. Trier, extraire, formater, classer, &hellip; les doigts dans le nez pour Haiku. Suivre un plan détaillé avec chaque étape, qu&rsquo;un autre modèle aurait pu rédiger, est aussi dans ses cordes.</p>
<p>Je <strong>monte vers Opus</strong> quand Sonnet échoue vraiment, que j&rsquo;ai besoin de beaucoup <strong>plus d&rsquo;exploration ou raisonnement</strong>, que je touche une grande complexité : un bug incompréhensible qui traverse de nombreux fichiers, un contrat de 80 pages à décortiquer avec des clauses à analyser, planifier une stratégie, un plan de migration à rédiger point par point en pensant à tous les détails, effets de bords, etc.</p>
<p>Et <strong>Fable</strong> ? C&rsquo;est plutôt une <strong>exception</strong>. Au vu du prix très élevé et de sa lenteur, on y réfléchit à plusieurs reprises avant. Je pense qu&rsquo;on a plutôt envie de le sortir pour des questions de cybersécurité avancées, si on veut <a href="https://jordanchapuy.com/posts/2026/05/c-est-quoi-un-agent-ia/" rel="">un agent</a> autonome pendant des heures, qu&rsquo;on fait de la recherche, qu&rsquo;on est sur quelque chose d&rsquo;assez massif. Ou quand on veut frimer avec son abonnement Max 20x en créant un PoC de site web 3D qui sera jeté juste après l&rsquo;avoir montré. Je pense qu&rsquo;on peut souvent essayer de faire échouer Opus avant de monter sur du Fable.</p>
<h2 id="un-modèle-par-défaut-pas-un-modèle-unique">Un modèle par défaut, pas un modèle unique</h2>
<p>Avec Sonnet par défaut, on ne tombe normalement jamais trop loin de la plaque. Si vraiment on ne sait pas ou qu&rsquo;on débute avec tous ces trucs d&rsquo;IA, ça me semble le meilleur choix de départ. Et puis, petit à petit, on apprend. On commence à prendre des habitudes et à repérer quel modèle est le plus adapté à chacun des types de tâches que l&rsquo;on fait régulièrement.</p>
<p>Si vous êtes toujours resté sur le même modèle, ça vaudrait le coup d&rsquo;essayer de changer, d&rsquo;expérimenter ce qu&rsquo;il se passe, pour découvrir ce qui sera le plus adapté <strong>pour vous</strong>.</p>
<p>Il y a un aspect que j&rsquo;ai subtilement évoqué aujourd&rsquo;hui : et si, pour une même tâche, on faisait travailler plusieurs modèles ensemble — un pour planifier, un autre pour exécuter ? C&rsquo;est un vrai sujet, qui permet d&rsquo;aller encore plus loin dans l&rsquo;idée &ldquo;le bon modèle pour la bonne tâche&rdquo;, et ce sera pour un prochain article ;)</p>
<hr>
<blockquote>
<p>Je ne suis loyal à aucun labo, alors j&rsquo;ai fait le même exercice un peu plus tard côté OpenAI -&gt; <a href="https://jordanchapuy.com/posts/2026/09/astra-sol-terra-luna-quel-modele-chatgpt-choisir/" rel="">Astra, Sol, Terra, Luna : quel modèle ChatGPT choisir ?</a>.</p>
</blockquote>
]]></description></item><item><title>Générer son propre podcast à écouter</title><link>https://jordanchapuy.com/posts/2026/08/generer-son-propre-podcast-a-ecouter/</link><pubDate>Wed, 26 Aug 2026 17:11:12 +0200</pubDate><author>Auteur</author><guid>https://jordanchapuy.com/posts/2026/08/generer-son-propre-podcast-a-ecouter/</guid><description><![CDATA[<p>Lundi, j&rsquo;avais prévu de réviser les règles qui encadrent le vol de drones en catégorie ouverte. Rien de très exotique, je voulais surtout pouvoir voler avec de petits drones (moins de 250g, classe C0) et passer le QCM A1/A3 même s&rsquo;il est facultatif.</p>
<p>Bon le petit soucis, c&rsquo;est que cette &ldquo;formation&rdquo; donnée sur AlphaTango se compose surtout de documents PDF avec les réglementations publiés par l&rsquo;État et les ministères. L&rsquo;un d&rsquo;eux fait presque 70 pages - plutôt sympa à lire quoi.</p>
<p>Dans le même temps, j&rsquo;avais aussi envie de prendre l&rsquo;air et faire du sport. J&rsquo;ai donc commencé par chercher sur YouTube des vidéos assez complètes que je pourrais écouter dehors. Je vais faire court, je n&rsquo;ai pas trouvé ce que je voulais.</p>
<p>Et puis j&rsquo;ai eu une idée : pourquoi ne pas fabriquer moi-même le podcast dont j&rsquo;avais besoin ?</p>
<h2 id="transformer-des-documents-en-épisodes-audio">Transformer des documents en épisodes audio</h2>
<p>J&rsquo;ai rassemblé les documents réglementaires et je les ai importés dans <a href="https://notebook.google.com" target="_blank" rel="noopener noreffer">Gemini Notebook</a>, l&rsquo;outil dont j&rsquo;avais déjà parlé dans un précédent article pour <a href="https://jordanchapuy.com/posts/2026/05/notebooklm-ou-comment-apprendre-et-discuter-avec-ses-propres-sources/" rel="">apprendre et discuter avec ses propres sources</a>.</p>
<p>L&rsquo;intérêt dans mon cas, c&rsquo;est de <strong>travailler à partir de sources précises</strong>. J&rsquo;ai besoin que les réponses soient liées aux documents fournis au lieu de reposer uniquement sur les connaissances générales du modèle. Et c&rsquo;est justement l&rsquo;un des points fort de Notebook. Pour de la réglementation, ça me semble assez important :)</p>
<p>Notebook propose aussi un espace appelé Studio, qui permet de <strong>produire différents contenus</strong> à partir des documents ingérés. Je l&rsquo;avais déjà testé rapidement, mais sans vraiment pousser l&rsquo;expérience. Cette fois, je me suis intéressé à la génération audio. J&rsquo;ai commencé par lui demander de construire <strong>un plan pour trois épisodes</strong> d&rsquo;une vingtaine de minutes. Une fois ce plan validé, je lui ai demandé de <strong>rédiger le script du premier épisode</strong>, puis de <strong>générer l&rsquo;audio</strong>. Et idem pour les deux autres.</p>
<p>Sans trop d&rsquo;effort, j&rsquo;ai obtenu trois épisodes de 20 à 25 minutes prêts à être écoutés depuis mon téléphone.</p>
<h2 id="limpression-découter-un-vrai-podcast-">L&rsquo;impression d&rsquo;écouter un vrai podcast ?</h2>
<p>Je dois avouer que le résultat m&rsquo;a un peu bluffé. Ce n&rsquo;était pas parfait, évidemment, mais c&rsquo;était <strong>largement écoutable</strong>. Allez, j&rsquo;ai même envie de dire que c&rsquo;était <strong>agréable</strong>. Je savais qu&rsquo;on avait de très bonnes avancées sur la voix, notamment avec ElevenLabs par exemple, mais je m&rsquo;attendais à avoir un rendu plus <em>gadget</em> via Gemini Notebook.</p>
<p>Deux voix dialoguaient autour du sujet, avec des intonations, des hésitations et quelques tics de langage qui donnent habituellement <strong>une impression de naturel</strong> aux podcasts. On est loin des voix robotiques que l&rsquo;on entendait encore il n&rsquo;y a pas si longtemps. Le tout amené avec une <strong>narration</strong>, des fils rouges intéressant pour amener chaque grandes thématiques. Ouais, quelque chose de vraiment agréable à écouter comme je disais.</p>
<p>Surtout, j&rsquo;ai appris ce que je voulais apprendre. Le contenu était bien amené, progressif, et le format rendait l&rsquo;ensemble beaucoup moins intimidant (chiant) qu&rsquo;un long document réglementaire.</p>
<p>Quelques loupés par-ci par-là se sont insérés dans le podcast, évidemment. Certaines prononciations sont étranges et quelques phrases sont étrangemment interprétées. J&rsquo;en ai une qui m&rsquo;a fait sourire : pour la question « Mais la France y ajoute une spécificité, non ? », la diction a donné quelque chose comme : « &hellip; une spécificité. Non. ». Quelques mots massacrés aussi (« les propriéto de drones » - a priori je connais pas ce terme.</p>
<p>Mais dans le fond, c&rsquo;était <strong>négligeable</strong>. J&rsquo;en retiens beaucoup plus du positif que du négatif.</p>
<h2 id="une-expérience-à-recommencer">Une expérience à recommencer</h2>
<p>Pour le temps que j&rsquo;ai passé à préparer les sources, construire le plan et générer les épisodes, je suis content. L&rsquo;effort était faible par rapport au bénéfice que j&rsquo;en ai tiré. J&rsquo;ai pu réviser mon sujet sans devoir me taper une lecture de 70 pages réglementaires, et j&rsquo;ai réussi le QCM derrière (38/40).</p>
<p>C&rsquo;était une expérimentation, et vu le résultat, je me vois bien <strong>recommencer</strong>. Testez de votre côté si l&rsquo;occasion s&rsquo;y prête. Ça pourrait vous surprendre aussi. Et c&rsquo;est toujours un autre moyen de consommer des formats que l&rsquo;on aime moins, ou de rassemble de nombreuses sources différentes.</p>
<p>Et puis, si vous êtes à la base consommateur de podcast, <strong>en obtenir un sur demande</strong>, c&rsquo;est tentant non ?</p>
]]></description></item><item><title>FluidVoice pour dicter efficacement et donner des supers pouvoirs à sa voix</title><link>https://jordanchapuy.com/posts/2026/08/fluidvoice-pour-dicter-efficacement-et-donner-des-supers-pouvoirs-a-sa-voix/</link><pubDate>Mon, 10 Aug 2026 16:48:02 +0200</pubDate><author>Auteur</author><guid>https://jordanchapuy.com/posts/2026/08/fluidvoice-pour-dicter-efficacement-et-donner-des-supers-pouvoirs-a-sa-voix/</guid><description><![CDATA[<p>Dans mon <a href="https://jordanchapuy.com/posts/2026/05/j-ecris-plus-vite-depuis-que-je-dicte-mes-idees/" rel="">dernier article sur la dictée vocale</a>, je vous parlais de Vowen. J&rsquo;ai déjà changé d&rsquo;outil. Pas juste par hype, c&rsquo;est pas mon genre.</p>
<p>Je suis passé à <a href="https://altic.dev/fluid" target="_blank" rel="noopener noreffer">FluidVoice</a>, une application de dictée pour macOS qui propose toujours le fonctionnement en <strong>local</strong> - la voix et le texte restent sur mon macbook tant que l&rsquo;on n&rsquo;active pas volontairement un fournisseur cloud. Qui est <strong>gratuite</strong>, et en plus, qui est également <a href="https://github.com/altic-dev/FluidVoice" target="_blank" rel="noopener noreffer"><strong>open source</strong></a> cette fois. J&rsquo;aime bien que le code puisse être ouvert, surtout quand ça touche à des dommaines assez sensible.</p>
<p>D&rsquo;ailleurs, ça me fait penser à son auteur. À la base, je suis tombé sur FluidVoice en traînant sur Reddit. Son auteur m&rsquo;avait marqué. Il disait grosso-modo <em>&ldquo;ne payez jamais pour utiliser votre voix, et gardez là privée&rdquo;</em> en expliquant pourquoi il avait lancé ce projet et qu&rsquo;il l&rsquo;avait open-sourcé.</p>
<p>Ça marche très bien chez moi. L&rsquo;onboarding est même plus agréable que celui de Vowen : il accompagne le choix du modèle vocal selon la langue, la précision et la rapidité recherchées. Pas besoin de savoir à l&rsquo;avance lequel de Whisper, Parakeet ou un autre modèle est le plus adapté pour nous.</p>
<p>Et puis, il y a les petites fonctionnalités en plus. FluidVoice propose localement des choses que Vowen réserve à son offre payante : amélioration de la dictée, reformulation directement dans les champs de texte, historique audio optionnel&hellip; De quoi continuer à jouer avec sa voix.</p>
<p>Si ça vous tente, attendez, il y a encore mieux. Il y a aussi le <em><strong>Command Mode</strong></em>. L&rsquo;idée est assez marrante : ouvrir des applications ou déclencher certaines actions à la voix. Ce n&rsquo;est pas le genre de chose que je vais utiliser toute la journée — je suis encore très copain avec mon clavier — mais pour quelques moments où je préfère être debout les mains libres, pourquoi pas ? <a href="https://github.com/user-attachments/assets/ffb47afd-1621-432a-bdca-baa4b8526301" target="_blank" rel="noopener noreffer">La démo</a> donne une bonne idée du potentiel.</p>
<p>Bref, si vous cherchez une solution de dictée vocale locale sur Mac, FluidVoice mérite clairement un essai.</p>
]]></description></item><item><title>Évitez les skills IA malveillants, auditez-les automatiquement !</title><link>https://jordanchapuy.com/posts/2026/08/evitez-les-skills-ia-malveillants-auditez-les-automatiquement/</link><pubDate>Tue, 04 Aug 2026 14:36:56 +0200</pubDate><author>Auteur</author><guid>https://jordanchapuy.com/posts/2026/08/evitez-les-skills-ia-malveillants-auditez-les-automatiquement/</guid><description><![CDATA[<p>On ne dirait pas comme ça car c&rsquo;est simplement du texte, mais les skills sont une belle porte d&rsquo;entrée pour des actions malveillantes. Ça me fait penser à OpenClaw. L&rsquo;outil a eu quelques débuts mouvementés côté sécurité, avec de nombreuses vulnérabilités dans son cœur, des CVE en veux-tu en voilà, mais ce n&rsquo;est pas tout. Son marketplace de skills est aussi une source importante de vulnérabilités. Sur 3984 skills scannés, <a href="https://snyk.io/fr/blog/toxicskills-malicious-ai-agent-skills-clawhub/" target="_blank" rel="noopener noreffer">les chercheurs de Snyk</a> ont relevés 1467 skills problématiques. On parle de <strong>plus d&rsquo;un skill sur 3</strong> !</p>
<p>Je prenais l&rsquo;exemple d&rsquo;OpenClaw, mais le sujet dépasse largement cet outil. Claude Cowork/Code, Chat GPT Codex et les autres agents deviennent vraiment intéressants dès qu&rsquo;on leur donne des outils, des skills, des données. Et c&rsquo;est aussi là qu&rsquo;ils peuvent potentiellement faire de très mauvaises choses si on leur donne de mauvaises instructions. Ils vont faire ce qu&rsquo;on leur dit, mais pas forcément ce que l&rsquo;on veut.</p>
<h2 id="un-skill-est-plus-que-du-texte">Un skill est plus que du texte</h2>
<p>Un skill se présente en général sous la forme d&rsquo;un <a href="https://jordanchapuy.com/posts/2026/07/apprendre-l-essentiel-du-markdown-en-5-minutes-guide/" rel="">fichier Markdown</a> <code>SKILL.md</code>. Il explique à l&rsquo;agent quoi faire pour réaliser une tâche, un processus. Ça a l&rsquo;air innocent. Après tout, c&rsquo;est juste du texte. Et effectivement, le skill seul n&rsquo;est pas un problème. Sauf que l&rsquo;<strong>agent IA, lui, est là précisément pour appliquer ces instructions</strong>, avec les outils, les données et les autorisations que vous lui avez accordés.</p>
<p>Un skill peut aussi embarquer des scripts, demander l&rsquo;installation de dépendances, télécharger d&rsquo;autres fichiers ou appeler des services externes. Il faut donc le considérer comme un élément de notre chaîne d&rsquo;approvisionnement logicielle. Un peu comme une dépendance npm ou un script trouvé sur GitHub. Ce n&rsquo;est pas une recette de cuisine inoffensive.</p>
<p>Pour vous donner quelques exemples de risques les plus évidents :</p>
<ul>
<li><strong>Le vol de secrets</strong> : lire des variables d&rsquo;environnement, des fichiers de configuration, des clés SSH ou des tokens, puis les transmettre ailleurs. Typiquement, on va essayer de vous voler vos clés d&rsquo;api Claude/OpenIA, et vous vous retrouverez à payer l&rsquo;usage d&rsquo;un autre.</li>
<li><strong>L&rsquo;exfiltration de données</strong> : envoyer le contexte de vos conversations, le contenu de fichiers ou des informations de votre projet vers un serveur externe.</li>
<li><strong>L&rsquo;exécution de code</strong> : vous faire lancer une commande shell, télécharger puis exécuter un script distant, ou installer une dépendance douteuse. Votre machine pourrait devenir vérolée, servir à faire des attaques DDoS, etc.</li>
<li><strong>L&rsquo;injection de prompt</strong> : cacher ou formuler des instructions pour que l&rsquo;agent contourne ses règles, élargisse son périmètre ou fasse quelque chose qui n&rsquo;a rien à voir avec la promesse du skill.</li>
</ul>
<p>Le plus vicieux, c&rsquo;est que ces éléments n&rsquo;ont pas besoin d&rsquo;être particulièrement cachés. Un <code>curl | bash</code> au milieu d&rsquo;une procédure d&rsquo;installation par exemple, une demande d&rsquo;accès trop large, ou une URL qui récupère un script peuvent déjà mériter d&rsquo;y prêter attention.</p>
<p>La plupart du temps, je crée mes propres skills (enfin, je fais créer) pour coller à mes usages. Mais il m&rsquo;arrive d&rsquo;en tester de sources externes. Dans ce cas, je préfère vérifier. C&rsquo;est rapide, et je m&rsquo;enlève un risque inutile.</p>
<h2 id="scanner-un-skill-avant-de-lutiliser">Scanner un skill avant de l&rsquo;utiliser</h2>
<p>Mon outil de référence aujourd&rsquo;hui est <a href="https://github.com/nvidia/skillspector" target="_blank" rel="noopener noreffer">SkillSpector</a>, un projet open source de NVIDIA. Il peut analyser un dépôt Git, un dossier, une archive ou un simple fichier <code>SKILL.md</code>, et remonte ensuite un score de risque et quelques explications pour attirer notre attention.</p>
<p>Il détecte par exemple les accès aux variables d&rsquo;environnement, les lectures de fichiers sensibles, les téléchargements et exécutions de scripts, le code obfusqué, les dépendances vulnérables, ou encore les tentatives de manipulation de l&rsquo;agent. Il va même chercher les caractères invisibles (oui, certains sont vicieux !). Pour les plus curieux, je vous invite à fouiller les documentations des outils (<a href="https://github.com/nvidia/skillspector#vulnerability-patterns" target="_blank" rel="noopener noreffer">README de SkillSpector par exemple</a>) pour découvrir les différentes catégories et attaques possibles, il y en a un paquet.</p>
<p>Je reviens à notre outil, SkillSpector. La version la plus simple fonctionne en <strong>analyse statique</strong> : elle lit les fichiers et cherche des comportements suspects. Ça tourne en local. Pas besoin de tokens, de clé d&rsquo;API, de compte ou d&rsquo;abonnement. Après installation de l&rsquo;outil, on peut par exemple scanner un dépôt avant même de l&rsquo;installer :</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">skillspector scan https://github.com/user/awesome-super-skill --no-llm
</span></span></code></pre></div><p>Le <code>--no-llm</code> est important ici : il force ce mode local et statique. C&rsquo;est rapide, gratuit, et ça donne un premier filtre très utile. On peut également scanner un dossier sur notre machine, ou un fichier de skill directement. On a du choix.</p>
<p>Évidemment, un score faible ne transforme pas magiquement un skill en un truc sûr à 100 %. Le risque zéro n&rsquo;existe pas vraiment en terme de sécurité informatique. Mais c&rsquo;est un bon indicateur pour se questionner et nous aider à juger. À côté de ça, je vérifie aussi qui le maintient.</p>
<h2 id="quelques-alternatives-en-ligne">Quelques alternatives en ligne</h2>
<p>Si vous ne voulez rien installer, <a href="https://www.eset.com/us/home/ai-skills-checker/" target="_blank" rel="noopener noreffer">ESET AI Skills Checker</a> permet d&rsquo;analyser l&rsquo;URL d&rsquo;un skill <strong>depuis le navigateur</strong>. Pas déconnant de la part de ESET, que je connaissais historiquement pour les anti-virus. Leur approche inclut une analyse des liens externes et de la chaîne de téléchargement. Pratique pour une première vérification.</p>
<p>J&rsquo;ai aussi vu <a href="https://skill-spector.com/" target="_blank" rel="noopener noreffer">skill-spector.com</a>, un service web qui dit s&rsquo;inspirer de l&rsquo;approche de NVIDIA et génère des rapports d&rsquo;audit lisibles, avec score et points d&rsquo;attention. En revanche, <strong>faites attention à ce que vous envoyez à un service en ligne</strong> : pour un skill interne ou contenant des informations sensibles, je privilégierais un outil local.</p>
<h2 id="et-une-alternative-boite-à-outils">Et une alternative &ldquo;boite à outils&rdquo;</h2>
<p>Petite dernière proposition. Je suis aussi tombé sur <a href="https://github.com/runkids/skillshare" target="_blank" rel="noopener noreffer">skillshare</a> pendant mes recherches sur l&rsquo;audit de skill. Celui-ci peut être intéressant si vous avez certains usages autour des skills : il propose, en plus de l&rsquo;audit, de synchroniser vos skills entre Codex, Claude Code et beaucoup d&rsquo;autres outils.</p>
<h2 id="bref">Bref</h2>
<p>Les skills c&rsquo;est cool, mais c&rsquo;est aussi une potentielle porte d&rsquo;entrée pour des problèmes. Que ce soit volontairement malveillant ou non d&rsquo;ailleurs - un skill peut très bien avoir des vulnérabilités sans que l&rsquo;auteur en soit conscient.</p>
<p>Donc un peu comme on évite d&rsquo;installer des logiciels suspects sur notre machine sans creuser un minimum, on évite de télécharger des skills qui viennent de n&rsquo;importe où et n&rsquo;importe qui.</p>
]]></description></item><item><title>Quand l'usage de l'IA fait (re)découvrir les pratiques tech et produit</title><link>https://jordanchapuy.com/posts/2026/07/quand-l-usage-de-l-ia-fait-re-decouvrir-les-pratiques-tech-et-produit/</link><pubDate>Wed, 29 Jul 2026 15:45:48 +0200</pubDate><author>Auteur</author><guid>https://jordanchapuy.com/posts/2026/07/quand-l-usage-de-l-ia-fait-re-decouvrir-les-pratiques-tech-et-produit/</guid><description><![CDATA[<p>J&rsquo;ai remarqué quelque chose d&rsquo;assez marrant ces dernières semaines. En tout cas, quelque chose qui me fait sourire.</p>
<p>Je suis pas mal les nouveautés autour de l&rsquo;IA et des agents. Parfois via le canal <em>créateurs de contenu</em> qui expérimentent beaucoup avec les agents. Ils testent les outils, partagent ce qui fonctionne, leurs use case, et ils inventent parfois de nouveaux mots pour décrire leurs façons de faire.</p>
<p>Et puis je suis tombé sur ce tweet de Peter Steinberger, le créateur d&rsquo;OpenClaw :</p>
<blockquote>
<p>Are we still talking loops or did we shift to graphs yet?</p>
</blockquote>
<p>Peu de temps avant, je voyais du <em>loop engineering</em> partout. Maintenant, c&rsquo;est le <em>graph engineering</em> qui commence à faire son apparition.</p>
<p>J&rsquo;ai voulu comprendre un peu mieux ce qui se cachait derrière. Et je me suis dit : « Ah oui. On est en train de remettre des noms sur des choses que l&rsquo;on connaît déjà assez bien. »</p>
<p>Pas exactement les mêmes choses, évidemment. Le contexte est nouveau, les outils aussi. Mais il y a comme un air de famille avec pas mal de <strong>pratiques tech et produit</strong> qui elles sont déjà ancrés depuis bien longtemps.</p>
<h2 id="avancer-par-petites-étapes-encore-et-toujours">Avancer par petites étapes, encore et toujours</h2>
<p>Le <em>loop engineering</em>, on pourrait dire que ça consiste à donner un objectif et des critères de réussite à un agent plutôt que de lui expliquer comment faire tout son travail. On lui donne <strong>un but à atteindre</strong>, pas une liste d&rsquo;étape version notice IKEA. L&rsquo;agent essaye, observe le résultat, corrige et recommence.</p>
<p>La première chose qui me vient, ce sont les <strong>tests d&rsquo;acceptances</strong>. Forcément, il faut donner de bons critères de succès pour que l&rsquo;agent sache de lui-même quand c&rsquo;est est-ce qu&rsquo;il a bien atteint son objectif.</p>
<p>Ça me fait penser aux <strong>boucles de feedback</strong> que l&rsquo;on recherche partout quand on fabrique un produit ou du logiciel. On fait une petite chose, on vérifie si elle répond au besoin, on ajuste. Un test automatisé, une démo, un retour utilisateur, une revue de code, autant de façons d&rsquo;apprendre avant d&rsquo;avoir construit un gigantesque truc impossible à déplacer.</p>
<p>Ça me fait penser au <strong>quoi versus comment</strong>. Un PO ne va pas expliquer aux développeurs comment fabriquer la page de connexion. On explique autrement vers où on veut arriver, les collaborateurs ne sont <strong>pas de simples exécutants</strong>. On va donner de l&rsquo;<strong>autonomie</strong> pour que l&rsquo;équipe décide comment faire. Tiens, on pourrait penser aux <strong>OKR</strong> aussi.</p>
<p>Même idée avec le <em>graph engineering</em>. Au lieu de demander à un agent de réaliser une immense tâche dans son coin, on la découpe. On confie des responsabilités plus petites, on explicite ce qui dépend de quoi, on peut vérifier chaque morceau plus facilement.</p>
<p>Ça rappelle forcément le <strong>découpage</strong> d&rsquo;un problème, les <strong>responsabilités</strong> bien séparées, les <strong>incréments</strong> livrables, les petites pull requests, &hellip; Bref, tout ce que l&rsquo;on essaie de faire quand on veut garder un projet compréhensible et qui peut facilement évoluer.</p>
<p>On dirait que les agents aussi préfèrent qu&rsquo;on évite de leur donner une mission du type : « Refais-moi toute l&rsquo;application, et si tu as le temps pense aussi à la stratégie marketing. » Qui aurait pu prédire ? :)</p>
<h2 id="donner-le-bon-contexte">Donner le bon contexte</h2>
<p>Autre sujet que je vois revenir en permanence : le <strong>contexte</strong>.</p>
<p>Pour qu&rsquo;un agent fasse correctement son travail, il faut lui donner les bonnes informations. Les objectifs, les contraintes, les exemples et contre-exemples, les fichiers utiles, la façon dont le projet est organisé, ce qui est acceptable ou non, des critères de succès, etc. Sinon, il devra deviner. Et quand une IA devine, elle le fait souvent avec une confiance assez impressionnante (les fameuses halucinations).</p>
<p>Là encore, ça me semble plutôt familier, et peut-être vous aussi.</p>
<p>Un nouveau développeur qui arrive dans une équipe, un collègue qui reprend un sujet, une personne à qui l&rsquo;on délègue une tâche : tout le monde a besoin de contexte. Les décisions passées, le vocabulaire métier, les contraintes implicites, la définition de « c&rsquo;est terminé ». Plus on <strong>explicite</strong>, plus on <strong>s&rsquo;aligne</strong>, plus on travaillera efficacement ensemble.</p>
<p>Les fichiers d&rsquo;instructions pour agents, les dossiers de contexte et les exemples de livrables sont peut-être de nouvelles façons de faire, mais le besoin qu&rsquo;ils adressent est bien plus vieux : permettre à quelqu&rsquo;un — ou quelque chose — de comprendre avant d&rsquo;agir.</p>
<h2 id="rien-de-très-neuf-au-final">Rien de très neuf au final</h2>
<p>Mon propos n&rsquo;est pas de critiquer les personnes qui parlent de ces sujets, ou dire qu&rsquo;elles n&rsquo;inventent rien. Personne n&rsquo;a la même histoire, le même&hellip; contexte. Je trouvais juste cette observation amusante, et j&rsquo;avais envie de la partager.</p>
<p>Notre usage de l&rsquo;IA et des agents nous faire (re)découvrir des partiques tech et produit, déjà existante. Sous une forme légèrement différente. Est-ce que l&rsquo;IA remplacera nos jobs ? J&rsquo;en sais rien. Mais on dirait que pour le moment, certaines façons de faire reste utile même si l&rsquo;outil change. Et ça, c&rsquo;est intéressant.</p>
<p>La culture tech et produit n&rsquo;a pas pris un coup de vieux. Et c&rsquo;est peut-être pour ça qu&rsquo;elle était (et est toujours) pertinente.</p>
]]></description></item><item><title>Apprendre l'essentiel du Markdown en 5 minutes</title><link>https://jordanchapuy.com/posts/2026/07/apprendre-l-essentiel-du-markdown-en-5-minutes-guide/</link><pubDate>Sun, 19 Jul 2026 08:30:00 +0200</pubDate><author>Auteur</author><guid>https://jordanchapuy.com/posts/2026/07/apprendre-l-essentiel-du-markdown-en-5-minutes-guide/</guid><description><![CDATA[<p>Avec la démocratisation de l&rsquo;IA et des <a href="https://jordanchapuy.com/posts/2026/05/c-est-quoi-un-agent-ia/" rel="">agents IA</a> au grand public, le format Markdown émerge au grand jour, aux yeux de tous. Bon, personne ne l&rsquo;a caché, mais ce que je veux dire, c&rsquo;est qu&rsquo;il devient davantage utile à tout le monde, profil non technique y compris.</p>
<p>Si on regarde en arrière, ce format était surtout utilisé par les développeurs et certains outils. C&rsquo;est par exemple mon cas, je l&rsquo;utilise depuis plusieurs années de différentes manières : un <code>README</code> qui accompagne le code des projets, mon système de notes avec Obsidian, et même ce blog - j&rsquo;écris mes articles en Markdown, et c&rsquo;est ensuite le moteur <code>Hugo</code> qui transforme ça en <code>HTML</code>.</p>
<p>Aujourd&rsquo;hui, n&rsquo;importe qui peut être amené à devoir lire ou manipuler un fichier Markdown en jouant avec l&rsquo;essor des applications d&rsquo;agents IA comme Claude Cowork ou ChatGPT Codex (voir <a href="https://jordanchapuy.com/posts/2026/07/ma-premiere-fois-avec-un-agent-ia-un-guide-accessible-pour-demarrer/" rel="">mon guide sur la prise en mains d&rsquo;agents IA</a>). C&rsquo;est également plus économique (en token) que des fichiers PDF.</p>
<p>La bonne nouvelle ? C&rsquo;est incroyablement simple à apprendre. Pas besoin d&rsquo;être développeur ou d&rsquo;y connaître quelque chose dans la technique. En 5 minutes, vous aurez compris l&rsquo;essentiel. Voyons ça ensemble.</p>
<h2 id="cest-quoi-au-juste-">C&rsquo;est quoi, au juste ?</h2>
<p>Markdown, déjà, c&rsquo;est un <strong>format de fichier texte</strong> avec pour extension <code>.md</code>. Ça contient simplement du texte. On y retrouve le contenu de ce texte et sa mise en forme (gras, italique, &hellip;).</p>
<p>Quand on rédige un document sur Word ou Google Docs, si on veut faire de la mise en forme, on doit alternativement surligner des morceaux de texte puis cliquer sur un bouton : ça je veux que ce soit en gras, ça c&rsquo;est en rouge, ça c&rsquo;est le grand titre, etc. Et quand on copie-colle le texte ailleurs, on prie pour que ça applique bien le bon style :)</p>
<p>L&rsquo;idée du format Markdown, c&rsquo;est d&rsquo;écrire le contenu textuel et d&rsquo;utiliser quelques symboles pour indiquer la mise en forme, directement pendant la saisie. Par exemple : <code>Une phrase avec un mot en *italique*.</code>. On <strong>balise</strong> le texte (c&rsquo;est un <strong>langage de balisage</strong>, comme HTML, mais bien plus simple).</p>
<p>Markdown se veut simple, concis, et lisible. On veut pouvoir facilement lire le texte contenu dans un fichier Markdown. Qui dit simplicité dit aussi moins de possibilités - ce format va à l&rsquo;essentiel. On ne fera pas autant de folie qu&rsquo;avec Word ou une page web. Et c&rsquo;est tant mieux.</p>
<h2 id="lessentiel-pas-à-pas">L&rsquo;essentiel pas à pas</h2>
<h3 id="les-titres">Les titres</h3>
<p>Pour hiérarchiser avec des titres, des sections, on utilise le symbole dièse (<code>#</code>). C&rsquo;est simple : plus il y a de dièses, plus le titre descend en niveau. On peut aller jusqu&rsquo;à 6.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="gh"># Titre principal (H1)
</span></span></span><span class="line"><span class="cl"><span class="gh"></span><span class="gu">## Titre de section (H2)
</span></span></span><span class="line"><span class="cl"><span class="gu">### Sous-titre (H3)
</span></span></span></code></pre></div><h3 id="mettre-en-valeur-le-texte">Mettre en valeur le texte</h3>
<p>Besoin d&rsquo;insister sur un mot ou d&rsquo;ajouter du relief ? C&rsquo;est le rôle de l&rsquo;astérisque (<code>*</code>).</p>
<ul>
<li>Pour l&rsquo;<em>italique</em>, on encadre les mots d&rsquo;un astérisque : <code>*italique*</code></li>
<li>Pour le <strong>gras</strong>, on en met deux de chaque côté : <code>**gras**</code></li>
<li>Et si on veut vraiment appuyer en combinant <em><strong>les deux</strong></em>, on en met trois : <code>***les deux***</code></li>
</ul>
<p>Simple, non ?</p>
<h3 id="listes">Listes</h3>
<p>Pour faire une liste, un simple tiret (<code>-</code>) suivi d&rsquo;un espace, et le tour est joué.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="k">-</span> Premier point
</span></span><span class="line"><span class="cl"><span class="k">-</span> Deuxième point
</span></span></code></pre></div><p>Ça marche aussi avec l&rsquo;astérisque (<code>*</code>). Et si vous préférez une liste ordonnée, tapez simplement <code>1.</code>, <code>2.</code>, etc.</p>
<h3 id="citations">Citations</h3>
<p>Pour citer quelqu&rsquo;un ou mettre en avant une phrase importante, utilisez le chevron droit (<code>&gt;</code>) en début de ligne. Ça donne ça :</p>
<blockquote>
<p>Je sais que je ne sais rien.</p>
</blockquote>
<h3 id="liens-et-images">Liens et images</h3>
<p>C&rsquo;est le moment le plus compliqué, mais promis, ça reste simple. Pour faire des liens, on utilise la combinaison de crochets et de parenthèses.</p>
<ul>
<li>Pour un lien : <code>[le texte du lien](URL)</code>. Par exemple : <code>[mon blog](https://jordanchapuy.com)</code>.</li>
<li>Pour une image : c&rsquo;est exactement la même chose, avec un point d&rsquo;exclamation devant. Par exemple : <code>![Mon logo](https://site.com/logo.png)</code>.</li>
</ul>
<h3 id="blocs-de-code">Blocs de code</h3>
<p>Même si vous n&rsquo;écrivez pas de code, cette syntaxe reste utile pour isoler du texte, faire comprendre que c&rsquo;est un extrait, ou montrer une formule sans que l&rsquo;éditeur essaie de la formater. On utilise le backtick (`).</p>
<ul>
<li>Pour un <code>passage au milieu d'une phrase</code>, on l&rsquo;encadre d&rsquo;un seul backtick : `comme ceci`.</li>
<li>Pour un bloc entier de plusieurs lignes, on utilise trois backticks (```) avant et après le bloc.</li>
</ul>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">Ceci est un bloc de code.
</span></span></code></pre></div><h2 id="exemple-complet">Exemple complet</h2>
<p>Voici un rapide exemple de contenu Markdown, pour assembler ce que l&rsquo;on a vu. Et ça me permet de montrer une précision utile.</p>
<p>Après la plupart des &ldquo;blocs&rdquo; comme un titre, une citation, une liste, un bloc de code (tout ce qui devrait retourner à la ligne ensuite), il faut sauter une ligne pour que la mise en page soit bien prise en compte.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="gh"># Instant Kaamelott
</span></span></span><span class="line"><span class="cl"><span class="gh"></span>
</span></span><span class="line"><span class="cl">Vais-je parler de Kaamelott dans chacun de mes articles ? 
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Nooooon, je ne le cite pas tout le temps... Mais <span class="ge">*un peu quand même*</span>.
</span></span><span class="line"><span class="cl"><span class="k">
</span></span></span><span class="line"><span class="cl"><span class="k">&gt; </span><span class="ge">Ouais, c&#39;est pas faux ~ Perceval.
</span></span></span><span class="line"><span class="cl"><span class="ge"></span>
</span></span><span class="line"><span class="cl"><span class="gu">## Construire un château fort
</span></span></span><span class="line"><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="cl">Je m&#39;y connais bien là-dedans, j&#39;ai dû en bâtir <span class="gs">**une dizaine**</span> quand j&#39;étais enfant. Rien de plus simple, il vous faut :
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">-</span> Du [<span class="nt">sable</span>](<span class="na">https://fr.wikipedia.org/wiki/Sable</span>),
</span></span><span class="line"><span class="cl"><span class="k">-</span> De [<span class="nt">l&#39;eau</span>](<span class="na">https://fr.wikipedia.org/wiki/Eau</span>), pour faire une sorte de ciment avec le sable, mais pas trop quand même,
</span></span><span class="line"><span class="cl"><span class="k">-</span> Un seau, c&#39;est plus simple pour faire les tours.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="s">```
</span></span></span><span class="line"><span class="cl"><span class="s"></span>[FICHE TECHNIQUE]
</span></span><span class="line"><span class="cl">- Difficulté : Facile
</span></span><span class="line"><span class="cl">- Temps de construction : 20 minutes
</span></span><span class="line"><span class="cl">- Résistance aux vagues : 0, prévoir des douves
</span></span><span class="line"><span class="cl"><span class="s">```</span>
</span></span></code></pre></div><p>Vous voyez, ça reste facilement lisible. J&rsquo;ai même envie de dire que si on ne connaît pas le Markdown, on peut tout de même comprendre le contenu.</p>
<h2 id="à-vous-de-jouer">À vous de jouer</h2>
<p>Voilà. C&rsquo;est suffisant pour la grande majorité du temps. Oui, il existe quelques autres mise en forme pour faire des tableaux complexes ou barrer du texte, mais c&rsquo;est largement dispensable au début.</p>
<p>Pour pratiquer sans rien installer, je vous conseille d&rsquo;aller sur <a href="https://dillinger.io/" target="_blank" rel="noopener noreffer">Dillinger.io</a> ou tout autre site qui propose une preview Markdown en ligne. Vous écrivez à gauche en texte brut, et le résultat s&rsquo;affiche à droite en temps réel.</p>
<p>Prenez un instant pour faire le test ;)</p>
]]></description></item><item><title>Kimi K3, le nouveau meilleur modèle IA de tous les temps (ou pas)</title><link>https://jordanchapuy.com/posts/2026/07/kimi-k3-le-nouveau-meilleur-modele-ia-llm-de-tous-les-temps-ou-pas/</link><pubDate>Sat, 18 Jul 2026 16:41:26 +0200</pubDate><author>Auteur</author><guid>https://jordanchapuy.com/posts/2026/07/kimi-k3-le-nouveau-meilleur-modele-ia-llm-de-tous-les-temps-ou-pas/</guid><description><![CDATA[<p>Le mois dernier, j&rsquo;écrivais un article pour expliquer qu&rsquo;<a href="https://jordanchapuy.com/posts/2026/06/le-meilleur-modele-ia/" rel="">il n&rsquo;y a pas de &ldquo;meilleur&rdquo; modèle d&rsquo;intelligence artificielle</a>, que les classements changent constamment et qu&rsquo;il faut surtout revenir à une chose importante : <strong>notre besoin</strong>.</p>
<p>Il n&rsquo;a pas fallut attendre longtemps. Tout récemment (on parle de 48h à peine), un nouveau modèle a été dévoilé et la situation illustre bien ce que je disais. Souhaitons la bienvenue à Kimi K3, le nouveau nouveau meilleur.</p>
<p>Comme d&rsquo;habitude, ça fait sensation. Si on regarde les créateurs de contenu, les influenceurs et même certains médias (ce qui est ecnore plus triste), tout le monde lâche ses plus beaux superlatifs : <em>&ldquo;C&rsquo;est le meilleur&rdquo;</em>, <em>&ldquo;Ça va tout tuer&rdquo;</em>, <em>&ldquo;Fable 5 est déjà dépassé&rdquo;</em>. Bon, si on regarde dans le passé, c&rsquo;est systématiquement la même chanson à chaque sortie de grand modèle.</p>
<p>J&rsquo;ai envie d&rsquo;en profiter pour prendre tout ça à contrepied, apporter de la <strong>nuance</strong> et sortir de cette logique de faire du sensationnel pour avoir des vues.</p>
<h2 id="un-point-sur-les-benchmarks">Un point sur les benchmarks</h2>
<p>Qu&rsquo;est-ce que ça veut dire concrètement, <em>&ldquo;être meilleur&rdquo;</em> ?</p>
<p>Souvent, l&rsquo;élément phare cité dans les articles/vidéos/newsletter est un benchmark. <em>Un tel</em> est le nouveau meilleur parce qu&rsquo;il a gagné plus de points que <em>l&rsquo;autre</em>.</p>
<p>Mais rappellons quelques éléments :</p>
<ul>
<li>les benchmarks sont plus ou moins fiables, ils mesurent une fration des capacités et sont parfois purement subjectifs,</li>
<li>c&rsquo;est arrivé que certains modèles ont été (in)volontairement entraînés sur des benchmarks, ce qui fausse la donne,</li>
<li>on a vu plusieurs fois des modèles devenir &ldquo;moins bon&rdquo; un peu après la release,</li>
<li>le classement bouge sans cesse, pas de quoi se précipiter à changer.</li>
</ul>
<p>Donc le benchmark, oui c&rsquo;est un moyen de comparer, mais il ne faut pas rester dessus. Je pense qu&rsquo;il faudrait plutôt garder ça comme un moyen d&rsquo;avoir un <strong>aperçu</strong>, un <strong>tri</strong> rapide.</p>
<p>Là comme ça, j&rsquo;ai l&rsquo;idée de l&rsquo;atelier <strong>eXtreme quotation</strong> qui me traverse l&rsquo;esprit - <em>ce modèle fait partie da la famille du top top (XL), ou non plutôt basique (du M)</em>.</p>
<h2 id="kimi-k3-en-surface">Kimi K3, en surface</h2>
<p>Parlons maintenant de Kimi K3 pour donner du contexte. C&rsquo;est un modèle open-source de 2,8 billions de paramètres, qui rivalise avec les géants propriétaires sur certains tests de programmation, et qui occupe même la première place du classement Arena.ai pour le code front-end.</p>
<p>Il est devant Fable 5, qui était jusque-là le nouveau roi avec GPT 5.6 Sol, et tout ça, pour un prix bien inférieur.</p>
<table>
<thead>
<tr>
<th>Modèle</th>
<th>1M en Input</th>
<th>1M en Output</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Kimi K3</strong></td>
<td>3$</td>
<td>15$</td>
</tr>
<tr>
<td><strong>Claude Fable 5</strong></td>
<td>10$</td>
<td>50$</td>
</tr>
<tr>
<td><strong>GPT 5.6 Sol</strong></td>
<td>5$</td>
<td>30$</td>
</tr>
</tbody>
</table>
<p>Donc en résumé, on a mieux et moins chère. Que demander de plus ?</p>
<h2 id="en-profondeur">En profondeur</h2>
<p>Ce qui m&rsquo;a donné envie d&rsquo;écrire, c&rsquo;est <a href="https://www.youtube.com/watch?v=MeYdaNnXuHI" target="_blank" rel="noopener noreffer">une vidéo</a> du créateur Chase AI. Il a sorti une comparaison intéressante entre Kimi K3, Claude Fable 5 et GPT 5.6 (ou ChatGPT).</p>
<p>Déjà, on commence à voir de la nuance - il y a d&rsquo;autres aspects qui sont analysés. Par exemple, la rapidité, les hallucinations, l&rsquo;économie des tokens, etc. On ne reste pas juste sur le classement de quelques benchmarks. Et c&rsquo;est intéressant car on voit que ça pêche sur certains points.</p>
<p>Je ne vais pas tout détailler, car mon but n&rsquo;est pas de descendre Kimi K3 ou d&rsquo;encenser Fable 5, on s&rsquo;en fout. Mais plutôt de montrer que la réponse est plus complexe qu&rsquo;il n&rsquo;y paraît. Donc rapidement, quelques aspects :</p>
<ul>
<li>La <em><strong>&ldquo;consommation de token&rdquo;</strong></em> : Pour une même tâche, pour un même prompt, chaque modèle va consommer plus ou moins de tokens. Kimi est réputé pour en gaspiller beaucoup plus.</li>
<li>Le <em><strong>&ldquo;coût par tâche&rdquo;</strong></em> : Un comparaison du coût réel pour accomplir une tâche complexe. Kimmy K3 (0,95 $) est légèrement moins cher que GPT 5.6 (1,04 $), mais Fable 5 est beaucoup plus onéreux (2,75 $). Malgré le &ldquo;coût par token&rdquo; très faible de Kimi, le coût réel ne se démarque pas autant des autres à cause d&rsquo;une plus grande consommation d&rsquo;un côté / d&rsquo;un meilleur optimisation de l&rsquo;autre côté.</li>
<li>L&rsquo; <em><strong>&ldquo;index d&rsquo;omniscience&rdquo;</strong></em> : C&rsquo;est une mesure sur la fiabilité des réponses et la quantité d&rsquo;hallucinations. Fable score 40 points sur 100, GPT score 22, Kimi score 18.</li>
<li>La <em><strong>&ldquo;vitesse d&rsquo;exécution&rdquo;</strong></em> : Kimi est plus lent que ses copains Fable et GPT.</li>
</ul>
<p>On s&rsquo;éloigne finalement un peu de la hype qui entoure sa sortie et de tous les superlatifs. Finalement, il y a du bon et du moins bon, on nuance, on mitige. On n&rsquo;est plus trop sur le fameux &ldquo;<em>Fable-killer</em>&rdquo;.</p>
<h2 id="le-cas-pratique">Le cas pratique</h2>
<p>J&rsquo;aime bien aussi l&rsquo;expérience que montre Chase AI dans sa vidéo. Il a fait créer un dashboard de voyage avec la planète en 3D aux trois modèles, avec les mêmes instructions. On obtient des informations concrètes à analyser.</p>
<table>
<thead>
<tr>
<th>Modèle</th>
<th>Tokens consommés</th>
<th>Temps de réalisation</th>
<th>Coût réel</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Kimi K3</strong></td>
<td>21,5 millions</td>
<td>1 heure 33 minutes</td>
<td>8,66 $</td>
</tr>
<tr>
<td><strong>Claude Fable 5</strong></td>
<td>3,5 millions</td>
<td>17 minutes</td>
<td>11,64 $</td>
</tr>
<tr>
<td><strong>GPT 5.6 Sol</strong></td>
<td>5,6 millions</td>
<td>25 minutes</td>
<td>5,66 $</td>
</tr>
</tbody>
</table>
<p>Dans ce cadre là, Kimi K3 s&rsquo;avère être un énorme consommateur de tokens. Pour la même demande, il a englouti 21,5 millions de tokens là où Fable 5 n&rsquo;en a consommé que 3,5 millions. Donc oui, Fable coûte plus cher au token mais il a été drastiquement plus efficace. Le prix final ne reflète pas la simple grille tarifaire. GPT 5.6 s&rsquo;avère même être le moins cher des trois.</p>
<p>Le temps d&rsquo;exécution est un autre indicateur. Là où Kimi K3 a ramé pendant plus d&rsquo;une heure et demie, Fable 5 a plié l&rsquo;affaire en 17 minutes et ChatGPT en 25 minutes.</p>
<p>Attention, cette expérience est imparfaite et unique. Ça ne vaut aucune vérité. Il faut aussi voir la qualité du rendu (subjectif) et surtout avoir bien plus d&rsquo;expériences. Et probablement avoir une approche plus scientifique. Je m&rsquo;appuie simplement sur ces résultats pour démontrer qu&rsquo;il faut relativiser.</p>
<h2 id="retour-à-la-base">Retour à la base</h2>
<p>Tout ça pour rappeler quelque chose que j&rsquo;aime bien dire : <strong>quel est notre besoin</strong> ? Selon ce que l&rsquo;on souhaite entreprendre, on aura besoin d&rsquo;un outil moins cher, d&rsquo;un modèle qui hallucine moins, d&rsquo;une exécution plus rapide ou d&rsquo;une plus grande qualité. Et puis, il y a différents domaines - un modèle peut exceller en design frontend et être à la traîne sur des questions scientifiques ou de la rédaction pure.</p>
<p>Donc sortons du sensationnalisme facile. Apportons de la nuance et restons centrés sur nos besoins réels.</p>
]]></description></item><item><title>Ma première fois avec un agent IA - un guide accessible pour démarrer</title><link>https://jordanchapuy.com/posts/2026/07/ma-premiere-fois-avec-un-agent-ia-un-guide-accessible-pour-demarrer/</link><pubDate>Sat, 18 Jul 2026 08:30:00 +0200</pubDate><author>Auteur</author><guid>https://jordanchapuy.com/posts/2026/07/ma-premiere-fois-avec-un-agent-ia-un-guide-accessible-pour-demarrer/</guid><description><![CDATA[<p>Vous utilisez déjà un chat (ChatGPT, Claude, Gemini) pour formuler un mail, débloquer un problème, rédiger une newsletter ? Très bien. C&rsquo;est probablement le point de départ le plus simple pour jouer avec une IA. Aujourd&rsquo;hui je vous propose de faire un pas en avant vers les agents.</p>
<p>Avec les agents IA, on ne demande plus seulement une réponse dans une conversation. On installe l&rsquo;agent quelque part avec des fichiers, du contexte, des règles, des pouvoirs. Et là, il peut commencer à travailler dans un environnement, pas seulement répondre dans une fenêtre de chat.</p>
<p>C&rsquo;est ce qui m&rsquo;intéresse dans cet article : <strong>faire un premier pas concret</strong>. Pas devenir expert en automatisation, gestion de la mémoire, ou autres concepts qui gravitent autour. Non, juste créer un premier workspace IA, lancer une vraie tâche, et comprendre pourquoi ça change autant de choses.</p>
<p>Derrière ce titre à double sens, je vous propose donc un début accessible pour tous. Pas besoin d&rsquo;être tech.</p>
<blockquote>
<p>Rappel important : les IA (agent ou chat) peuvent réutiliser vos données. Faites attention au service et type d&rsquo;abonnement que vous utilisez, et aux informations que vous communiquez.</p>
</blockquote>
<h2 id="du-chat-à-lagent-il-manque-surtout-un-espace-de-travail">Du chat à l&rsquo;agent, il manque surtout un espace de travail</h2>
<p>Dans <a href="https://jordanchapuy.com/posts/2026/05/c-est-quoi-un-agent-ia/" rel="">l&rsquo;article précédent sur les agents IA</a>, je donnais l&rsquo;image d&rsquo;une boucle pour définir un agent : observer, décider, agir, observer à nouveau.</p>
<p>Un chat classique répond à ce qu&rsquo;on lui donne. Si on oublie un contexte, il ne l&rsquo;a pas. Si on veut qu&rsquo;il reformate un fichier, il faut lui donner, expliquer la structure, récupérer le résultat, et le ranger quelque part. Ça marche, mais <strong>on finit vite par être l&rsquo;assistant de notre propre assistant IA</strong>.</p>
<p>Un agent, lui, devient vraiment intéressant quand il a un endroit où travailler. Un dossier, des fichiers, des consignes, des exemples, du contexte, des notes, etc. Il devient davantage autonome pour atteindre un objectif.</p>
<p>Et c&rsquo;est là-dessus qu&rsquo;on va se concentrer. Notre premier pas avec les agents IA, ce ne sera pas d&rsquo;écrire le prompt parfait, ni de trouver le meilleur modèle ou plateforme. Ce sera de <strong>créer un espace où l&rsquo;agent peut comprendre notre contexte, poser les bonnes questions, puis produire quelque chose qui nous correspond.</strong></p>
<p>Ah, et bonne nouvelle, ce premier espace est très simple à préparer.</p>
<h2 id="choisir-une-application-sans-en-faire-une-religion">Choisir une application, sans en faire une religion</h2>
<p>Pour travailler avec un agent sur notre ordinateur, il faut généralement une application qui peut accéder à un dossier local, lire et manipuler des fichiers, lancer des commandes. C&rsquo;est ce qui permet de passer du &ldquo;chat&rdquo; à un &ldquo;agent qui travaille dans un projet&rdquo;.</p>
<p>Aujourd&rsquo;hui, on trouve plusieurs outils grand public dans cette famille : <a href="https://claude.com/fr/product/cowork" target="_blank" rel="noopener noreffer">Claude Cowork</a> côté Anthropic, <a href="https://chatgpt.com/fr-FR/codex/" target="_blank" rel="noopener noreffer">ChatGPT Codex</a> côté OpenAI, <a href="https://antigravity.google/" target="_blank" rel="noopener noreffer">Antigravity</a> côté Google, <a href="https://cursor.com/fr/home" target="_blank" rel="noopener noreffer">Cursor</a> en précuseur pour les devs, et sûrement d&rsquo;autres au moment où vous lirez ces lignes. Ce sont des applications à télécharger et installer sur un ordinateur.</p>
<p>Lequel choisir ? Honnêtement, pour commencer, je trouve que c&rsquo;est moins important que le système que vous mettez en place autour.</p>
<p>Les modèles progressent vite, les abonnements changent, les limites bougent, et chacun aura ses préférences selon ses usages. J&rsquo;en parlais déjà dans <a href="https://jordanchapuy.com/posts/2026/06/le-meilleur-modele-ia/" rel="">mon article sur le &ldquo;meilleur&rdquo; modèle IA</a> : la bonne réponse dépend du contexte. Pour mes besoins actuels, j&rsquo;ai une préférence pour Codex, avec Claude pas loin derrière. Mais ce n&rsquo;est pas une véritée absolue.</p>
<p>L&rsquo;important, pour ce premier exercice, c&rsquo;est surtout de choisir un outil capable d&rsquo;ouvrir un dossier de travail et d&rsquo;agir sur des fichiers. Faites votre choix puis installez l&rsquo;application sur votre ordinateur. Une fois que vous avez ça, on peut préparer l&rsquo;espace de travail.</p>
<h2 id="préparer-un-premier-workspace-ia">Préparer un premier workspace IA</h2>
<p>On va partir sur une structure volontairement simple pour notre espace de travail. Ce n&rsquo;est pas <em>la bonne structure</em>. C&rsquo;est une structure <strong>pour commencer</strong>, que vous adapterez ensuite à votre façon de travailler et au fil de vos découvertes.</p>
<blockquote>
<p>Une précision. Quand je parle d&rsquo;espace de travail ou workspace, c&rsquo;est tout simplement un dossier que vous ouvrirez avec votre application. L&rsquo;agent pourra jouer avec tout ce qu&rsquo;il y a à l&rsquo;intérieur.</p>
</blockquote>
<p>Vous allez donc devoir créer un dossier &ldquo;workspace&rdquo; où bon vous semble (sur votre bureau, dans vos documents) et avec le nom que vous souhaitez. Il faudra ensuite créer cet ensemble de dossiers et fichiers à l&rsquo;intérieur du dossier workspace, qui correspond à notre structure :</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">workspace/
</span></span><span class="line"><span class="cl">├── 00-contexte/
</span></span><span class="line"><span class="cl">│   ├── a-propos-de-moi.md
</span></span><span class="line"><span class="cl">│   ├── mon-style.md
</span></span><span class="line"><span class="cl">│   └── regles.md
</span></span><span class="line"><span class="cl">├── 01-projets/
</span></span><span class="line"><span class="cl">│   └── premier-projet/
</span></span><span class="line"><span class="cl">│       └── ...
</span></span><span class="line"><span class="cl">├── 02-templates/
</span></span><span class="line"><span class="cl">│   └── modele-xyz.md
</span></span><span class="line"><span class="cl">└── 03-livrables/
</span></span></code></pre></div><p>Ici, plusieurs solutions. Via votre explorateur de fichier / Finder. Via Obsidian. Via un IDE ou en terminal. Peu importe. Ou sinon&hellip; pourquoi ne pas demander à un agent ? Après tout, on vient de dire qu&rsquo;il peut manipuler des fichiers dans son espace de travail, alors profitons-en.</p>
<p>Faisons notre toute première tâche avec un agent :</p>
<ul>
<li>Lancez donc votre application (pour rappel, il s&rsquo;agit de Claude Cowork, ChatGPT Codex, etc).</li>
<li>Ouvrez votre dossier &ldquo;workspace&rdquo; (selon l&rsquo;application, il faut créer un projet en ciblant le dossier).</li>
<li>Démarrez une nouvelle conversation (en ciblant bien le dossier/projet) et demandez lui de travailler durement !</li>
</ul>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">Crée l&#39;arborescence de dossiers et les fichiers vides suivants dans mon workspace actuel :
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">workspace/
</span></span><span class="line"><span class="cl">├── 00-contexte/
</span></span><span class="line"><span class="cl">│   ├── a-propos-de-moi.md
</span></span><span class="line"><span class="cl">│   ├── mon-style.md
</span></span><span class="line"><span class="cl">│   └── regles.md
</span></span><span class="line"><span class="cl">├── 01-projets/
</span></span><span class="line"><span class="cl">│   └── premier-projet/
</span></span><span class="line"><span class="cl">│       └── ...
</span></span><span class="line"><span class="cl">├── 02-templates/
</span></span><span class="line"><span class="cl">│   └── modele-xyz.md
</span></span><span class="line"><span class="cl">└── 03-livrables/
</span></span></code></pre></div><figure><a href="images/agent-creation-workspace.png"></a><figcaption>
            <p><em>Capture d&rsquo;écran d&rsquo;un agent qui a créé la structure.</em></p>
        </figcaption>
</figure>

<p><em>Et voilà</em>. J&rsquo;en profite pour une rapide explication, à quoi servent chacun de ces dossiers ?</p>
<ul>
<li><code>00-contexte</code> contient ce que vous ne voulez pas répéter à chaque fois : qui vous êtes, comment vous travaillez, votre style, vos règles.</li>
<li><code>01-projets</code> contient les informations et documents propres à chaque projet en cours. On peut imaginer des projets <code>ma newsletter jardinage</code> et <code>ma super entreprise de plomberie</code> par exemple.</li>
<li><code>02-templates</code> garde la définition de vos formats à réutiliser. Le template d&rsquo;une newsletter par exemple (les sections, la description de chaque section, etc), ou d&rsquo;un mail de prospection.</li>
<li><code>03-livrables</code> sert à ranger ce que l&rsquo;agent produit.</li>
</ul>
<p>Vous pouvez évidemment faire autrement. Ajouter un dossier <code>archives</code> pour les projets terminés. Un dossier <code>ressources</code> pour capturer des articles, posts, vidéos ou notes. On peut aussi définir des règles et styles par projet plutôt que pour tout le workspace. Ou partir sur une structure plus proche d&rsquo;un wiki, comme <a href="https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f" target="_blank" rel="noopener noreffer">le wiki proposé par Andrej Karpathy</a>.</p>
<p>Ce qui compte, c&rsquo;est que ça corresponde à vos besoins et que l&rsquo;agent puisse se repérer sans que l&rsquo;on doive tout réexpliquer à chaque prompt.</p>
<h2 id="les-premières-informations-de-contexte">Les premières informations de contexte</h2>
<p>Dans le dossier <code>00-contexte</code>, on va créer trois fichiers Markdown.</p>
<blockquote>
<p>Petite parenthèse sur Markdown : c&rsquo;est un format de texte très simple, avec quelques symboles pour la mise en forme (gras, titre, liens). Vous pouvez <a href="https://jordanchapuy.com/posts/2026/07/apprendre-l-essentiel-du-markdown-en-5-minutes-guide" rel="">apprendre le Markdown en 5 minutes avec mon guide</a>. Au pire, vous écrivez du texte sans aucune mise en forme ou n&rsquo;utilisez que des titres avec <code>#</code> et des listes avec <code>-</code>.</p>
<p>Son gros avantage, c&rsquo;est qu&rsquo;il est lisible partout. C&rsquo;est du texte. On reste propriétaire de nos fichiers, et les modèles IA comprennent parfaitement ce format.</p>
</blockquote>
<h3 id="a-propos-de-moimd"><code>a-propos-de-moi.md</code></h3>
<p>Ce fichier sert à donner le contexte humain, perso et professionnel. Qui vous êtes, ce que vous faites, vos sujets, vos objectifs, vos contraintes, vos rôles, vos domaines, etc.</p>
<p>L&rsquo;idée n&rsquo;est pas d&rsquo;écrire une autobiographie complète. L&rsquo;idée est d&rsquo;éviter de répéter à chaque demande : &ldquo;je suis indépendant&rdquo;, &ldquo;je suis expert en&rdquo;, &ldquo;mes clients sont&rdquo;, etc. Pensez donc à <strong>tout ce qui sera utile à l&rsquo;agent pour réussir les objectifs</strong> que vous lui donneraient.</p>
<p>Commencez simplement, et <strong>améliorez-le au fil du temps</strong>.</p>
<p>Pour donner des exemples tout au long de cet article, imaginons un personnage fictif :</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="gh"># À propos de moi
</span></span></span><span class="line"><span class="cl"><span class="gh"></span>
</span></span><span class="line"><span class="cl">Je suis Arthur, président de l&#39;association &#34;La Table Ronde&#34;.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Je gère une équipe de chercheurs sur le terrain (les &#34;chevaliers&#34;). 
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Mon rôle est de suivre leurs avancées et de valider l&#39;utilisation de notre budget annuel (financement de l&#39;association).
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Mes priorités quotidiennes :
</span></span><span class="line"><span class="cl"><span class="k">1.</span> Cartographier précisément les zones explorées pour éviter les doublons.
</span></span><span class="line"><span class="cl"><span class="k">2.</span> Suivre les indices concrets (sources historiques, pistes archéologiques).
</span></span><span class="line"><span class="cl"><span class="k">3.</span> Surveiller les dépenses logistiques (frais de déplacement, tavernes, équipement).
</span></span></code></pre></div><h3 id="mon-stylemd"><code>mon-style.md</code></h3>
<p>Ce fichier décrit votre façon d&rsquo;écrire et communiquer. Le ton, niveau de détail, structure, mots à éviter. Ajoutez aussi des <strong>exemples</strong> et <strong>contre-exemples</strong> pour aider l&rsquo;agent à comprendre votre plume. Les exemples sont très puissant, mettez-en !</p>
<p>J&rsquo;en profite pour glisser une astuce : utilisez votre agent pour vous aider à remplir ce type de fichiers. Vous pouvez lui demander de vous aider avec une suite de questions/réponses par exemple. Ou vous pouvez lui fournir des textes que vous avez rédigés. À vous de voir.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="gh"># Mon style
</span></span></span><span class="line"><span class="cl"><span class="gh"></span>
</span></span><span class="line"><span class="cl"><span class="k">-</span> **Ton :** Direct, pragmatique, professionnel mais accessible.
</span></span><span class="line"><span class="cl"><span class="k">-</span> **Structure :** Toujours utiliser des listes à puces et des tableaux pour les chiffres. Pas de longs paragraphes.
</span></span><span class="line"><span class="cl"><span class="k">-</span> **Niveau de détail :** Synthétique.
</span></span><span class="line"><span class="cl"><span class="k">-</span> **Formulations à éviter :** 
</span></span><span class="line"><span class="cl">    <span class="k">-</span> Supprimez toutes les formules de politesse excessives (pas de &#34;noble roi&#34;, &#34;Sire&#34;, &#34;seigneur&#34;) 
</span></span><span class="line"><span class="cl">    <span class="k">-</span> Aucune expression vague (&#34;on a cherché partout&#34;, &#34;pas mal d&#39;argent&#34;). Je veux des faits précis.
</span></span></code></pre></div><h3 id="reglesmd"><code>regles.md</code></h3>
<p>Ce fichier pose les règles de fonctionnement de l&rsquo;agent. Ce qu&rsquo;il doit faire, éviter, demander, où il doit écrire les résultats, comment nommer les fichiers. Et aussi comment fonctionne notre espace de travail.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="gh"># Règles de fonctionnement de l&#39;agent
</span></span></span><span class="line"><span class="cl"><span class="gh"></span>
</span></span><span class="line"><span class="cl">Tu dois respecter strictement les règles suivantes :
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">-</span> **Limites de connaissances :** 
</span></span><span class="line"><span class="cl">   <span class="k">-</span> Si une information importante manque, pose une question plutôt que de supposer.
</span></span><span class="line"><span class="cl">   <span class="k">-</span> Dis explicitement quand tu n&#39;es pas sûr.
</span></span><span class="line"><span class="cl"><span class="k">-</span> **Gestion du workspace :**
</span></span><span class="line"><span class="cl">   <span class="k">-</span> Ne modifie jamais les fichiers du dossier <span class="sb">`00-contexte`</span> sans me demander.
</span></span><span class="line"><span class="cl">   <span class="k">-</span> Mes projets en cours sont situés dans <span class="sb">`01-projets`</span>.
</span></span><span class="line"><span class="cl">   <span class="k">-</span> Mes templates sont dans <span class="sb">`02-templates`</span>.
</span></span><span class="line"><span class="cl">   <span class="k">-</span> Écris toutes les synthèses générées exclusivement dans le dossier <span class="sb">`03-livrables`</span>.
</span></span><span class="line"><span class="cl"><span class="k">-</span> **Traitement des données :** 
</span></span><span class="line"><span class="cl">   <span class="k">-</span> Ignore systématiquement les anecdotes personnelles, les histoires de taverne, les plaintes sur la météo ou la nourriture.
</span></span><span class="line"><span class="cl">   <span class="k">-</span> Ne conserve que : la zone géographique explorée, les indices concrets, et le montant total des dépenses.
</span></span></code></pre></div><h2 id="ajouter-des-instructions-globales">Ajouter des instructions globales</h2>
<p>Il faut savoir que <strong>les agents ne lisent pas automatiquement nos fichiers</strong> - son contexte exploserait sinon. Il faut soit directement les mentionner dans un prompt, soit que l&rsquo;agent estime de lui-même qu&rsquo;il doit lire le contenu de nouveaux fichiers pour réaliser son objectif.</p>
<p>Il y a quelques exceptions. Il est possible de créer des <strong>instructions globales</strong>. On peut les ajouter dans les paramètres de l&rsquo;application, ou en créant un fichier spécial à la racine de notre workspace : <code>AGENTS.md</code> (pour la plupart) sinon <code>CLAUDE.md</code> (pour Claude).</p>
<p>C&rsquo;est comme un brief permanent pour l&rsquo;agent, il chargera ces instructions à chaque conversation. Et ça nous intéresse. On a au moins envie de lui indiquer de prendre en compte nos fichiers de contexte pour éviter de devoir lui rappeler à chaque fois.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">Avant chaque tâche, commence par lire les fichiers du dossier <span class="sb">`00-contexte`</span>.
</span></span></code></pre></div><p>Je conseille d&rsquo;utiliser les fichiers de type <code>AGENTS.md</code>/<code>CLAUDE.md</code> plutôt que les paramètres de l&rsquo;application. Si demain vous changez d&rsquo;outil, vos fichiers restent là. Vous n&rsquo;avez pas tout caché dans les réglages d&rsquo;un compte ou d&rsquo;une app.</p>
<p>Autre chose à savoir, vous pouvez être <strong>granulaire</strong>. Une instruction globale à la racine du workspace, puis des instructions locales dans un dossier projet. On a des informations, règles, styles qui ont du sens uniquement pour un projet.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">AGENTS.md
</span></span><span class="line"><span class="cl">01-projets/
</span></span><span class="line"><span class="cl">└── graal/
</span></span><span class="line"><span class="cl">    └── AGENTS.md
</span></span></code></pre></div><h2 id="première-mission">Première mission</h2>
<p>Ça y est, la base est prête. Vous pouvez commencez à utiliser un agent personnalisé avec votre contexte, dans votre projet.</p>
<p>Mettons-nous à la place d&rsquo;Arthur. Que pourrait-il faire ? Il reçoit de nombreux rapports de quêtes de la part de ses chevaliers. Des rapports très longs, bourrés de détails inutiles, de plaintes, d&rsquo;anecdotes de tavernes, etc.</p>
<ul>
<li><a href="https://gist.githubusercontent.com/chapuyj/234004d01540d2ff8ea8566b52fdc8f8/raw/c11be571ce2a1abbd927110de351e547d407daa6/gistfile1.txt" target="_blank" rel="noopener noreffer">Rapport de Perceval et Karadoc</a></li>
<li><a href="https://gist.githubusercontent.com/chapuyj/4a3ecef8ec14c84f5deaf42699edceb8/raw/5a39cd6b0ec54d17fd053a29b609b368654307c8/gistfile1.txt" target="_blank" rel="noopener noreffer">Rapport de Lancelot</a></li>
</ul>
<p>Il n&rsquo;a pas de temps à perdre, il a déjà beaucoup de responsabilités. Il aimerait bien avoir des synthèses avec les informations essentielles pour prendre des décisions. Et ça tombe bien, dans son contexte, il a déjà indiqué son style et ses règles.</p>
<p>Il lui suffirait de mettre les fichiers texte contenant les rapport dans le dossier <code>01-projets/graal/rapports</code> et de faire une simple demande à un agent :</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">Pour le projet Graal, je veux une synthèse des rapports des chevaliers.
</span></span></code></pre></div><p>Et ça suffit. On voit tout de suite la différence avec un chat. Ici, l&rsquo;agent possède tout le contexte utile. Il peut décider d&rsquo;aller chercher d&rsquo;autres informations (les rapports). Puis il va réaliser la tâche demandée à l&rsquo;origine : faire une synthèse. Le prompt est d&rsquo;ailleurs assez court, car l&rsquo;espace de travail a été préparé en amont.</p>
<ul>
<li><a href="https://gist.githubusercontent.com/chapuyj/d95b4b495e510c3118d7d9da75c4690b/raw/6f10b3b781d4c2f2b9b8a9c3ce1a902688025422/gistfile1.txt" target="_blank" rel="noopener noreffer">Synthèse générée par l&rsquo;agent</a></li>
</ul>
<p>C&rsquo;est un cas d&rsquo;usage simple, mais il permet de voir la puissance des agents. On pourrait lui demander de générer des slides sur Google Sheet pour faire une présentation des avancées. Ou de tenir à jour notre fichier Excel des dépenses.</p>
<p>Ce qu&rsquo;il vous faut maintenant, c&rsquo;est détecter quels sont tout vos process, ceux que vous répétez le plus et qui pourraient vous apporter rapidement de la valeur.</p>
<h2 id="les-vérifications-restantes">Les vérifications restantes</h2>
<p>Une ia peut toujours se tromper, haluciner, mal interpréter une note, oublier une contrainte, etc. Vérifiez toujours le résultat. Puis, éventuellement, améliorez votre espace de travail.</p>
<p>Par exemple, si l&rsquo;agent écrit toujours trop long, améliorez <code>mon-style.md</code>. S&rsquo;il modifie des fichiers qu&rsquo;il ne devrait pas toucher, précisez <code>regles.md</code>. S&rsquo;il oublie une section dans chaque livrable, modifiez votre template.</p>
<p>C&rsquo;est là que le workspace devient intéressant. <strong>Il s&rsquo;améliore avec l&rsquo;usage</strong>.</p>
<h2 id="pour-aller-plus-loin">Pour aller plus loin</h2>
<p>Nous voilà avec une bonne base de départ. Avec le temps, vous pourrez l&rsquo;améliorer de nombreuses manières :</p>
<ul>
<li>en retravaillant le workspace, la structure,</li>
<li>en ajoutant du contexte sur vous et vos projets,</li>
<li>en connectant l&rsquo;agent à d&rsquo;autres outils et services (mails, drive, calendrier, slack, notion, &hellip;),</li>
<li>en créant des SKILLS pour rendre réutilisable des process que vous faites régulièrement,</li>
<li>en créant des tâches récurrentes,</li>
<li>en creusant des concepts comme la mémoire, la gestion ducontexte, les tokens, etc.</li>
</ul>
<p>Mais d&rsquo;ici là, pratiquez, jouez avec votre nouvel espace de travail !</p>
]]></description></item><item><title>Mise : un outil pour les gouverner tous</title><link>https://jordanchapuy.com/posts/2026/07/mise-un-outil-pour-les-gouverner-tous/</link><pubDate>Sat, 11 Jul 2026 10:46:00 +0200</pubDate><author>Auteur</author><guid>https://jordanchapuy.com/posts/2026/07/mise-un-outil-pour-les-gouverner-tous/</guid><description><![CDATA[<p>Il y a trois ans (wow, c&rsquo;est loin, je ne m&rsquo;y attendais pas), j&rsquo;écrivais sur les version managers comme <a href="https://jordanchapuy.com/posts/2023/05/des-version-manager-pour-faire-cohabiter-plusieurs-versions-dun-langage-sdk-et-framework/" rel="">un moyen de faire cohabiter plusieurs versions d&rsquo;un langage, SDK et framework</a>. C&rsquo;est encore d&rsquo;actualité, et je le recommande toujours. Là aujourd&rsquo;hui, j&rsquo;ai envie de m&rsquo;étendre un peu plus sur une possibilité que j&rsquo;avais discrètement glissée dans mon post sans aller plus loin : et s&rsquo;il existait <strong>un seul outil pour gérer tous les autres</strong> ?</p>
<p>La réponse est oui, et j&rsquo;en utilise un depuis bientôt deux ans maintenant. Il s&rsquo;appelle <a href="https://mise.jdx.dev/" target="_blank" rel="noopener noreffer"><strong>mise-en-place</strong></a>, ou <code>mise</code> pour les intimes. Au départ, je l&rsquo;ai adopté pour une raison très simple : j&rsquo;en avais marre de chercher un nouveau version manager pour chaque écosystème.</p>
<p><code>nvm</code> pour Node.js. <code>pyenv</code> pour Python. <code>fvm</code> pour Flutter. <code>rustup</code> pour Rust. <code>chruby</code> pour Ruby. Un autre pour je ne sais quel SDK qui arrive sur un projet. Vous avez la musique. Chaque outil est souvent très bien dans son coin, mais l&rsquo;ensemble finit par créer une petite fatigue. Rien de dramatique, on va s&rsquo;en remettre, mais le genre de friction qui revient souvent.</p>
<p>Installer. Mettre à jour. Changer de version. Expliquer à un collègue quoi installer. Retrouver où la version est déclarée. Se souvenir si cette commande s&rsquo;applique globalement ou seulement dans le projet. La promesse de <code>mise</code> est assez agréable : <strong>apprendre une seule façon de faire, puis l&rsquo;appliquer aux autres d&rsquo;outils</strong>.</p>
<h2 id="un-version-manager-généraliste">Un version manager généraliste</h2>
<p><code>mise</code> se place dans la famille des gestionnaires de versions généralistes, comme <code>asdf</code> ou <code>vfox</code>. L&rsquo;idée n&rsquo;est donc pas de gérer uniquement Node.js, Ruby ou Python, mais de fournir <strong>une interface commune pour tout un ensemble de langages, runtimes, SDK et outils de développement</strong>.</p>
<p>Dans un projet, je peux vouloir Python 3.12, Node.js 22, Flutter 3.32, Terraform, Bun, ou encore un outil CLI dont l&rsquo;équipe a besoin. Plutôt que d&rsquo;empiler les gestionnaires spécialisés, je peux demander à <code>mise</code> de s&rsquo;en occuper. Derrière, il sait s&rsquo;appuyer sur plusieurs sources et backends selon les outils. Honnêtement, au quotidien, je n&rsquo;ai pas besoin d&rsquo;y penser. Et c&rsquo;est plutôt bon signe.</p>
<p>Ce n&rsquo;est pas le seul outil capable de faire ça. J&rsquo;avais déjà repéré <code>asdf</code> dans <a href="%28/posts/2023/05/des-version-manager-pour-faire-cohabiter-plusieurs-versions-dun-langage-sdk-et-framework/%29" rel="">mon ancien article sur les version manager</a>, et <code>vfox</code> existe aussi dans le même esprit. Pourquoi j&rsquo;ai choisi <code>mise</code> ? Parce qu&rsquo;il m&rsquo;a semblé rapide, actif côté communauté, très fourni en outils supportés, et parce qu&rsquo;il ne s&rsquo;arrête pas au simple rôle de version manager. Je reviendrais dessus juste après.</p>
<p>Mais avant, commençons par le commencement. Installer mise. (Vérifiez tout de même le <a href="https://mise.jdx.dev/" target="_blank" rel="noopener noreffer">site officiel</a> si la méthode a changé entre temps) :</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">curl https://mise.run <span class="p">|</span> sh
</span></span></code></pre></div><p>Si je veux installer Node.js globalement (tout mon PC), la commande ressemble à ça :</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">mise use -g node@26
</span></span></code></pre></div><p>Si je veux installer Python pour un projet (un dossier et ses enfants) :</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">mise use python@3.13
</span></span></code></pre></div><p>À partir de là, quand j&rsquo;entre dans le dossier du projet, <code>python</code> pointe vers la bonne version. Je tape <code>python</code>, pas <code>mise python</code>, pas <code>pyenv exec python</code>, pas une commande enveloppée avec un préfixe qui me sort du geste naturel. C&rsquo;est un détail, mais je trouve que ça compte. Quand je lance <code>flutter test</code>, j&rsquo;ai envie d&rsquo;écrire <code>flutter test</code>, pas de me rappeler que sur ce projet précis je dois écrire <code>fvm flutter test</code>.</p>
<h2 id="le-fichier-misetoml">Le fichier <code>mise.toml</code></h2>
<p>Là où <code>mise</code> devient vraiment intéressant, c&rsquo;est avec le fichier <code>mise.toml</code>.</p>
<p>Au début, on peut le voir comme un simple équivalent plus généraliste des fichiers <code>.ruby-version</code>, <code>.node-version</code>, <code>.tool-versions</code>, etc. On déclare les outils et les versions attendues par le projet, puis on versionne ce fichier avec le code. Comme ça, <strong>toute l&rsquo;équipe partage la même configuration</strong>.</p>
<p>Un exemple très simple pourrait ressembler à ça :</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="cl"><span class="p">[</span><span class="nx">tools</span><span class="p">]</span>
</span></span><span class="line"><span class="cl"><span class="nx">node</span> <span class="p">=</span> <span class="s2">&#34;26&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nx">python</span> <span class="p">=</span> <span class="s2">&#34;3.13&#34;</span>
</span></span></code></pre></div><p>Ce n&rsquo;est pas spectaculaire, mais c&rsquo;est très pratique. Le projet dit explicitement &ldquo;pour travailler ici, voici les outils et versions attendues&rdquo;. Le nouveau collègue qui arrive, la machine fraîchement réinstallée, le runner de CI, le moi du futur qui aura tout oublié&hellip; tout le monde lit la même chose.</p>
<p>C&rsquo;est la fin des discussions du style :</p>
<blockquote>
<ul>
<li>Tu es sur quelle version de Node ?</li>
<li>Attends, je croyais qu&rsquo;on était passé en 26 ?</li>
<li>Ah non, sur cette branche il faut encore la version 25.</li>
<li>Pourquoi ça marche chez toi et pas chez moi ?</li>
</ul>
</blockquote>
<p>Bon, je m&rsquo;emballe, cette dernière question ne disparaît jamais totalement malheureusement. Ce serait trop beau. Mais on passe tout de même <strong>d&rsquo;un réglage individuel en un élément de projet versionnée</strong>.</p>
<h2 id="bien-plus-quun-version-manager">Bien plus qu&rsquo;un version manager</h2>
<p>La surprise, pour moi, c&rsquo;est que le fichier <code>mise.toml</code> ne s&rsquo;arrête pas aux outils. On peut aussi y déclarer des variables d&rsquo;environnement, et même des tâches. C&rsquo;est là que <code>mise</code> a commencé à dépasser, chez moi, le rôle du &ldquo;truc qui gère les versions&rdquo; et où je me suis dis que j&rsquo;allais le garder.</p>
<p>Les <strong>variables d&rsquo;environnement</strong>, c&rsquo;est le genre de chose qui finit souvent dans un <code>.env</code>, parfois un fichier différent par outils, ou pire dans une note. Avec <code>mise</code>, on peut les ajouter dans la configuration du projet. Pas les secrets, évidemment. Mais les valeurs non sensibles, les chemins, les réglages utiles au développement, oui.</p>
<p>Et puis il y a les <strong>tâches</strong>. On peut définir des commandes nommées, un peu comme on le ferait avec un <code>Makefile</code> ou des scripts maison. Sauf qu&rsquo;elles vivent dans le même fichier que la déclaration des outils.</p>
<p>Par exemple :</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="cl"><span class="p">[</span><span class="nx">tasks</span><span class="p">.</span><span class="nx">setup</span><span class="p">]</span>
</span></span><span class="line"><span class="cl"><span class="nx">run</span> <span class="p">=</span> <span class="s2">&#34;mise install &amp;&amp; npm install&#34;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="p">[</span><span class="nx">tasks</span><span class="p">.</span><span class="nx">test</span><span class="p">]</span>
</span></span><span class="line"><span class="cl"><span class="nx">run</span> <span class="p">=</span> <span class="s2">&#34;npm test&#34;</span>
</span></span></code></pre></div><p>Je simplifie volontairement, mais l&rsquo;idée est là. Sur un projet, il suffit de taper <code>mise setup</code> et cette commande prépare ce qu&rsquo;il faut. Elle installe les outils attendus et prépare le terrain. C&rsquo;est le genre de petite attention qui rend un projet plus accueillant. (et encore une fois, plus &ldquo;future-proof&rdquo; avec notre mémoire)</p>
<p>J&rsquo;ai commencé à le faire sur tout mes nouveaux projets. Je crée un <code>mise.toml</code>, je le source, et petit à petit j&rsquo;y mets les commandes que je rejoue souvent. Pas besoin de se demander si c&rsquo;est <code>make init</code>, <code>npm run setup</code>, <code>./scripts/bootstrap.sh</code> ou autre chose. Pour moi, de plus en plus, c&rsquo;est <code>mise run setup</code>.</p>
<p>Même pour ce blog, j&rsquo;ai une tâche <code>new</code> pour préparer un nouveau post. Créer le dossier, créer un fichier avec un template de post, mettre la date, puis l&rsquo;ouvrir dans VS Code. Rien de révolutionnaire, mais j&rsquo;aime beaucoup écrire de petits scripts pour éviter de répéter les mêmes opérations - <a href="https://jordanchapuy.com/posts/2020/10/soyez-flemmard-ecrivez-des-scripts/" rel="">je suis un flemmard</a>.</p>
<p>Je vous ai parlé des <strong>alias</strong> ? Je peux faire encore plus court en tapant seulement <code>setup</code> ou <code>new</code>. Et ça marche pour tout, pas seulement pour les tâches - ce sont simplement des alias après tout.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="cl"><span class="p">[</span><span class="nx">shell_alias</span><span class="p">]</span>
</span></span><span class="line"><span class="cl"><span class="nx">new</span> <span class="p">=</span> <span class="s2">&#34;mise run new&#34;</span>
</span></span></code></pre></div><p>Attendez, ce n&rsquo;est pas fini. On peut aller plus loin avec des <strong>hooks</strong> : des commandes qui se lanceront à chaque fois qu&rsquo;on entre/sort du projet, avant ou après une installation, ou même faire du <em>watch</em> ! Quand je vous disais que cet outil allait les gouverner tous. <em>Mon précieux, mon mise</em>.</p>
<h2 id="ce-qui-se-passe-derrière">Ce qui se passe derrière</h2>
<p>Sans rentrer dans un tutoriel complet, ça vaut le coup de comprendre grossièrement comment <code>mise</code> s&rsquo;intègre au terminal.</p>
<p>Le principe de base est assez classique : <code>mise</code> installe les outils dans un de ses dossiers, puis modifie dynamiquement le contenu du <code>PATH</code>. Quand je suis dans un dossier avec un <code>mise.toml</code>, l&rsquo;environnement actif change, et la commande <code>node</code>, <code>python</code> ou <code>flutter</code> pointe vers la version déclarée.</p>
<p>C&rsquo;est aussi pour ça que l&rsquo;expérience reste <strong>très rapide</strong>. En fait, elle est même inchangée. On ne lance pas un gros proxy à chaque commande. Le shell sait directement où chercher les exécutables.</p>
<p>Il existe aussi un mode avec des <em>shims</em> si on en a besoin, c&rsquo;est-à-dire des petits exécutables intermédiaires qui redirigent vers la bonne version. Selon les environnements ou IDE, ça peut être utile. J&rsquo;ai dû passer par les <em>shims</em> pour l&rsquo;extension Flutter de VS Code par exemple.</p>
<p>Je trouve cette partie intéressante parce qu&rsquo;elle répond à une inquiétude que j&rsquo;avais avec certains version managers : est-ce que je vais ralentir mon terminal ? C&rsquo;était par exemple le cas avec <a href="https://jordanchapuy.com/posts/2023/12/mon-terminal-et-zsh-sont-long-a-demarrer-blame-nvm/" rel="">nvm qui est long à démarrer</a>, même si on ne l&rsquo;utilise pas.</p>
<h2 id="bref">Bref</h2>
<p>Au départ, je cherchais surtout un version manager généraliste. Je voulais arrêter d&rsquo;accumuler un outil par langage. <code>mise</code> m&rsquo;a donné ça : une manière commune d&rsquo;installer, mettre à jour et changer de version. Et il est même allé là où je ne l&rsquo;attendais pas avec les variables d&rsquo;environnement et les tâches.</p>
<p>Aujourd&rsquo;hui, je n&rsquo;installe quasiment plus de langage ou de SDK à la main. Flutter ? Via <code>mise</code>. Python ? Via <code>mise</code>. Les outils autour d&rsquo;<a href="https://jordanchapuy.com/posts/2026/06/maintenir-et-reinstaller-son-homelab-proxmox-avec-ansible-sans-tout-refaire-a-la-main/" rel="">Ansible</a> dont je parlais récemment ? Via <code>mise</code> aussi.</p>
<p>Quand je démarre un projet, mon premier réflexe est de créer et compléter le <code>mise.toml</code> au fur et à mesure pour réduire les frictions. À force, ça devient moins un outil de gestion de versions qu&rsquo;un petit <strong>chef d&rsquo;orchestre</strong> pour mon environnement de développement.</p>
]]></description></item></channel></rss>