<?xml version="1.0" encoding="UTF-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
  <title>Écrits — Bastien Gallay</title>
  <subtitle>Notes et articles. Pas de cadence promise.</subtitle>
  <link href="https://bastiengallay.com/ecrits/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="https://bastiengallay.com/ecrits/" rel="alternate" type="text/html"/>
  <generator uri="https://www.getzola.org/">Zola</generator>
  <updated>2026-05-28T00:00:00+00:00</updated>
  <id>https://bastiengallay.com/ecrits/atom.xml</id>
  <author>
    <name>Bastien Gallay</name>
    <uri>https://bastiengallay.com</uri>
  </author>
  <entry xml:lang="fr">
    <title>Avec l&#x27;IA, je code plus lentement</title>
    <published>2026-05-28T00:00:00+00:00</published>
    <updated>2026-05-28T00:00:00+00:00</updated>
    <link rel="alternate" type="text/html" href="https://bastiengallay.com/ecrits/avec-l-ia-je-code-plus-lentement/"/>
    <id>https://bastiengallay.com/ecrits/avec-l-ia-je-code-plus-lentement/</id>
    <summary type="html">Pourquoi le discours dominant sur la productivité IA mesure ce qui ne compte pas.</summary>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Série en 3 articles — &lt;em&gt;Coder avec l&#x27;IA&lt;&#x2F;em&gt;&lt;&#x2F;strong&gt;
Article 1&#x2F;3 — &lt;em&gt;ce que les chiffres ne mesurent pas&lt;&#x2F;em&gt;.
À suivre : &lt;em&gt;Ce que l&#x27;IA m&#x27;apporte vraiment&lt;&#x2F;em&gt; (art. 2) · &lt;em&gt;Quelle stratégie d&#x27;équipe ?&lt;&#x2F;em&gt; (art. 3).&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;!-- Liens internes désactivés tant que 2&#x2F;3 et 3&#x2F;3 sont draft. À réactiver
     quand 2&#x2F;3 est publié — cf. Bloc «&amp;nbsp;article 2&#x2F;3&amp;nbsp;». --&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;une-anecdote-pour-commencer&quot;&gt;Une anecdote, pour commencer&lt;&#x2F;h2&gt;
&lt;p&gt;Le 4 avril 2026, j&#x27;ai vibe-codé un outil en quelques heures pour gérer mes tâches quotidiennes. Il s&#x27;appelait &lt;code&gt;daily-ops&lt;&#x2F;code&gt;. Une glu en Python autour de mes &lt;code&gt;TODO.md&lt;&#x2F;code&gt;, capable de me faire passer d&#x27;un projet à l&#x27;autre sans friction. Ça marchait. J&#x27;étais content.&lt;&#x2F;p&gt;
&lt;p&gt;Le 25 avril, j&#x27;ai créé un vrai repo, ajouté trois fonctionnalités, et un peu de qualité — tests, structure, le minimum syndical. L&#x27;IA m&#x27;a proposé une abstraction élégante : séparer les items en &lt;em&gt;blocks&lt;&#x2F;em&gt; nommés alphabétiquement. &lt;em&gt;Block A&lt;&#x2F;em&gt;, &lt;em&gt;Block B&lt;&#x2F;em&gt;. Au premier coup d&#x27;œil, c&#x27;était propre.&lt;&#x2F;p&gt;

&lt;figure class=&quot;visuel visuel--incidents visuel--side&quot; id=&quot;fig-1&quot; data-anchor=&quot;fig-1&quot; role=&quot;figure&quot; aria-labelledby=&quot;v0-title v0-desc&quot;&gt;
  &lt;header class=&quot;visuel__band&quot;&gt;
    &lt;span class=&quot;visuel__band-mark&quot; aria-hidden=&quot;true&quot;&gt;▍&lt;&#x2F;span&gt;
    &lt;span class=&quot;visuel__band-num&quot;&gt;Figure 1&lt;&#x2F;span&gt;
    &lt;span class=&quot;visuel__band-tag&quot;&gt;Cas zéro · 2026-04&lt;&#x2F;span&gt;
  &lt;&#x2F;header&gt;


  &lt;p class=&quot;visuel__title&quot;&gt;4&amp;#160;h pour produire, 4&amp;#160;sem. pour stabiliser&lt;&#x2F;p&gt;




  &lt;p id=&quot;v0-title&quot; class=&quot;sr-only&quot;&gt;Cas zéro : daily-ops, produit en quatre heures début avril 2026, a demandé quatre semaines de stabilisation.&lt;&#x2F;p&gt;
  &lt;p id=&quot;v0-desc&quot; class=&quot;sr-only&quot;&gt;Origine de la dette : abstraction « blocks alphabétiques » proposée par l&#x27;IA, élégante au premier coup d&#x27;œil, régressive ensuite (fusion accidentelle de blocks, report de blocks terminés, formatage concurrent).&lt;&#x2F;p&gt;

  &lt;ul class=&quot;visuel__incidents&quot; role=&quot;list&quot;&gt;
    &lt;li class=&quot;visuel__incident&quot;&gt;
      &lt;p class=&quot;visuel__incident-ref&quot;&gt;cas perso · 2026-04&lt;&#x2F;p&gt;
      &lt;h3 class=&quot;visuel__incident-target&quot;&gt;daily-ops&lt;&#x2F;h3&gt;
      &lt;p class=&quot;visuel__incident-fault&quot;&gt;abstraction &lt;em&gt;« blocks alphabétiques »&lt;&#x2F;em&gt; proposée par l&#x27;IA, élégante au premier coup d&#x27;œil, régressive ensuite&lt;&#x2F;p&gt;
      &lt;p class=&quot;visuel__incident-kpi&quot;&gt;
        &lt;span class=&quot;visuel__kpi-num visuel__kpi-num--ink&quot;&gt;4&amp;#160;h&lt;&#x2F;span&gt;
        &lt;span class=&quot;visuel__kpi-unit&quot;&gt;pour produire&lt;&#x2F;span&gt;
      &lt;&#x2F;p&gt;
      &lt;p class=&quot;visuel__incident-kpi&quot;&gt;
        &lt;span class=&quot;visuel__kpi-num visuel__kpi-num--pivot&quot;&gt;4&amp;#160;sem.&lt;&#x2F;span&gt;
        &lt;span class=&quot;visuel__kpi-unit&quot;&gt;pour rendre utilisable&lt;&#x2F;span&gt;
      &lt;&#x2F;p&gt;
    &lt;&#x2F;li&gt;
  &lt;&#x2F;ul&gt;



  
  
  
  
  &lt;a class=&quot;visuel__feedlink&quot; href=&quot;https:&#x2F;&#x2F;bastiengallay.com&#x2F;ecrits&#x2F;avec-l-ia-je-code-plus-lentement&#x2F;#fig-1&quot;&gt;Voir la figure 1 sur le site ↗&lt;&#x2F;a&gt;
  
&lt;&#x2F;figure&gt;

&lt;p&gt;Depuis quatre semaines, je corrige les bugs de cette élégance. Fusion accidentelle de blocks entre deux jours à cause du nommage alphabétique. Report de blocks dont tous les items étaient terminés, parce que l&#x27;état « fini » n&#x27;était pas explicite au niveau du bloc. Formatage concurrent entre deux projets qui partageaient les mêmes fichiers de configuration.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;span class=&quot;mark--soft&quot; data-fig=&quot;1&quot;&gt;Bilan : quelques heures pour produire l&#x27;outil. Quatre semaines pour le rendre utilisable.&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Pourtant, je suis depuis longtemps convaincu de deux choses : tout est logiciel — de la simple feuille Excel au script qui génère des PDF — et il faut très vite décider de le supprimer ou de le pérenniser avant qu&#x27;il ne se complexifie. Tout logiciel pérenne doit, au plus tôt, bénéficier d&#x27;un filet de sécurité pour ne pas baisser en qualité.&lt;&#x2F;p&gt;
&lt;p&gt;Avec l&#x27;IA, la complexité s&#x27;installe en silence. Plus vite, aussi, que le bon vieux Excel qui commençait à crouler sous ses six formules à références croisées.&lt;&#x2F;p&gt;
&lt;p&gt;C&#x27;est cette expérience, répétée sous plusieurs formes au cours des derniers mois, qui m&#x27;a fait basculer. &lt;strong&gt;Depuis, je code plus lentement. Et je produis plus.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;le-paradoxe&quot;&gt;Le paradoxe&lt;&#x2F;h2&gt;
&lt;p&gt;Le discours dominant en 2026 est sans ambiguïté.&lt;&#x2F;p&gt;
&lt;div class=&quot;paradoxe&quot; role=&quot;group&quot; aria-label=&quot;Trois chiffres clés du discours dominant sur la productivité IA en 2026&quot;&gt;
  &lt;p class=&quot;paradoxe__row&quot;&gt;
    &lt;span class=&quot;paradoxe__num&quot;&gt;126&amp;nbsp;%&lt;&#x2F;span&gt;
    &lt;span class=&quot;paradoxe__claim&quot;&gt;de projets complétés par semaine avec Copilot&lt;&#x2F;span&gt;
    &lt;span class=&quot;paradoxe__src&quot;&gt;GitHub&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#1&quot;&gt;1&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;&lt;&#x2F;span&gt;
  &lt;&#x2F;p&gt;
  &lt;p class=&quot;paradoxe__row&quot;&gt;
    &lt;span class=&quot;paradoxe__num&quot;&gt;84&amp;nbsp;%&lt;&#x2F;span&gt;
    &lt;span class=&quot;paradoxe__claim&quot;&gt;d&#x27;adoption chez les développeurs, plus de la moitié quotidienne&lt;&#x2F;span&gt;
    &lt;span class=&quot;paradoxe__src&quot;&gt;Stack Overflow&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#2&quot;&gt;2&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;&lt;&#x2F;span&gt;
  &lt;&#x2F;p&gt;
  &lt;p class=&quot;paradoxe__row&quot;&gt;
    &lt;span class=&quot;paradoxe__num&quot;&gt;78&amp;nbsp;%&lt;&#x2F;span&gt;
    &lt;span class=&quot;paradoxe__claim&quot;&gt;déclarent que l&#x27;IA améliore leur productivité&lt;&#x2F;span&gt;
    &lt;span class=&quot;paradoxe__src&quot;&gt;GitHub&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#1&quot;&gt;1&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;&lt;&#x2F;span&gt;
  &lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Ces chiffres sont sincères. Ils semblent mesurer la vitesse. &lt;span class=&quot;mark&quot;&gt;En réalité ils n&#x27;en mesurent qu&#x27;une composante.&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;ce-que-les-chiffres-ne-mesurent-pas&quot;&gt;Ce que les chiffres ne mesurent pas&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;la-mesure-percue-n-est-pas-la-mesure-reelle&quot;&gt;La mesure perçue n&#x27;est pas la mesure réelle&lt;&#x2F;h3&gt;
&lt;p&gt;En 2025, une équipe de chercheurs de METR a conduit une expérience contrôlée randomisée&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#3&quot;&gt;3&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;. Seize développeurs open source expérimentés, chacun avec en moyenne cinq ans de pratique sur les projets qu&#x27;ils maintenaient. 246 tâches réelles, pas synthétiques. Outils utilisés : Cursor Pro et Claude 3.5&#x2F;3.7 Sonnet.&lt;&#x2F;p&gt;
&lt;p&gt;Avant de commencer, les développeurs prédisaient un gain de temps. Après l&#x27;étude, ils en percevaient un. La mesure objective, elle, raconte l&#x27;inverse — Figure 2.&lt;&#x2F;p&gt;

&lt;figure class=&quot;visuel visuel--chart-borne visuel--side&quot; id=&quot;fig-2&quot; data-anchor=&quot;fig-2&quot; role=&quot;figure&quot; aria-labelledby=&quot;v1-title v1-desc&quot;&gt;
  &lt;header class=&quot;visuel__band&quot;&gt;
    &lt;span class=&quot;visuel__band-mark&quot; aria-hidden=&quot;true&quot;&gt;▍&lt;&#x2F;span&gt;
    &lt;span class=&quot;visuel__band-num&quot;&gt;Figure 2&lt;&#x2F;span&gt;
    &lt;span class=&quot;visuel__band-tag&quot;&gt;Étude METR · 2025&lt;&#x2F;span&gt;
  &lt;&#x2F;header&gt;


  &lt;p class=&quot;visuel__title&quot;&gt;Perçu +20&amp;#160;%, mesuré &lt;span class=&quot;visuel__title-vs&quot;&gt;−19&amp;#160;%&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;




  &lt;svg
    class=&quot;visuel__svg&quot;
    viewBox=&quot;0 0 600 420&quot;
    role=&quot;img&quot;
    preserveAspectRatio=&quot;xMidYMid meet&quot;
    xmlns=&quot;http:&#x2F;&#x2F;www.w3.org&#x2F;2000&#x2F;svg&quot;
  &gt;
    &lt;title id=&quot;v1-title&quot;&gt;Écart entre gain de temps prédit, perçu et mesuré par l&#x27;étude METR.&lt;&#x2F;title&gt;
    &lt;desc id=&quot;v1-desc&quot;&gt;
      Les développeurs prédisaient +24 % de gain de temps avant l&#x27;étude,
      le percevaient à +20 % après. La mesure objective révèle un coût
      de −19 %. Écart total : 39 points entre perception et réalité.
    &lt;&#x2F;desc&gt;

    &lt;!-- Ligne d&#x27;axe 0 % (verticale, accent) --&gt;
    &lt;line class=&quot;visuel__axis-zero&quot; x1=&quot;335&quot; y1=&quot;50&quot; x2=&quot;335&quot; y2=&quot;305&quot; &#x2F;&gt;
    &lt;!-- Label &quot;0 %&quot; déplacé au-dessus de l&#x27;axe pour laisser la place au
        pill d&#x27;écart (qui couvre x=164→515, y=336→370). --&gt;
    &lt;text class=&quot;visuel__axis-zero-label&quot; x=&quot;335&quot; y=&quot;42&quot; text-anchor=&quot;middle&quot;&gt;0&amp;#160;%&lt;&#x2F;text&gt;

    &lt;!-- Bar 1 : prédit +24 % (encre muette — donnée non-pivot, anticipation) --&gt;
    &lt;g aria-hidden=&quot;true&quot;&gt;
      &lt;text class=&quot;visuel__bar-cat&quot; x=&quot;20&quot; y=&quot;98&quot; text-anchor=&quot;start&quot;&gt;prédit&lt;&#x2F;text&gt;
      &lt;text class=&quot;visuel__bar-meta&quot; x=&quot;20&quot; y=&quot;120&quot; text-anchor=&quot;start&quot;&gt;(avant l&#x27;étude)&lt;&#x2F;text&gt;
      &lt;rect class=&quot;visuel__bar visuel__bar--ink-mute&quot; x=&quot;335&quot; y=&quot;78&quot; width=&quot;216&quot; height=&quot;42&quot; &#x2F;&gt;
      &lt;text class=&quot;visuel__bar-value visuel__bar-value--ink-mute&quot; x=&quot;557&quot; y=&quot;105&quot; text-anchor=&quot;start&quot;&gt;+24&amp;#160;%&lt;&#x2F;text&gt;
    &lt;&#x2F;g&gt;

    &lt;!-- Bar 2 : perçu +20 % (encre soft — donnée non-pivot, illusion) --&gt;
    &lt;g aria-hidden=&quot;true&quot;&gt;
      &lt;text class=&quot;visuel__bar-cat&quot; x=&quot;20&quot; y=&quot;178&quot; text-anchor=&quot;start&quot;&gt;perçu&lt;&#x2F;text&gt;
      &lt;text class=&quot;visuel__bar-meta&quot; x=&quot;20&quot; y=&quot;200&quot; text-anchor=&quot;start&quot;&gt;(après l&#x27;étude)&lt;&#x2F;text&gt;
      &lt;rect class=&quot;visuel__bar visuel__bar--ink&quot; x=&quot;335&quot; y=&quot;158&quot; width=&quot;180&quot; height=&quot;42&quot; &#x2F;&gt;
      &lt;text class=&quot;visuel__bar-value visuel__bar-value--ink&quot; x=&quot;521&quot; y=&quot;185&quot; text-anchor=&quot;start&quot;&gt;+20&amp;#160;%&lt;&#x2F;text&gt;
    &lt;&#x2F;g&gt;

    &lt;!-- Bar 3 : mesuré -19 % (accent-deep, vers la gauche depuis 0).
        Valeur à l&#x27;intérieur (règle : valeurs dehors par défaut, dedans
        uniquement quand pas de place dehors). --&gt;
    &lt;g aria-hidden=&quot;true&quot;&gt;
      &lt;text class=&quot;visuel__bar-cat&quot; x=&quot;20&quot; y=&quot;258&quot; text-anchor=&quot;start&quot;&gt;mesuré&lt;&#x2F;text&gt;
      &lt;text class=&quot;visuel__bar-meta&quot; x=&quot;20&quot; y=&quot;280&quot; text-anchor=&quot;start&quot;&gt;(en réalité)&lt;&#x2F;text&gt;
      &lt;rect class=&quot;visuel__bar visuel__bar--negative&quot; x=&quot;164&quot; y=&quot;238&quot; width=&quot;171&quot; height=&quot;42&quot; &#x2F;&gt;
      &lt;text class=&quot;visuel__bar-value visuel__bar-value--inside&quot; x=&quot;329&quot; y=&quot;265&quot; text-anchor=&quot;end&quot;&gt;−19&amp;#160;%&lt;&#x2F;text&gt;
    &lt;&#x2F;g&gt;

    &lt;!-- Annotation d&#x27;écart perçu↔mesuré (= 39 points, cohérent article).
        Tick ENTRE gauche barre négative (x=164) et droite barre perçue
        (x=515). Pill couvre EXACTEMENT le même span pour aligner la
        &quot;barre d&#x27;écart&quot; avec les extrêmes des barres mesurées. --&gt;
    &lt;g aria-hidden=&quot;true&quot;&gt;
      &lt;line class=&quot;visuel__gap-tick&quot; x1=&quot;164&quot; y1=&quot;320&quot; x2=&quot;515&quot; y2=&quot;320&quot; &#x2F;&gt;
      &lt;line class=&quot;visuel__gap-tick&quot; x1=&quot;164&quot; y1=&quot;313&quot; x2=&quot;164&quot; y2=&quot;327&quot; &#x2F;&gt;
      &lt;line class=&quot;visuel__gap-tick&quot; x1=&quot;515&quot; y1=&quot;313&quot; x2=&quot;515&quot; y2=&quot;327&quot; &#x2F;&gt;
      &lt;rect class=&quot;visuel__cross-pill&quot; x=&quot;164&quot; y=&quot;336&quot; width=&quot;351&quot; height=&quot;34&quot; rx=&quot;0&quot; &#x2F;&gt;
      &lt;text class=&quot;visuel__cross-label&quot; x=&quot;339.5&quot; y=&quot;358&quot; text-anchor=&quot;middle&quot;&gt;
        écart&amp;#160;: 39&amp;#160;pts
      &lt;&#x2F;text&gt;
    &lt;&#x2F;g&gt;
  &lt;&#x2F;svg&gt;



  
  
  &lt;figcaption class=&quot;visuel__caption&quot;&gt;
    
    &lt;span class=&quot;visuel__caption-text&quot;&gt;16 développeurs OSS expérimentés, 246 tâches réelles, Cursor Pro + Claude 3.5&#x2F;3.7 Sonnet. Expérience contrôlée randomisée.&lt;&#x2F;span&gt;
    
    
    &lt;span class=&quot;visuel__caption-source&quot;&gt;Source : Becker et&amp;#160;al., METR&amp;#160;2025, arXiv:2507.09089, n.&amp;#160;&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#3&quot;&gt;3&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;.&lt;&#x2F;span&gt;
    
  &lt;&#x2F;figcaption&gt;
  
  
  
  &lt;a class=&quot;visuel__feedlink&quot; href=&quot;https:&#x2F;&#x2F;bastiengallay.com&#x2F;ecrits&#x2F;avec-l-ia-je-code-plus-lentement&#x2F;#fig-2&quot;&gt;Voir la figure 2 sur le site ↗&lt;&#x2F;a&gt;
  
&lt;&#x2F;figure&gt;

&lt;p&gt;L&#x27;écart entre la perception et la réalité dépassait les 39 points. Ces développeurs n&#x27;étaient ni naïfs ni hostiles à l&#x27;IA. Ils étaient simplement &lt;span class=&quot;mark--soft&quot; data-fig=&quot;2&quot;&gt;convaincus d&#x27;aller plus vite quand ils allaient en réalité plus lentement&lt;&#x2F;span&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;J&#x27;ai moi-même vécu cet écart. Il y a deux ans, avec des modèles bien moins performants, ce qui m&#x27;aurait pris une ou deux heures me prenait souvent une demi-journée. Encore aujourd&#x27;hui, il m&#x27;arrive par réflexe de demander à Claude Code l&#x27;édition d&#x27;un fichier qu&#x27;il fera en trente secondes, là où j&#x27;aurais pu terminer en dix.&lt;&#x2F;p&gt;
&lt;p&gt;Les études antérieures, qui annonçaient 56 % ou 21 % d&#x27;accélération&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#3&quot;&gt;3&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;, reposaient sur des tâches synthétiques. Or les conditions synthétiques masquent ce qui rend les vrais projets coûteux : la cohérence avec l&#x27;existant, la dette technique, les conventions tacites, les contraintes invisibles.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;on-mesure-la-redaction-pas-la-livraison&quot;&gt;On mesure la rédaction, pas la livraison&lt;&#x2F;h3&gt;
&lt;p&gt;Une étude conduite sur la télémétrie de 22 000 développeurs et deux ans d&#x27;historique a documenté une déconnexion entre productivité individuelle ressentie et performance de l&#x27;entreprise&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#4&quot;&gt;4&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;. Les développeurs disent travailler plus vite. Les entreprises ne voient pas d&#x27;amélioration mesurable de la vélocité de livraison ni des résultats business.&lt;&#x2F;p&gt;
&lt;p&gt;Le rapport explique pourquoi : les métriques de vendeurs traquent l&#x27;activité — commits, pull requests, lignes de code — qui gonflent mécaniquement avec l&#x27;usage IA. La vélocité de livraison, elle, dépend d&#x27;une chaîne complète : revue, tests, intégration, déploiement, opérations. Cette chaîne n&#x27;a pas accéléré au même rythme.&lt;&#x2F;p&gt;

&lt;figure class=&quot;visuel visuel--chart visuel--side&quot; id=&quot;fig-3&quot; data-anchor=&quot;fig-3&quot; role=&quot;figure&quot; aria-labelledby=&quot;v2-title v2-desc&quot;&gt;
  &lt;header class=&quot;visuel__band&quot;&gt;
    &lt;span class=&quot;visuel__band-mark&quot; aria-hidden=&quot;true&quot;&gt;▍&lt;&#x2F;span&gt;
    &lt;span class=&quot;visuel__band-num&quot;&gt;Figure 3&lt;&#x2F;span&gt;
    &lt;span class=&quot;visuel__band-tag&quot;&gt;Étude Faros · 2025&lt;&#x2F;span&gt;
  &lt;&#x2F;header&gt;


  &lt;p class=&quot;visuel__title&quot;&gt;Le gain individuel disparaît en file d&#x27;attente&lt;&#x2F;p&gt;




  &lt;svg
    class=&quot;visuel__svg&quot;
    viewBox=&quot;0 0 600 420&quot;
    role=&quot;img&quot;
    preserveAspectRatio=&quot;xMidYMid meet&quot;
    xmlns=&quot;http:&#x2F;&#x2F;www.w3.org&#x2F;2000&#x2F;svg&quot;
  &gt;
    &lt;title id=&quot;v2-title&quot;&gt;Trois mesures Faros : +21 % tâches individuelles, +91 % temps de revue, +98 % PR créées par équipe.&lt;&#x2F;title&gt;
    &lt;desc id=&quot;v2-desc&quot;&gt;
      Le gain individuel (+21 % de tâches) se transforme en file
      d&#x27;attente en aval : +91 % de temps de revue, +98 % de pull
      requests créées par équipe. Soit 77 points d&#x27;écart entre le
      gain en amont et la file d&#x27;attente en aval.
    &lt;&#x2F;desc&gt;

    &lt;!-- Axe 0 % à gauche (vertical, accent) --&gt;
    &lt;line class=&quot;visuel__axis-zero&quot; x1=&quot;200&quot; y1=&quot;50&quot; x2=&quot;200&quot; y2=&quot;305&quot; &#x2F;&gt;
    &lt;text class=&quot;visuel__axis-zero-label&quot; x=&quot;200&quot; y=&quot;42&quot; text-anchor=&quot;middle&quot;&gt;0&amp;#160;%&lt;&#x2F;text&gt;

    &lt;!-- Bar 1 : individus +21 % (encre muette — gain individuel non-pivot) --&gt;
    &lt;g aria-hidden=&quot;true&quot;&gt;
      &lt;text class=&quot;visuel__bar-cat&quot; x=&quot;20&quot; y=&quot;98&quot; text-anchor=&quot;start&quot;&gt;individus&lt;&#x2F;text&gt;
      &lt;text class=&quot;visuel__bar-meta&quot; x=&quot;20&quot; y=&quot;120&quot; text-anchor=&quot;start&quot;&gt;(tâches livrées)&lt;&#x2F;text&gt;
      &lt;rect class=&quot;visuel__bar visuel__bar--ink-mute&quot; x=&quot;200&quot; y=&quot;78&quot; width=&quot;67&quot; height=&quot;42&quot; &#x2F;&gt;
      &lt;text class=&quot;visuel__bar-value visuel__bar-value--ink-mute&quot; x=&quot;273&quot; y=&quot;105&quot; text-anchor=&quot;start&quot;&gt;+21&amp;#160;%&lt;&#x2F;text&gt;
    &lt;&#x2F;g&gt;

    &lt;!-- Bar 2 : revue +91 % (encre soft — coût aval intermédiaire) --&gt;
    &lt;g aria-hidden=&quot;true&quot;&gt;
      &lt;text class=&quot;visuel__bar-cat&quot; x=&quot;20&quot; y=&quot;178&quot; text-anchor=&quot;start&quot;&gt;revue&lt;&#x2F;text&gt;
      &lt;text class=&quot;visuel__bar-meta&quot; x=&quot;20&quot; y=&quot;200&quot; text-anchor=&quot;start&quot;&gt;(temps en aval)&lt;&#x2F;text&gt;
      &lt;rect class=&quot;visuel__bar visuel__bar--ink&quot; x=&quot;200&quot; y=&quot;158&quot; width=&quot;291&quot; height=&quot;42&quot; &#x2F;&gt;
      &lt;text class=&quot;visuel__bar-value visuel__bar-value--ink&quot; x=&quot;497&quot; y=&quot;185&quot; text-anchor=&quot;start&quot;&gt;+91&amp;#160;%&lt;&#x2F;text&gt;
    &lt;&#x2F;g&gt;

    &lt;!-- Bar 3 : équipes +98 % (jaune pivot — punchline file d&#x27;attente,
        remplace le rouge en contexte article — P4). --&gt;
    &lt;g aria-hidden=&quot;true&quot;&gt;
      &lt;text class=&quot;visuel__bar-cat&quot; x=&quot;20&quot; y=&quot;258&quot; text-anchor=&quot;start&quot;&gt;équipes&lt;&#x2F;text&gt;
      &lt;text class=&quot;visuel__bar-meta&quot; x=&quot;20&quot; y=&quot;280&quot; text-anchor=&quot;start&quot;&gt;(PR créées)&lt;&#x2F;text&gt;
      &lt;rect class=&quot;visuel__bar visuel__bar--pivot&quot; x=&quot;200&quot; y=&quot;238&quot; width=&quot;314&quot; height=&quot;42&quot; &#x2F;&gt;
      &lt;text class=&quot;visuel__bar-value visuel__bar-value--pivot&quot; x=&quot;520&quot; y=&quot;265&quot; text-anchor=&quot;start&quot;&gt;+98&amp;#160;%&lt;&#x2F;text&gt;
    &lt;&#x2F;g&gt;

    &lt;!-- Annotation : écart amont→aval = 77 pts. 4ᵉ ligne en miroir
        des barres : libellé gauche + tick + valeur droite. Le tick
        remplace la barre pleine pour signaler &quot;écart&quot; vs &quot;valeur&quot;. --&gt;
    &lt;g aria-hidden=&quot;true&quot;&gt;
      &lt;text class=&quot;visuel__bar-cat visuel__bar-cat--annot&quot; x=&quot;20&quot; y=&quot;325&quot; text-anchor=&quot;start&quot;&gt;file d&#x27;attente&lt;&#x2F;text&gt;
      &lt;text class=&quot;visuel__bar-meta visuel__bar-meta--annot&quot; x=&quot;20&quot; y=&quot;345&quot; text-anchor=&quot;start&quot;&gt;(d&#x27;amont en aval)&lt;&#x2F;text&gt;
      &lt;line class=&quot;visuel__gap-tick&quot; x1=&quot;267&quot; y1=&quot;325&quot; x2=&quot;514&quot; y2=&quot;325&quot; &#x2F;&gt;
      &lt;line class=&quot;visuel__gap-tick&quot; x1=&quot;267&quot; y1=&quot;318&quot; x2=&quot;267&quot; y2=&quot;332&quot; &#x2F;&gt;
      &lt;line class=&quot;visuel__gap-tick&quot; x1=&quot;514&quot; y1=&quot;318&quot; x2=&quot;514&quot; y2=&quot;332&quot; &#x2F;&gt;
      &lt;text class=&quot;visuel__bar-value&quot; x=&quot;520&quot; y=&quot;332&quot; text-anchor=&quot;start&quot;&gt;+77&amp;#160;pts&lt;&#x2F;text&gt;
    &lt;&#x2F;g&gt;
  &lt;&#x2F;svg&gt;



  
  
  &lt;figcaption class=&quot;visuel__caption&quot;&gt;
    
    &lt;span class=&quot;visuel__caption-text&quot;&gt;22&amp;#160;000 développeurs, 2 ans de télémétrie. Mesures par équipe sur la chaîne complète (revue, intégration, déploiement).&lt;&#x2F;span&gt;
    
    
    &lt;span class=&quot;visuel__caption-source&quot;&gt;Source : Faros AI, &lt;em&gt;Engineering Productivity 2025&lt;&#x2F;em&gt;, n.&amp;#160;&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#4&quot;&gt;4&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;.&lt;&#x2F;span&gt;
    
  &lt;&#x2F;figcaption&gt;
  
  
  
  &lt;a class=&quot;visuel__feedlink&quot; href=&quot;https:&#x2F;&#x2F;bastiengallay.com&#x2F;ecrits&#x2F;avec-l-ia-je-code-plus-lentement&#x2F;#fig-3&quot;&gt;Voir la figure 3 sur le site ↗&lt;&#x2F;a&gt;
  
&lt;&#x2F;figure&gt;

&lt;p&gt;L&#x27;étude Faros sur le même sujet est encore plus précise (Figure 3) : &lt;span class=&quot;mark--soft&quot; data-fig=&quot;3&quot;&gt;le gain individuel s&#x27;évanouit en file d&#x27;attente d&#x27;équipe&lt;&#x2F;span&gt;&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#4&quot;&gt;4&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;. Les gains se transforment en files d&#x27;attente.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;la-dette-technique-devient-invisible&quot;&gt;La dette technique devient invisible&lt;&#x2F;h3&gt;

&lt;figure class=&quot;visuel visuel--chart visuel--side&quot; id=&quot;fig-4&quot; data-anchor=&quot;fig-4&quot; role=&quot;figure&quot; aria-labelledby=&quot;v3-title v3-desc&quot;&gt;
  &lt;header class=&quot;visuel__band&quot;&gt;
    &lt;span class=&quot;visuel__band-mark&quot; aria-hidden=&quot;true&quot;&gt;▍&lt;&#x2F;span&gt;
    &lt;span class=&quot;visuel__band-num&quot;&gt;Figure 4&lt;&#x2F;span&gt;
    &lt;span class=&quot;visuel__band-tag&quot;&gt;GitClear · 2020 → 2024&lt;&#x2F;span&gt;
  &lt;&#x2F;header&gt;


  &lt;p class=&quot;visuel__title&quot;&gt;Crossover 2023 : copy-paste passe devant refactoring&lt;&#x2F;p&gt;




  &lt;!-- Légende des courbes : autrefois passée via le paramètre `legend_html`
      du shortcode ; vit désormais en tête du corps colocalisé (la macro
      l&#x27;émettait juste après le titre, avant le SVG — même position). --&gt;
  &lt;ul class=&quot;visuel__legend&quot; aria-label=&quot;Légende des courbes&quot;&gt;
    &lt;li class=&quot;visuel__legend-item&quot;&gt;
      &lt;span class=&quot;visuel__swatch visuel__swatch--copypaste&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;
      &lt;span class=&quot;visuel__legend-label&quot;&gt;copy-paste&lt;&#x2F;span&gt;
      &lt;span class=&quot;visuel__legend-delta&quot;&gt;+4&amp;nbsp;pts&lt;&#x2F;span&gt;
    &lt;&#x2F;li&gt;
    &lt;li class=&quot;visuel__legend-item&quot;&gt;
      &lt;span class=&quot;visuel__swatch visuel__swatch--refactor&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;
      &lt;span class=&quot;visuel__legend-label&quot;&gt;refactoring&lt;&#x2F;span&gt;
      &lt;span class=&quot;visuel__legend-delta&quot;&gt;−14,6&amp;nbsp;pts&lt;&#x2F;span&gt;
    &lt;&#x2F;li&gt;
  &lt;&#x2F;ul&gt;

  &lt;svg
    class=&quot;visuel__svg&quot;
    viewBox=&quot;0 0 600 420&quot;
    role=&quot;img&quot;
    preserveAspectRatio=&quot;xMidYMid meet&quot;
    xmlns=&quot;http:&#x2F;&#x2F;www.w3.org&#x2F;2000&#x2F;svg&quot;
  &gt;
    &lt;title id=&quot;v3-title&quot;&gt;Part du copy-paste et part du refactoring dans le code livré, 2020-2024.&lt;&#x2F;title&gt;
    &lt;desc id=&quot;v3-desc&quot;&gt;
      Deux courbes : la part de copy-paste passe de 8,3 % en 2020 à 12,3 % en 2024.
      La part de refactoring chute de 24,1 % à 9,5 % sur la même période. Les deux
      courbes se croisent en 2023, autour de 11,5 %.
    &lt;&#x2F;desc&gt;

    &lt;!-- Graduation horizontale (5 niveaux : 0, 7.5, 15, 22.5, 30 %) --&gt;
    &lt;g class=&quot;visuel__grid&quot; aria-hidden=&quot;true&quot;&gt;
      &lt;line x1=&quot;80&quot;  y1=&quot;360&quot; x2=&quot;580&quot; y2=&quot;360&quot; &#x2F;&gt;
      &lt;line x1=&quot;80&quot;  y1=&quot;280&quot; x2=&quot;580&quot; y2=&quot;280&quot; &#x2F;&gt;
      &lt;line x1=&quot;80&quot;  y1=&quot;200&quot; x2=&quot;580&quot; y2=&quot;200&quot; &#x2F;&gt;
      &lt;line x1=&quot;80&quot;  y1=&quot;120&quot; x2=&quot;580&quot; y2=&quot;120&quot; &#x2F;&gt;
      &lt;line x1=&quot;80&quot;  y1=&quot;40&quot;  x2=&quot;580&quot; y2=&quot;40&quot;  &#x2F;&gt;
    &lt;&#x2F;g&gt;

    &lt;!-- Axe Y : labels en % (text-anchor end, à x=72 → max 70vb à gauche) --&gt;
    &lt;g class=&quot;visuel__axis-label visuel__axis-label--y&quot; aria-hidden=&quot;true&quot;&gt;
      &lt;text x=&quot;72&quot; y=&quot;364&quot; text-anchor=&quot;end&quot;&gt;0&amp;#160;%&lt;&#x2F;text&gt;
      &lt;text x=&quot;72&quot; y=&quot;284&quot; text-anchor=&quot;end&quot;&gt;7,5&amp;#160;%&lt;&#x2F;text&gt;
      &lt;text x=&quot;72&quot; y=&quot;204&quot; text-anchor=&quot;end&quot;&gt;15&amp;#160;%&lt;&#x2F;text&gt;
      &lt;text x=&quot;72&quot; y=&quot;124&quot; text-anchor=&quot;end&quot;&gt;22,5&amp;#160;%&lt;&#x2F;text&gt;
      &lt;text x=&quot;72&quot; y=&quot;44&quot;  text-anchor=&quot;end&quot;&gt;30&amp;#160;%&lt;&#x2F;text&gt;
    &lt;&#x2F;g&gt;

    &lt;!-- Axe X : années (step 125 : 80, 205, 330, 455, 580) --&gt;
    &lt;g class=&quot;visuel__axis-label visuel__axis-label--x&quot; aria-hidden=&quot;true&quot;&gt;
      &lt;text x=&quot;80&quot;  y=&quot;385&quot; text-anchor=&quot;middle&quot;&gt;2020&lt;&#x2F;text&gt;
      &lt;text x=&quot;205&quot; y=&quot;385&quot; text-anchor=&quot;middle&quot;&gt;2021&lt;&#x2F;text&gt;
      &lt;text x=&quot;330&quot; y=&quot;385&quot; text-anchor=&quot;middle&quot;&gt;2022&lt;&#x2F;text&gt;
      &lt;text x=&quot;455&quot; y=&quot;385&quot; text-anchor=&quot;middle&quot;&gt;2023&lt;&#x2F;text&gt;
      &lt;text x=&quot;580&quot; y=&quot;385&quot; text-anchor=&quot;middle&quot;&gt;2024&lt;&#x2F;text&gt;
    &lt;&#x2F;g&gt;

    &lt;!-- Wipe gauche→droite pour le reveal au scroll : le rect du clipPath
        est mis à l&#x27;échelle (scaleX 0→1) par le CSS, révélant les deux
        courbes dans le sens du temps (2020→2024). Le clip préserve les
        styles de trait (le pointillé du refactoring reste pointillé).
        Sans `.is-revealed`&#x2F;sans JS, le rect est à pleine échelle (cf.
        :root.js dans _editorial.scss) : courbes entières par défaut. --&gt;
    &lt;clipPath id=&quot;v3-wipe&quot;&gt;
      &lt;rect class=&quot;visuel__wipe&quot; x=&quot;80&quot; y=&quot;30&quot; width=&quot;500&quot; height=&quot;345&quot; &#x2F;&gt;
    &lt;&#x2F;clipPath&gt;

    &lt;g clip-path=&quot;url(#v3-wipe)&quot;&gt;
      &lt;!-- Refactoring : descendant (neutre, trait épais en pointillé) --&gt;
      &lt;polyline
        class=&quot;visuel__line visuel__line--refactor&quot;
        points=&quot;80,103 205,158 330,205 455,237 580,259&quot;
      &#x2F;&gt;
      &lt;!-- Copy-paste : ascendant (accent rouge, trait plein) --&gt;
      &lt;polyline
        class=&quot;visuel__line visuel__line--copypaste&quot;
        points=&quot;80,272 205,259 330,248 455,237 580,229&quot;
      &#x2F;&gt;
    &lt;&#x2F;g&gt;

    &lt;!-- Marqueur de crossover en 2023 — pill élargi à 220vb pour caser
        &quot;crossover 2023&quot; à font-size 22vb (≈11px visuels en --side).
        Annotation en jaune pivot (P4) : le rôle « regarde ici » bascule
        du rouge identitaire vers --c-warning sur les figures non-bornes. --&gt;
    &lt;g aria-hidden=&quot;true&quot;&gt;
      &lt;line class=&quot;visuel__cross-tick visuel__cross-tick--pivot&quot; x1=&quot;455&quot; y1=&quot;237&quot; x2=&quot;455&quot; y2=&quot;178&quot; &#x2F;&gt;
      &lt;rect class=&quot;visuel__cross-pill visuel__cross-pill--pivot&quot; x=&quot;345&quot; y=&quot;148&quot; width=&quot;220&quot; height=&quot;36&quot; rx=&quot;0&quot; &#x2F;&gt;
      &lt;text class=&quot;visuel__cross-label visuel__cross-label--pivot&quot; x=&quot;455&quot; y=&quot;170&quot; text-anchor=&quot;middle&quot;&gt;
        crossover 2023
      &lt;&#x2F;text&gt;
      &lt;circle class=&quot;visuel__cross visuel__cross--pivot&quot; cx=&quot;455&quot; cy=&quot;237&quot; r=&quot;7&quot; &#x2F;&gt;
    &lt;&#x2F;g&gt;

  &lt;&#x2F;svg&gt;



  
  
  &lt;figcaption class=&quot;visuel__caption&quot;&gt;
    
    &lt;span class=&quot;visuel__caption-text&quot;&gt;211&amp;#160;millions de lignes de code modifiées, analysées chez Google, Microsoft, Meta et plusieurs entreprises cotées.&lt;&#x2F;span&gt;
    
    
    &lt;span class=&quot;visuel__caption-source&quot;&gt;Source : GitClear, &lt;em&gt;AI Copilot Code Quality 2025&lt;&#x2F;em&gt;, n.&amp;#160;&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#5&quot;&gt;5&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;.&lt;&#x2F;span&gt;
    
  &lt;&#x2F;figcaption&gt;
  
  
  
  &lt;a class=&quot;visuel__feedlink&quot; href=&quot;https:&#x2F;&#x2F;bastiengallay.com&#x2F;ecrits&#x2F;avec-l-ia-je-code-plus-lentement&#x2F;#fig-4&quot;&gt;Voir la figure 4 sur le site ↗&lt;&#x2F;a&gt;
  
&lt;&#x2F;figure&gt;

&lt;p&gt;L&#x27;étude GitClear, qui a analysé 211 millions de lignes de code modifiées entre 2020 et 2024 chez Google, Microsoft, Meta et plusieurs entreprises cotées, mesure une transformation des pratiques&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#5&quot;&gt;5&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;. La Figure 4 trace l&#x27;inversion : &lt;span class=&quot;mark--soft&quot; data-fig=&quot;4&quot;&gt;la part de copy-paste monte, celle de refactoring chute, les deux courbes se croisent en 2023&lt;&#x2F;span&gt;. Au-delà de cette inversion, un autre signal : le code « churned » — réécrit dans les deux semaines suivant son commit — a doublé, de 3,1 % à 5,7 %.&lt;&#x2F;p&gt;
&lt;p&gt;Lorsque j&#x27;ouvre les projets en audit de code, je découvre de plus en plus souvent des fonctions de 800 lignes, empilées au fil des commits automatiques, et des tests unitaires identiques dans trois fichiers différents.&lt;&#x2F;p&gt;
&lt;p&gt;Le rapport DORA 2024 de Google, qui suit la performance de livraison logicielle depuis une décennie, confirme la tension : une augmentation de 25 % de l&#x27;adoption IA accélère les revues de code mais diminue la stabilité de livraison de 7,2 %&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#6&quot;&gt;6&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;.&lt;&#x2F;p&gt;

&lt;figure class=&quot;visuel visuel--quote visuel--side&quot; id=&quot;fig-5&quot; data-anchor=&quot;fig-5&quot; role=&quot;figure&quot; aria-labelledby=&quot;v5-title v5-desc&quot;&gt;
  &lt;header class=&quot;visuel__band&quot;&gt;
    &lt;span class=&quot;visuel__band-mark&quot; aria-hidden=&quot;true&quot;&gt;▍&lt;&#x2F;span&gt;
    &lt;span class=&quot;visuel__band-num&quot;&gt;Figure 5&lt;&#x2F;span&gt;
    &lt;span class=&quot;visuel__band-tag&quot;&gt;MIT · WSJ 2025&lt;&#x2F;span&gt;
  &lt;&#x2F;header&gt;





  &lt;p id=&quot;v5-title&quot; class=&quot;sr-only&quot;&gt;Citation d&#x27;Armando Solar-Lezama (MIT) comparant l&#x27;IA à une carte de crédit toute neuve qui permet d&#x27;accumuler de la dette technique inédite.&lt;&#x2F;p&gt;
  &lt;p id=&quot;v5-desc&quot; class=&quot;sr-only&quot;&gt;Source : Wall Street Journal, cité dans DevOps.com 2025.&lt;&#x2F;p&gt;

  &lt;blockquote class=&quot;visuel__quote&quot;&gt;
    &lt;span class=&quot;visuel__quote-mark&quot; aria-hidden=&quot;true&quot;&gt;«&lt;&#x2F;span&gt;
    &lt;p class=&quot;visuel__quote-body&quot;&gt;L&#x27;IA est comme une carte de crédit toute neuve qui va nous permettre d&#x27;accumuler de &lt;span class=&quot;mark--soft&quot; data-fig=&quot;5&quot;&gt;la dette technique&lt;&#x2F;span&gt; d&#x27;une manière qu&#x27;on n&#x27;avait jamais pu auparavant.&lt;&#x2F;p&gt;
    &lt;footer class=&quot;visuel__quote-attr&quot;&gt;
      &lt;p class=&quot;visuel__quote-name&quot;&gt;Armando Solar-Lezama&lt;&#x2F;p&gt;
      &lt;p class=&quot;visuel__quote-affil&quot;&gt;professeur au MIT&lt;&#x2F;p&gt;
    &lt;&#x2F;footer&gt;
  &lt;&#x2F;blockquote&gt;



  
  
  &lt;figcaption class=&quot;visuel__caption&quot;&gt;
    
    &lt;span class=&quot;visuel__caption-text&quot;&gt;Une dette qui se contracte plus vite qu&#x27;elle ne se rembourse&amp;#160;: la métaphore éclaire les chiffres GitClear et DORA réunis.&lt;&#x2F;span&gt;
    
    
    &lt;span class=&quot;visuel__caption-source&quot;&gt;Source&amp;#160;: Wall Street Journal, cité dans DevOps.com, 2025, n.&amp;#160;&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#7&quot;&gt;7&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;.&lt;&#x2F;span&gt;
    
  &lt;&#x2F;figcaption&gt;
  
  
  
  &lt;a class=&quot;visuel__feedlink&quot; href=&quot;https:&#x2F;&#x2F;bastiengallay.com&#x2F;ecrits&#x2F;avec-l-ia-je-code-plus-lentement&#x2F;#fig-5&quot;&gt;Voir la figure 5 sur le site ↗&lt;&#x2F;a&gt;
  
&lt;&#x2F;figure&gt;

&lt;p&gt;Une citation d&#x27;Armando Solar-Lezama, professeur au MIT, résume mieux que je ne saurais le faire : &lt;em&gt;« L&#x27;IA est comme une carte de crédit toute neuve qui va nous permettre d&#x27;accumuler de la dette technique d&#x27;une manière qu&#x27;on n&#x27;avait jamais pu auparavant »&lt;&#x2F;em&gt;&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#7&quot;&gt;7&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;le-terrain-change-avant-qu-on-ait-fini-d-apprendre&quot;&gt;Le terrain change avant qu&#x27;on ait fini d&#x27;apprendre&lt;&#x2F;h3&gt;
&lt;p&gt;Une dimension manque presque toujours dans les études : à quel stade d&#x27;apprentissage sont les développeurs mesurés ? Les outils évoluent à un rythme qui rend la stabilisation d&#x27;une pratique difficile. Entre Cursor début 2025, Cursor mi-2025, Claude Code à l&#x27;automne 2025, et les agents autonomes qu&#x27;on déploie en 2026, ce ne sont plus les mêmes objets.&lt;&#x2F;p&gt;
&lt;p&gt;J&#x27;ai commencé par l&#x27;autocomplétion intelligente, avec Tabnine en 2018, puis Copilot. Codium — devenu Qodo — a été mon premier reviewer IA. Au printemps 2024, je faisais mes premiers Code Katas en ping-pong avec une IA. L&#x27;été suivant, un collègue m&#x27;a dit qu&#x27;il avait codé un projet entier sans écrire la moindre ligne lui-même. J&#x27;ai voulu essayer et j&#x27;ai constaté très vite que c&#x27;était plus efficace que de mixer ma production et celle de l&#x27;IA. À chaque transition, j&#x27;ai dû réapprendre à faire du vélo.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;la-success-story-est-visible-l-incident-l-est-moins&quot;&gt;La success story est visible, l&#x27;incident l&#x27;est moins&lt;&#x2F;h3&gt;
&lt;p&gt;Le dernier biais est statistique : on entend ceux qui réussissent avec l&#x27;IA. On entend moins &lt;span class=&quot;mark--soft&quot; data-fig=&quot;6&quot;&gt;ceux qui ont stabilisé pendant trois semaines un outil construit en trois jours&lt;&#x2F;span&gt;.&lt;&#x2F;p&gt;

&lt;figure class=&quot;visuel visuel--incidents visuel--side&quot; id=&quot;fig-6&quot; data-anchor=&quot;fig-6&quot; role=&quot;figure&quot; aria-labelledby=&quot;v4-title v4-desc&quot;&gt;
  &lt;header class=&quot;visuel__band&quot;&gt;
    &lt;span class=&quot;visuel__band-mark&quot; aria-hidden=&quot;true&quot;&gt;▍&lt;&#x2F;span&gt;
    &lt;span class=&quot;visuel__band-num&quot;&gt;Figure 6&lt;&#x2F;span&gt;
    &lt;span class=&quot;visuel__band-tag&quot;&gt;Incidents · 2025-2026&lt;&#x2F;span&gt;
  &lt;&#x2F;header&gt;


  &lt;p class=&quot;visuel__title&quot;&gt;Deux fuites emblématiques&lt;&#x2F;p&gt;




  &lt;p id=&quot;v4-title&quot; class=&quot;sr-only&quot;&gt;Deux incidents 2025-2026 emblématiques du trade-off vitesse↔sécurité de l&#x27;IA générative.&lt;&#x2F;p&gt;
  &lt;p id=&quot;v4-desc&quot; class=&quot;sr-only&quot;&gt;Lovable, faille CVE-2025-48757 : schémas de base de données générés sans politique de sécurité au niveau ligne, plus de 170 applications en production exposées. Moltbook, faille 2026 : endpoints API générés sans contrôle d&#x27;autorisation, 1,5 million de tokens d&#x27;authentification leakés.&lt;&#x2F;p&gt;

  &lt;ul class=&quot;visuel__incidents&quot; role=&quot;list&quot;&gt;
    &lt;li class=&quot;visuel__incident&quot;&gt;
      &lt;p class=&quot;visuel__incident-ref&quot;&gt;
        &lt;a href=&quot;https:&#x2F;&#x2F;nvd.nist.gov&#x2F;vuln&#x2F;detail&#x2F;CVE-2025-48757&quot;&gt;CVE-2025-48757&lt;&#x2F;a&gt;
      &lt;&#x2F;p&gt;
      &lt;h3 class=&quot;visuel__incident-target&quot;&gt;Lovable&lt;&#x2F;h3&gt;
      &lt;p class=&quot;visuel__incident-fault&quot;&gt;schémas DB générés sans &lt;em&gt;row-level security&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
      &lt;p class=&quot;visuel__incident-kpi&quot;&gt;
        &lt;span class=&quot;visuel__kpi-num visuel__kpi-num--ink&quot;&gt;+170&lt;&#x2F;span&gt;
        &lt;span class=&quot;visuel__kpi-unit&quot;&gt;apps exposées en prod&lt;&#x2F;span&gt;
      &lt;&#x2F;p&gt;
    &lt;&#x2F;li&gt;
    &lt;li class=&quot;visuel__incident&quot;&gt;
      &lt;p class=&quot;visuel__incident-ref&quot;&gt;incident · 2026&lt;&#x2F;p&gt;
      &lt;h3 class=&quot;visuel__incident-target&quot;&gt;Moltbook&lt;&#x2F;h3&gt;
      &lt;p class=&quot;visuel__incident-fault&quot;&gt;endpoints API générés sans contrôle d&#x27;autorisation&lt;&#x2F;p&gt;
      &lt;p class=&quot;visuel__incident-kpi&quot;&gt;
        &lt;span class=&quot;visuel__kpi-num visuel__kpi-num--pivot&quot;&gt;1,5&amp;#160;M&lt;&#x2F;span&gt;
        &lt;span class=&quot;visuel__kpi-unit&quot;&gt;tokens d&#x27;auth leakés&lt;&#x2F;span&gt;
      &lt;&#x2F;p&gt;
    &lt;&#x2F;li&gt;
  &lt;&#x2F;ul&gt;



  
  
  &lt;figcaption class=&quot;visuel__caption&quot;&gt;
    
    &lt;span class=&quot;visuel__caption-text&quot;&gt;CVE référencée + leak documenté. Dans les deux cas, code généré par IA déployé sans contrôle de sécurité (row-level security, autorisations endpoints).&lt;&#x2F;span&gt;
    
    
    &lt;span class=&quot;visuel__caption-source&quot;&gt;Source&amp;#160;: Vibe Coder Blog, &lt;em&gt;Security Researchers Sound the Alarm on AI Code Vulnerabilities&lt;&#x2F;em&gt;, n.&amp;#160;&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#8&quot;&gt;8&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;.&lt;&#x2F;span&gt;
    
  &lt;&#x2F;figcaption&gt;
  
  
  
  &lt;a class=&quot;visuel__feedlink&quot; href=&quot;https:&#x2F;&#x2F;bastiengallay.com&#x2F;ecrits&#x2F;avec-l-ia-je-code-plus-lentement&#x2F;#fig-6&quot;&gt;Voir la figure 6 sur le site ↗&lt;&#x2F;a&gt;
  
&lt;&#x2F;figure&gt;

&lt;p&gt;Et pourtant, les incidents s&#x27;accumulent. La CVE-2025-48757 a exposé une faille chez Lovable, plateforme de codage IA, qui générait des schémas de base de données sans politiques de sécurité au niveau ligne. Plus de 170 applications en production affectées&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#8&quot;&gt;8&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;. La faille Moltbook a leaké 1,5 million de tokens d&#x27;authentification, parce que les endpoints API générés ne vérifiaient pas les autorisations&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#8&quot;&gt;8&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Plus structurellement : selon Veracode, 45 % du code généré par IA contient au moins une vulnérabilité OWASP&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#9&quot;&gt;9&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;. Une autre étude mesure que ce code contient 2,74 fois plus de vulnérabilités que le code écrit par des humains&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#10&quot;&gt;10&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;&lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#11&quot;&gt;11&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Les méthodologies varient, les chiffres se discutent. Le signal, lui, converge : produire vite avec l&#x27;IA coûte en qualité de livraison, et les métriques d&#x27;adoption ne le voient pas.&lt;&#x2F;p&gt;

&lt;figure class=&quot;visuel visuel--table visuel--inline&quot; id=&quot;fig-7&quot; data-anchor=&quot;fig-7&quot; role=&quot;figure&quot; aria-labelledby=&quot;v6-title v6-desc&quot;&gt;
  &lt;header class=&quot;visuel__band&quot;&gt;
    &lt;span class=&quot;visuel__band-mark&quot; aria-hidden=&quot;true&quot;&gt;▍&lt;&#x2F;span&gt;
    &lt;span class=&quot;visuel__band-num&quot;&gt;Figure 7&lt;&#x2F;span&gt;
    &lt;span class=&quot;visuel__band-tag&quot;&gt;Synthèse&lt;&#x2F;span&gt;
  &lt;&#x2F;header&gt;


  &lt;p class=&quot;visuel__title&quot;&gt;Quatre angles morts du discours dominant&lt;&#x2F;p&gt;




  &lt;table class=&quot;visuel__table&quot; aria-labelledby=&quot;v6-title&quot; aria-describedby=&quot;v6-desc&quot;&gt;
    &lt;caption id=&quot;v6-desc&quot; class=&quot;sr-only&quot;&gt;Tableau de synthèse de la section : quatre angles morts du discours dominant sur la productivité IA, chacun avec son chiffre-clé et sa source.&lt;&#x2F;caption&gt;
    &lt;thead&gt;
      &lt;tr&gt;
        &lt;th scope=&quot;col&quot;&gt;Ce que les métriques ratent&lt;&#x2F;th&gt;
        &lt;th scope=&quot;col&quot;&gt;Chiffre-clé&lt;&#x2F;th&gt;
        &lt;th scope=&quot;col&quot;&gt;Source&lt;&#x2F;th&gt;
      &lt;&#x2F;tr&gt;
    &lt;&#x2F;thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;th scope=&quot;row&quot;&gt;Perception &amp;nbsp;&lt;span class=&quot;visuel__sym&quot;&gt;≠&lt;&#x2F;span&gt;&amp;nbsp; réalité&lt;&#x2F;th&gt;
        &lt;td&gt;
          &lt;span class=&quot;visuel__table-num visuel__table-num--pivot&quot;&gt;−19&amp;#160;%&lt;&#x2F;span&gt;
          &lt;span class=&quot;visuel__table-meta&quot;&gt;vs +24&amp;#160;% attendu&lt;&#x2F;span&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span class=&quot;visuel__table-source&quot;&gt;METR &lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#3&quot;&gt;3&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;th scope=&quot;row&quot;&gt;Rédaction &amp;nbsp;&lt;span class=&quot;visuel__sym&quot;&gt;≠&lt;&#x2F;span&gt;&amp;nbsp; livraison&lt;&#x2F;th&gt;
        &lt;td&gt;
          &lt;span class=&quot;visuel__table-num visuel__table-num--ink&quot;&gt;+91&amp;#160;% &#x2F; +98&amp;#160;%&lt;&#x2F;span&gt;
          &lt;span class=&quot;visuel__table-meta&quot;&gt;revue · PR créées&lt;&#x2F;span&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span class=&quot;visuel__table-source&quot;&gt;Faros &lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#4&quot;&gt;4&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;th scope=&quot;row&quot;&gt;Dette technique invisible&lt;&#x2F;th&gt;
        &lt;td&gt;
          &lt;span class=&quot;visuel__table-num visuel__table-num--ink&quot;&gt;8,3&amp;#160;%&amp;#160;→&amp;#160;12,3&amp;#160;%&lt;&#x2F;span&gt;
          &lt;span class=&quot;visuel__table-meta&quot;&gt;part de copy-paste, 2020 → 2024&lt;&#x2F;span&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span class=&quot;visuel__table-source&quot;&gt;GitClear &lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#5&quot;&gt;5&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;&amp;#160;+ DORA &lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#6&quot;&gt;6&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
      &lt;tr&gt;
        &lt;th scope=&quot;row&quot;&gt;Success &amp;nbsp;&lt;span class=&quot;visuel__sym&quot;&gt;≠&lt;&#x2F;span&gt;&amp;nbsp; incident&lt;&#x2F;th&gt;
        &lt;td&gt;
          &lt;span class=&quot;visuel__table-num visuel__table-num--ink&quot;&gt;45&amp;#160;%&lt;&#x2F;span&gt;
          &lt;span class=&quot;visuel__table-meta&quot;&gt;du code IA = ≥ 1 CVE OWASP&lt;&#x2F;span&gt;
        &lt;&#x2F;td&gt;
        &lt;td&gt;&lt;span class=&quot;visuel__table-source&quot;&gt;Veracode &lt;sup class=&quot;footnote-reference&quot;&gt;&lt;a href=&quot;#9&quot;&gt;9&lt;&#x2F;a&gt;&lt;&#x2F;sup&gt;&lt;&#x2F;span&gt;&lt;&#x2F;td&gt;
      &lt;&#x2F;tr&gt;
    &lt;&#x2F;tbody&gt;
  &lt;&#x2F;table&gt;



  
  
  &lt;figcaption class=&quot;visuel__caption&quot;&gt;
    
    &lt;span class=&quot;visuel__caption-text&quot;&gt;Quatre lignes, quatre études indépendantes : METR (expérience contrôlée), Faros (télémétrie 22&amp;#160;000 devs), GitClear + DORA (211&amp;#160;M lignes + benchmark décennal), Veracode (audit GenAI 2025).&lt;&#x2F;span&gt;
    
    
  &lt;&#x2F;figcaption&gt;
  
  
  
  &lt;a class=&quot;visuel__feedlink&quot; href=&quot;https:&#x2F;&#x2F;bastiengallay.com&#x2F;ecrits&#x2F;avec-l-ia-je-code-plus-lentement&#x2F;#fig-7&quot;&gt;Voir la figure 7 sur le site ↗&lt;&#x2F;a&gt;
  
&lt;&#x2F;figure&gt;

&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;la-vitesse-n-est-pas-la-precipitation&quot;&gt;La vitesse n&#x27;est pas la précipitation&lt;&#x2F;h2&gt;
&lt;p&gt;Lorsqu&#x27;on compare le temps de trajet en avion ou en voiture, on compare de porte à porte plutôt que le temps passé dans le véhicule. C&#x27;est la vitesse. Sauter dans le premier bus arrivé et se rendre compte que ce n&#x27;est pas la bonne direction, c&#x27;est de la précipitation. Automatiser une tâche de développement peut relever de l&#x27;un ou de l&#x27;autre. L&#x27;IA ne fait pas la différence entre les deux. C&#x27;est le développeur qui décide où et comment l&#x27;utiliser. Personne n&#x27;aime s&#x27;apercevoir que la mémoire de Claude Code a mélangé le nom d&#x27;un client avec un autre le jour de la démo. Cet arbitrage régulier prend du temps. Un temps incompressible mais indispensable qui se prend avant d&#x27;écrire. C&#x27;est le temps nécessaire à la qualité. Si je devais résumer en deux formules :&lt;&#x2F;p&gt;
&lt;div class=&quot;formules&quot; role=&quot;group&quot; aria-label=&quot;Deux formules clés&quot;&gt;
  &lt;p class=&quot;formules__row&quot;&gt;
    &lt;span class=&quot;formules__term&quot;&gt;Précipitation&lt;&#x2F;span&gt;
    &lt;span class=&quot;formules__eq&quot; aria-hidden=&quot;true&quot;&gt;=&lt;&#x2F;span&gt;
    &lt;span class=&quot;formules__rhs&quot;&gt;
      &lt;span class=&quot;formules__factor&quot;&gt;accélération&lt;&#x2F;span&gt;
      &lt;span class=&quot;formules__op&quot; aria-hidden=&quot;true&quot;&gt;−&lt;&#x2F;span&gt;
      &lt;span class=&quot;formules__factor&quot;&gt;attention&lt;&#x2F;span&gt;
    &lt;&#x2F;span&gt;
  &lt;&#x2F;p&gt;
  &lt;p class=&quot;formules__row&quot;&gt;
    &lt;span class=&quot;formules__term&quot;&gt;Vitesse&lt;&#x2F;span&gt;
    &lt;span class=&quot;formules__eq&quot; aria-hidden=&quot;true&quot;&gt;=&lt;&#x2F;span&gt;
    &lt;span class=&quot;formules__rhs&quot;&gt;
      &lt;span class=&quot;formules__factor&quot;&gt;accélération&lt;&#x2F;span&gt;
      &lt;span class=&quot;formules__op&quot; aria-hidden=&quot;true&quot;&gt;+&lt;&#x2F;span&gt;
      &lt;span class=&quot;formules__factor&quot;&gt;réflexion&lt;&#x2F;span&gt;
      &lt;span class=&quot;formules__op&quot; aria-hidden=&quot;true&quot;&gt;+&lt;&#x2F;span&gt;
      &lt;span class=&quot;formules__factor&quot;&gt;qualité&lt;&#x2F;span&gt;
    &lt;&#x2F;span&gt;
  &lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Avant l&#x27;IA, nous passions 10 % de notre temps à écrire du code, et 90 % à le relire, le concevoir, y réfléchir, le réorganiser et aller lire de la documentation. Si nous possédons un outil qui peut accélérer ces 10 %, le gain est faible à long terme. Il ne peut être pérenne qu&#x27;à deux conditions : savoir accélérer une part des 90 % et investir plus de temps sur ce qu&#x27;on n&#x27;accélère pas.&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;ce-qui-vient-ensuite&quot;&gt;Ce qui vient ensuite&lt;&#x2F;h2&gt;
&lt;p&gt;Avec daily-ops, j&#x27;avais identifié le logiciel accidentel et ajouté la structure dès le 25 avril. Ce matin encore, quatre semaines plus tard, je corrigeais un bug né des premiers jours. La discipline ne suffit pas à effacer la précipitation initiale.&lt;&#x2F;p&gt;
&lt;p&gt;Si la vitesse mesurée n&#x27;est pas la productivité réelle, et si la discipline n&#x27;efface pas la précipitation, alors la question devient : qu&#x27;est-ce que l&#x27;IA m&#x27;apporte &lt;em&gt;vraiment&lt;&#x2F;em&gt; ? Ce sera l&#x27;objet du second article.&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;note-methodique-quatre-biais&quot;&gt;Note méthodique — quatre biais&lt;&#x2F;h2&gt;
&lt;p&gt;Article basé sur mes recherches personnelles, dont je partage les sources. J&#x27;attire l&#x27;attention sur quatre biais qui peuvent creuser un écart entre nos points de vue :&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Early-adopter&lt;&#x2F;strong&gt; : la nature et le nombre d&#x27;années de mon expérience ont une influence. Nos domaines, niveau de responsabilité et organisation varient. J&#x27;essaie de me renseigner et de prendre en compte le panel le plus large possible, et suis conscient que ma vision a des angles morts.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Temporalité&lt;&#x2F;strong&gt; : certaines études citées ont plus d&#x27;un an en mai 2026. Le domaine de l&#x27;IA change assez vite pour que les données aient déjà perdu du sens. J&#x27;ai sélectionné les sources qui sont, à ma connaissance, toujours valables.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Sélection des incidents&lt;&#x2F;strong&gt; : je ne traite pas ici les incidents où l&#x27;IA n&#x27;est qu&#x27;un démultiplicateur d&#x27;une faute humaine évidente — supprimer la base de prod sans backup, exposer des credentials sans audit. Ces cas existent en abondance, mais ils racontent moins l&#x27;IA que la pratique qui l&#x27;entoure.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Mes croyances et connaissances&lt;&#x2F;strong&gt; : j&#x27;écris en faveur d&#x27;une pratique que j&#x27;ai adoptée. Y adhérer ou pas peut donner une compréhension différente de mes propos. Sur ce biais en particulier, à vous de faire la part des choses.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;notes-et-references&quot;&gt;Notes et références&lt;&#x2F;h2&gt;
&lt;!-- Notes en HTML manuel (id == label == ancre). NE PAS repasser en
     footnotes markdown `[^N]` : Zola renumérote alors selon l&#x27;ordre des
     seuls appels markdown, or les notes 1&#x2F;2 ne sont appelées que par des
     ancres HTML (encart paradoxe) et les figures portent des `#N` codés en
     dur — le compteur auto désynchronise tout. Cf. commit de cette correction. --&gt;
&lt;div class=&quot;footnote-definition&quot; id=&quot;1&quot;&gt;&lt;sup class=&quot;footnote-definition-label&quot;&gt;1&lt;&#x2F;sup&gt;
&lt;p&gt;Second Talent, &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.secondtalent.com&#x2F;resources&#x2F;ai-coding-assistant-statistics&#x2F;&quot;&gt;&lt;em&gt;AI Coding Assistant Statistics &amp;amp; Trends [2025]&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;, secondtalent.com, 2025.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;div class=&quot;footnote-definition&quot; id=&quot;2&quot;&gt;&lt;sup class=&quot;footnote-definition-label&quot;&gt;2&lt;&#x2F;sup&gt;
&lt;p&gt;Stack Overflow, &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;survey.stackoverflow.co&#x2F;2025&#x2F;&quot;&gt;&lt;em&gt;Developer Survey 2025&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;, stackoverflow.co.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;div class=&quot;footnote-definition&quot; id=&quot;3&quot;&gt;&lt;sup class=&quot;footnote-definition-label&quot;&gt;3&lt;&#x2F;sup&gt;
&lt;p&gt;Becker, J. et al., &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;arxiv.org&#x2F;abs&#x2F;2507.09089&quot;&gt;&lt;em&gt;Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;, METR, arXiv:2507.09089, juillet 2025 (&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;metr.org&#x2F;blog&#x2F;2025-07-10-early-2025-ai-experienced-os-dev-study&#x2F;&quot;&gt;résumé METR&lt;&#x2F;a&gt;).&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;div class=&quot;footnote-definition&quot; id=&quot;4&quot;&gt;&lt;sup class=&quot;footnote-definition-label&quot;&gt;4&lt;&#x2F;sup&gt;
&lt;p&gt;Faros AI, &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.faros.ai&#x2F;blog&#x2F;ai-software-engineering&quot;&gt;&lt;em&gt;The AI Productivity Paradox Research Report&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;, faros.ai, 2025.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;div class=&quot;footnote-definition&quot; id=&quot;5&quot;&gt;&lt;sup class=&quot;footnote-definition-label&quot;&gt;5&lt;&#x2F;sup&gt;
&lt;p&gt;GitClear, &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.gitclear.com&#x2F;ai_assistant_code_quality_2025_research&quot;&gt;&lt;em&gt;AI Copilot Code Quality 2025 Research Report&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;, gitclear.com, février 2025.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;div class=&quot;footnote-definition&quot; id=&quot;6&quot;&gt;&lt;sup class=&quot;footnote-definition-label&quot;&gt;6&lt;&#x2F;sup&gt;
&lt;p&gt;Google, &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;dora.dev&#x2F;research&#x2F;2024&#x2F;dora-report&#x2F;&quot;&gt;&lt;em&gt;Accelerate State of DevOps Report 2024&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;, dora.dev.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;div class=&quot;footnote-definition&quot; id=&quot;7&quot;&gt;&lt;sup class=&quot;footnote-definition-label&quot;&gt;7&lt;&#x2F;sup&gt;
&lt;p&gt;Solar-Lezama, A., interview au &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.wsj.com&#x2F;&quot;&gt;&lt;em&gt;Wall Street Journal&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;, citée dans &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;devops.com&#x2F;ai-in-software-development-productivity-at-the-cost-of-code-quality&#x2F;&quot;&gt;DevOps.com&lt;&#x2F;a&gt;, &lt;em&gt;AI in Software Development: Productivity at the Cost of Code Quality?&lt;&#x2F;em&gt;, 2025.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;div class=&quot;footnote-definition&quot; id=&quot;8&quot;&gt;&lt;sup class=&quot;footnote-definition-label&quot;&gt;8&lt;&#x2F;sup&gt;
&lt;p&gt;Vibe Coder Blog, &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;blog.vibecoder.me&#x2F;security-researchers-ai-code-vulnerability-crisis&quot;&gt;&lt;em&gt;Security Researchers Sound the Alarm on AI Code Vulnerabilities&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;, blog.vibecoder.me, avril 2026&amp;nbsp;; voir aussi &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;nvd.nist.gov&#x2F;vuln&#x2F;detail&#x2F;CVE-2025-48757&quot;&gt;CVE-2025-48757&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;div class=&quot;footnote-definition&quot; id=&quot;9&quot;&gt;&lt;sup class=&quot;footnote-definition-label&quot;&gt;9&lt;&#x2F;sup&gt;
&lt;p&gt;Veracode, &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.veracode.com&#x2F;resources&#x2F;analyst-reports&#x2F;2025-genai-code-security-report&#x2F;&quot;&gt;&lt;em&gt;2025 GenAI Code Security Report&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;, veracode.com.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;div class=&quot;footnote-definition&quot; id=&quot;10&quot;&gt;&lt;sup class=&quot;footnote-definition-label&quot;&gt;10&lt;&#x2F;sup&gt;
&lt;p&gt;SoftwareSeni, &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.softwareseni.com&#x2F;risk-management-and-security-framework-for-legacy-system-modernization&#x2F;&quot;&gt;analyse de Veracode 2025 et Apiiro&lt;&#x2F;a&gt;, softwareseni.com, février 2026.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;div class=&quot;footnote-definition&quot; id=&quot;11&quot;&gt;&lt;sup class=&quot;footnote-definition-label&quot;&gt;11&lt;&#x2F;sup&gt;
&lt;p&gt;Futurity, &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.futurity.org&#x2F;ai-generated-code-vulnerable-3330542&#x2F;&quot;&gt;&lt;em&gt;AI-generated code is vulnerable&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;, futurity.org, 2026.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
</content>
  </entry>
  <entry xml:lang="fr">
    <title>Pourquoi ce site, et pourquoi maintenant</title>
    <published>2026-05-22T00:00:00+00:00</published>
    <updated>2026-05-22T00:00:00+00:00</updated>
    <link rel="alternate" type="text/html" href="https://bastiengallay.com/ecrits/pourquoi-ce-site/"/>
    <id>https://bastiengallay.com/ecrits/pourquoi-ce-site/</id>
    <summary type="html">D&#x27;un billard mal recopié sur Thomson TO9 à une discipline : pourquoi ce site existe.</summary>
    <content type="html">&lt;p&gt;Un été, à 9 ou 10 ans, je tenais un hors-série du magazine &lt;em&gt;Tilt&lt;&#x2F;em&gt; avec
des listings en BASIC. J&#x27;ai encore la couverture en tête. Avec mon
frère, nous avons copié plusieurs pages de code sur notre
Thomson TO9. Par séances de trente minutes à une heure, l&#x27;un dictait et
relisait pendant que l&#x27;autre tapait ce programme que nous ne comprenions qu&#x27;à
moitié. On a fini par abandonner. Vers la fin des vacances, j&#x27;ai repris le
hors-série et j&#x27;ai terminé seul. J&#x27;ai enfin pu lancer le programme. La
forme du billard et quelques billes s&#x27;affichaient. Mais un grand trait au
milieu de l&#x27;écran montrait qu&#x27;il y avait eu des erreurs de recopie. Le jeu
ne répondait à rien.&lt;&#x2F;p&gt;
&lt;figure class=&quot;ecrit-figure&quot;&gt;
  &lt;img src=&quot;tilt-hs05-aout-1987.webp&quot; width=&quot;1400&quot; height=&quot;1883&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; alt=&quot;Tilt - Micro Jeux - Numéro HS 05 - Août 1987 - Couverture&quot;&gt;
  &lt;figcaption class=&quot;fig-mark&quot;&gt;FIG. 1 · Couverture &lt;em&gt;Tilt — Micro-Jeux&lt;&#x2F;em&gt;, HS 05, août 1987 · &lt;a href=&quot;https:&#x2F;&#x2F;www.abandonware-magazines.org&#x2F;affiche_mag.php?mag=28&amp;amp;num=1013&quot; rel=&quot;external&quot;&gt;scan abandonware-magazines&lt;&#x2F;a&gt;&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;Patiemment, j&#x27;ai relu et comparé, me rendant compte que certains numéros de
ligne en BASIC avaient été décalés. Je démarrais le programme à nouveau,
voyant parfois un changement, parfois des erreurs de syntaxe nouvelles. J&#x27;ai
corrigé avec le listing. Il était plus fiable que mes
déductions. L&#x27;erreur venait de la transcription. Le programme, lui,
fonctionnait. La rentrée approchant, j&#x27;ai laissé tomber. Je n&#x27;avais plus
envie de revenir dessus.&lt;&#x2F;p&gt;
&lt;p&gt;Le décor de cet été-là s&#x27;était posé quelques années plus tôt.
J&#x27;apprenais à lire et à écrire
quand mes parents nous ont offert ce &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;fr.wikipedia.org&#x2F;wiki&#x2F;Thomson_TO9&quot;&gt;Thomson TO9&lt;&#x2F;a&gt;,
sur lequel j&#x27;ai découvert le BASIC. À cet âge, je pouvais lire tout seul &lt;em&gt;Un éléphant ça compte
énormément&lt;&#x2F;em&gt; d&#x27;Helme Heine. Je collais une étiquette en minuscules
cursives &lt;em&gt;garage de clarke&lt;&#x2F;em&gt;, et racontais &lt;em&gt;« Clarke a accéléré droit vers
le tremplin. Il a pris son envol et atterri de l&#x27;autre côté de la rivière.
Il avait échappé à l&#x27;avalanche. »&lt;&#x2F;em&gt; Je tapais à deux doigts des GOTO
infinis, un jeu &lt;em&gt;« nombre secret »&lt;&#x2F;em&gt; avec des IF&#x2F;PRINT&#x2F;INPUT. J&#x27;essayais de
dessiner un polygone avec POINT&#x2F;LINE — il s&#x27;avérait mal fermé à l&#x27;affichage.&lt;&#x2F;p&gt;
&lt;figure class=&quot;ecrit-figure&quot;&gt;
  &lt;img src=&quot;elephant-ca-compte-enormement.png&quot; alt=&quot;« Un éléphant ça compte énormément » d&#x27;Helme Heine, folio benjamin.&quot;&gt;
  &lt;figcaption class=&quot;fig-mark&quot;&gt;FIG. 2 · Helme Heine, &lt;em&gt;Un éléphant ça compte énormément&lt;&#x2F;em&gt;, Gallimard Jeunesse, coll. folio benjamin.&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;Ce qu&#x27;un enfant ne pouvait pas deviner, c&#x27;était comment ces trois gestes
allaient n&#x27;en faire qu&#x27;un. Le code, la lecture, l&#x27;écriture : une seule
discipline.&lt;&#x2F;p&gt;
&lt;p&gt;Cette discipline est &lt;mark class=&quot;mark mark--soft&quot;&gt;l&#x27;alignement de la pensée avec l&#x27;écrit&lt;&#x2F;mark&gt;
.
J&#x27;en ai appris l&#x27;exigence par le code, mais elle dépasse le code. Ce site existe pour
incarner cette exigence, par des objets concrets : outils, écrits, prises
de position.&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;figure class=&quot;listing listing--right&quot;&gt;
  &lt;figcaption class=&quot;listing__header&quot;&gt;&lt;span class=&quot;listing__caption&quot;&gt;LISTING 1 · ARBORESCENCE&lt;&#x2F;span&gt;&lt;span class=&quot;listing__tag&quot; style=&quot;--tag-color: var(--c-info);&quot;&gt;TREE&lt;&#x2F;span&gt;
  &lt;&#x2F;figcaption&gt;
  &lt;pre class=&quot;listing__body&quot;&gt;&lt;code&gt;experiments&#x2F;
├── ai
│   ├── assist
│   ├── audiobook-pipeline
│   ├── autopreneur
│   ├── bmad-context-viewer
│   ├── mercurai
│   ├── notebooklm-py
│   ├── rhetorix
│   └── SDD
├── autopreneur
│   └── voice-notes
├── games
│   ├── drop-escape-clone
│   ├── lab-doku
│   └── mdr-serious-game
├── lang-tools
│   ├── carbon
│   └── lean4
├── media
│   └── music-gen
└── misc

22 directories&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;J&#x27;ai l&#x27;habitude de tester la moindre idée qui me passe par la tête. Je
stocke ces expériences dans un dossier &lt;code&gt;experiments&#x2F;&lt;&#x2F;code&gt;. Je le trie
systématiquement, impitoyablement : je compare chaque chantier 2 à 2. Seuls
les plus pertinents restent. C&#x27;est le &lt;em&gt;death-match&lt;&#x2F;em&gt; des prototypes pour gagner le
droit d&#x27;être promu au rang de projet. Et le prochain sur la ligne d&#x27;arrivée
est &lt;strong&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;rhetorix.lovable.app&#x2F;&quot;&gt;Rhetorix&lt;&#x2F;a&gt;&lt;&#x2F;strong&gt; : décrypter la rhétorique d&#x27;un article de presse.
En novembre 2025, pour ma recherche d&#x27;emploi, j&#x27;ai bricolé quelques scripts
et prompts. J&#x27;en ai extrait &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bastien-gallay&#x2F;inflecv&quot;&gt;inflecv&lt;&#x2F;a&gt;,
qui transforme une offre d&#x27;emploi en CV adapté. Toujours pour piloter
l&#x27;IA, &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bastien-gallay&#x2F;glance&quot;&gt;&lt;code&gt;&#x2F;glance&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; formate les
retours IA pour les rendre simples à lire et à survoler. Pour vérifier qu&#x27;un projet
évolue dans le bon sens, &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bastien-gallay&#x2F;feature-torture&quot;&gt;&lt;code&gt;&#x2F;feature-torture&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; est un banc de
dissection d&#x27;une fonctionnalité pour juger si elle survit, mute ou
disparaît. Jusqu&#x27;ici, j&#x27;ai créé pour m&#x27;amuser ou me faciliter la vie. J&#x27;ai
partagé afin de m&#x27;imposer un standard de qualité — la qualité minimum
pour ne pas m&#x27;en vouloir, dans quelques semaines ou quelques mois,
quand je voudrai reprendre le travail.
C&#x27;est de cette matière que naissent les billets qu&#x27;on lit ici.&lt;&#x2F;p&gt;
&lt;p&gt;Pourquoi tenir à ce soin-là en 2026 ? Face à des projets et créations
uniformes, l&#x27;impression que quelqu&#x27;un a repris, remanié et perfectionné
100 fois son travail me manque. Le danger
de la génération automatique n&#x27;est pas le remplacement pur et simple, mais
que notre contenu devienne indiscernable de celui de l&#x27;IA. Il y a un an, une
vidéo IA montrait 3 bras par personne. En 2026, la différence de forme entre les
contenus automatiques ou manuels s&#x27;amenuise. Quand je mets en pause
&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bastien-gallay&#x2F;lucid-lint&quot;&gt;&lt;code&gt;lucid-lint&lt;&#x2F;code&gt;&lt;&#x2F;a&gt;, &lt;code&gt;&#x2F;feature-torture&lt;&#x2F;code&gt; ou un article, je veux être sûr
&lt;em&gt;qu&#x27;ils sont utilisables et que je pourrai les reprendre plus tard avec
plaisir&lt;&#x2F;em&gt;. Lorsque je les démarre, l&#x27;IA me sert à construire plus vite les
filets de sécurité, la documentation lisible, le suivi du projet. Demain
ou dans un an, je saurai où j&#x27;en suis sur chaque projet, et chaque projet
me racontera son histoire.&lt;&#x2F;p&gt;
&lt;!-- markdownlint-disable MD031 --&gt;
&lt;figure class=&quot;listing listing--left&quot;&gt;
  &lt;figcaption class=&quot;listing__header&quot;&gt;&lt;span class=&quot;listing__caption&quot;&gt;LISTING 2 · LUCID-LINT&lt;&#x2F;span&gt;&lt;span class=&quot;listing__tag&quot; style=&quot;--tag-color: var(--c-warning);&quot;&gt;v0.2.0&lt;&#x2F;span&gt;
  &lt;&#x2F;figcaption&gt;
  &lt;pre class=&quot;listing__body&quot;&gt;&lt;code&gt;$ lucid-lint check examples&#x2F;sample.md
~~~~~ ⟨ • ⟩ ─────  lucid-lint  v0.2.0
                    cognitive accessibility linter · prose · EN &#x2F; FR
                    ────────────────────────────────────────────────
warning  sample.md:3:1   Sentence is 29 words long (maximum 22).
warning  sample.md:46:1  Sentence has 4 commas (maximum 3).
info     sample.md:1:1   Kandel-Moles ease score 72.9 (target ≤ 9.0).

summary: 7 warnings, 1 info.

score: 50&#x2F;100
        structure    ▓▓▓░░░░░░░░░░░░░░░░░   5&#x2F;20
        rhythm       ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓  20&#x2F;20
        lexicon      ▓▓▓▓▓▓░░░░░░░░░░░░░░  10&#x2F;20
        syntax       ▓▓▓▓▓▓░░░░░░░░░░░░░░  10&#x2F;20
        readability  ▓▓▓░░░░░░░░░░░░░░░░░   5&#x2F;20
exit: 1&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;&#x2F;figure&gt;
&lt;!-- markdownlint-enable MD031 --&gt;
&lt;p&gt;Cet article est une première page. Les personnages sont présentés : des
expérimentations, des outils et des recherches. Je les mettrai en scène,
les ferai parler, au fil des chapitres à venir : certains conteront
l&#x27;échec d&#x27;un prototype ou l&#x27;excitation face à une idée prometteuse ;
parfois, vous suivrez un seul protagoniste de bout en bout ; enfin,
des séries analyseront les enjeux du code et de ce qu&#x27;on en fait. La table
des matières vous interpelle ? Écrivez-moi. Je prendrai le temps de vous
lire et de répondre.&lt;&#x2F;p&gt;
&lt;aside class=&quot;ours ours--cols&quot; aria-label=&quot;Références et outils cités&quot;&gt;
  &lt;div class=&quot;ours__col&quot;&gt;
    &lt;p class=&quot;ours__label&quot;&gt;Références&lt;&#x2F;p&gt;
    &lt;p&gt;FIG. 1 — &lt;em&gt;Tilt — Micro-Jeux&lt;&#x2F;em&gt;, hors-série n°5, août 1987, Éditions Mondiales. Scan : &lt;a href=&quot;https:&#x2F;&#x2F;www.abandonware-magazines.org&#x2F;affiche_mag.php?mag=28&amp;amp;num=1013&quot; rel=&quot;external&quot;&gt;abandonware-magazines.org&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
    &lt;p&gt;FIG. 2 — Helme Heine, &lt;em&gt;Un éléphant ça compte énormément&lt;&#x2F;em&gt;, Gallimard Jeunesse, coll. folio benjamin.&lt;&#x2F;p&gt;
    &lt;p&gt;Matériel — &lt;a href=&quot;https:&#x2F;&#x2F;fr.wikipedia.org&#x2F;wiki&#x2F;Thomson_TO9&quot; rel=&quot;external&quot;&gt;Thomson TO9&lt;&#x2F;a&gt; (Wikipédia).&lt;&#x2F;p&gt;
  &lt;&#x2F;div&gt;
  &lt;div class=&quot;ours__col&quot;&gt;
    &lt;p class=&quot;ours__label&quot;&gt;Outils cités&lt;&#x2F;p&gt;
    &lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bastien-gallay&#x2F;lucid-lint&quot; rel=&quot;external&quot;&gt;lucid-lint&lt;&#x2F;a&gt; — linter d&#x27;accessibilité cognitive pour la prose.&lt;&#x2F;p&gt;
    &lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bastien-gallay&#x2F;feature-torture&quot; rel=&quot;external&quot;&gt;&#x2F;feature-torture&lt;&#x2F;a&gt; — banc de dissection pour une fonctionnalité.&lt;&#x2F;p&gt;
    &lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bastien-gallay&#x2F;glance&quot; rel=&quot;external&quot;&gt;&#x2F;glance&lt;&#x2F;a&gt; — formater les retours IA pour la lecture-survol.&lt;&#x2F;p&gt;
    &lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bastien-gallay&#x2F;inflecv&quot; rel=&quot;external&quot;&gt;inflecv&lt;&#x2F;a&gt; — d&#x27;une offre d&#x27;emploi à un CV adapté.&lt;&#x2F;p&gt;
    &lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;rhetorix.lovable.app&#x2F;&quot; rel=&quot;external&quot;&gt;Rhetorix&lt;&#x2F;a&gt; — prototype, décrypter la rhétorique d&#x27;un article de presse.&lt;&#x2F;p&gt;
  &lt;&#x2F;div&gt;
&lt;&#x2F;aside&gt;
</content>
  </entry>
</feed>
