<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Nicolas Friedli</title><link>https://nicolasfriedli.ch/</link><description>Recent content on Nicolas Friedli</description><generator>Hugo</generator><language>fr</language><managingEditor>hello+rss@nicolasfriedli.ch (Nicolas Friedli)</managingEditor><webMaster>hello+rss@nicolasfriedli.ch (Nicolas Friedli)</webMaster><copyright>Creative Commons BY-SA</copyright><lastBuildDate>Sun, 30 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://nicolasfriedli.ch/index.xml" rel="self" type="application/rss+xml"/><item><title>Travailler avec un budget de performance web</title><link>https://nicolasfriedli.ch/blog/budget-performance/</link><pubDate>Sun, 30 Aug 2026 00:00:00 +0000</pubDate><author>hello+rss@nicolasfriedli.ch (Nicolas Friedli)</author><guid>https://nicolasfriedli.ch/blog/budget-performance/</guid><description>&lt;p&gt;Tester la performance d’un site avec Lighthouse, Web Page Test ou PageSpeed Insights est simple et rapide.
Mais cela ne garantit pas une optimisation durable.
Un budget de performance permet d’anticiper les contraintes, de cadrer les attentes et d’assurer un suivi continu.&lt;/p&gt;
&lt;p&gt;La sortie de &lt;a href="https://www.speedlify.dev/"&gt;Speedlify&lt;/a&gt; en &lt;a href="https://www.zachleat.com/web/speedlify2/"&gt;version 2&lt;/a&gt; m’a incité à remettre cette vieille page à jour.&lt;/p&gt;
&lt;h2 id="quest-ce-quun-budget-de-performance"&gt;Qu’est-ce qu’un budget de performance?&lt;/h2&gt;
&lt;p&gt;La première visée d’un budget de performance est de faciliter le suivi continu (monitoring) de ses pages web.
Un budget de performance fixe les contraintes d’affichage d’une page web en équilibrant:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;les ressources consommées (temps de chargement, poids et nombre de fichiers)&lt;/li&gt;
&lt;li&gt;les attentes des internautes (rapidité perçue, fluidité de navigation)&lt;/li&gt;
&lt;li&gt;les limites techniques (bande passante, capacité des appareils)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il s’agit de bien utiliser ce qui est accordé (voire de «dépenser» moins) pour garantir une expérience optimale.&lt;/p&gt;
&lt;h2 id="exemple-pratique"&gt;Exemple pratique&lt;/h2&gt;
&lt;p&gt;Concrètement, voici comment appliquer un budget de performance avec &lt;a href="https://developer.chrome.com/docs/lighthouse/overview/"&gt;Lighthouse&lt;/a&gt;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;npx lighthouse https://nicolasfriedli.ch/ \
 --budget-path=budget.json \
 --view \
 --only-categories=performance
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Avec un budget défini dans un fichier JSON (mise en forme compacte):&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[
 {
 &amp;#34;timings&amp;#34;: [
 {&amp;#34;metric&amp;#34;: &amp;#34;cumulative-layout-shift&amp;#34;, &amp;#34;budget&amp;#34;: 0},
 {&amp;#34;metric&amp;#34;: &amp;#34;first-contentful-paint&amp;#34;, &amp;#34;budget&amp;#34;: 1800},
 {&amp;#34;metric&amp;#34;: &amp;#34;largest-contentful-paint&amp;#34;, &amp;#34;budget&amp;#34;: 2500},
 {&amp;#34;metric&amp;#34;: &amp;#34;speed-index&amp;#34;, &amp;#34;budget&amp;#34;: 1200},
 {&amp;#34;metric&amp;#34;: &amp;#34;total-blocking-time&amp;#34;, &amp;#34;budget&amp;#34;: 0}
 ],
 &amp;#34;resourceSizes&amp;#34;: [
 {&amp;#34;resourceType&amp;#34;: &amp;#34;total&amp;#34;, &amp;#34;budget&amp;#34;: 300},
 {&amp;#34;resourceType&amp;#34;: &amp;#34;document&amp;#34;, &amp;#34;budget&amp;#34;: 50},
 {&amp;#34;resourceType&amp;#34;: &amp;#34;font&amp;#34;, &amp;#34;budget&amp;#34;: 200},
 {&amp;#34;resourceType&amp;#34;: &amp;#34;image&amp;#34;, &amp;#34;budget&amp;#34;: 100},
 {&amp;#34;resourceType&amp;#34;: &amp;#34;media&amp;#34;, &amp;#34;budget&amp;#34;: 100},
 {&amp;#34;resourceType&amp;#34;: &amp;#34;other&amp;#34;, &amp;#34;budget&amp;#34;: 100},
 {&amp;#34;resourceType&amp;#34;: &amp;#34;script&amp;#34;, &amp;#34;budget&amp;#34;: 10},
 {&amp;#34;resourceType&amp;#34;: &amp;#34;stylesheet&amp;#34;, &amp;#34;budget&amp;#34;: 20},
 {&amp;#34;resourceType&amp;#34;: &amp;#34;third-party&amp;#34;, &amp;#34;budget&amp;#34;: 10}
 ],
 &amp;#34;resourceCounts&amp;#34;: [
 {&amp;#34;resourceType&amp;#34;: &amp;#34;total&amp;#34;, &amp;#34;budget&amp;#34;: 10},
 {&amp;#34;resourceType&amp;#34;: &amp;#34;font&amp;#34;, &amp;#34;budget&amp;#34;: 4},
 {&amp;#34;resourceType&amp;#34;: &amp;#34;image&amp;#34;, &amp;#34;budget&amp;#34;: 4},
 {&amp;#34;resourceType&amp;#34;: &amp;#34;media&amp;#34;, &amp;#34;budget&amp;#34;: 0},
 {&amp;#34;resourceType&amp;#34;: &amp;#34;other&amp;#34;, &amp;#34;budget&amp;#34;: 2},
 {&amp;#34;resourceType&amp;#34;: &amp;#34;script&amp;#34;, &amp;#34;budget&amp;#34;: 2},
 {&amp;#34;resourceType&amp;#34;: &amp;#34;stylesheet&amp;#34;, &amp;#34;budget&amp;#34;: 4}
 ]
 }
]
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Dans cet exemple, on souhaite par exemple:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;l’affichage complet de la page en 2.5 secondes&lt;/li&gt;
&lt;li&gt;l’absence de mouvements parasites (Cumulative Layout Shift à 0)&lt;/li&gt;
&lt;li&gt;300ko maximum pour l’ensemble des transferts&lt;/li&gt;
&lt;li&gt;10 fichiers transférés au plus&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;C’est un budget très strict, qui peut être utilisé pour ce site, mais trop restrictif dans bien des cas.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Comme la source JSON le montre clairement, il y a 3 catégories de mesures:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;la vitesse pure (timings)&lt;/li&gt;
&lt;li&gt;la taille des ressources (resourceSizes)&lt;/li&gt;
&lt;li&gt;le nombre des ressources (resourceCounts)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dans chaque catégorie, on peut spécifier une ou plusieurs valeurs.&lt;/p&gt;
&lt;h2 id="budget-pour-commencer"&gt;Budget pour commencer&lt;/h2&gt;
&lt;p&gt;Il est possible de créer un budget JSON simple pour attaquer le sujet et effectuer ses premiers tests:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[
 {
 &amp;#34;timings&amp;#34;: [
 {
 &amp;#34;metric&amp;#34;: &amp;#34;largest-contentful-paint&amp;#34;,
 &amp;#34;budget&amp;#34;: 3000
 }
 ],
 &amp;#34;resourceSizes&amp;#34;: [
 {
 &amp;#34;resourceType&amp;#34;: &amp;#34;total&amp;#34;,
 &amp;#34;budget&amp;#34;: 1000
 }
 ],
 &amp;#34;resourceCounts&amp;#34;: [
 {
 &amp;#34;resourceType&amp;#34;: &amp;#34;total&amp;#34;,
 &amp;#34;budget&amp;#34;: 100
 }
 ]
 }
]
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Dans ce cas, on vise:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;une page qui se charge en moins de 3 secondes&lt;/li&gt;
&lt;li&gt;qui pèse au maximum 1Mo&lt;/li&gt;
&lt;li&gt;qui n’appelle pas plus de 100 fichiers au total&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Commencez par là et essayez de le respecter.
Si c’est le cas, votre site sera déjà très bon.&lt;/p&gt;
&lt;h2 id="la-discussion-du-budget"&gt;La discussion du budget&lt;/h2&gt;
&lt;p&gt;L’utilité d’un budget de performance dépasse le seul monitoring.&lt;/p&gt;
&lt;p&gt;En premier lieu, le budget ouvre les débats dans l’équipe de développement lors de son établissement.&lt;/p&gt;
&lt;p&gt;La conférence &lt;a href="https://www.youtube.com/watch?v=BmiVevOUvho"&gt;The Global Baseline, 2022&lt;/a&gt; d’Alex Russell, par exemple, donne les résultats moyens que l’on est en droit d’attendre aujourd’hui.
Le conférencier établit ses valeurs en fonction de réalités matérielles (capacité de calcul des téléphones) ou de réseau (bande passante).
En version textuelle, une actualisation est disponible dans &lt;a href="https://infrequently.org/2025/11/performance-inequality-gap-2026/"&gt;The Performance Inequality Gap, 2026&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;La discussion du budget est une occasion formidable d’instaurer un débat sur ce qui est la «norme» du moment.
Elle permet d’apporter la question de la performance dans les équipes web, de manière concrète et pragmatique.&lt;/p&gt;
&lt;h2 id="les-problematiques-internes"&gt;Les problématiques internes&lt;/h2&gt;
&lt;p&gt;En deuxième lieu, un budget de performance est un outil de dialogue entre les équipes.&lt;/p&gt;
&lt;p&gt;Dans la réalité des entreprises et organisations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;les graphistes veulent des typographies spécifiques&lt;/li&gt;
&lt;li&gt;le marketing a (soi-disant) besoin de trackers analytiques&lt;/li&gt;
&lt;li&gt;la direction souhaite intégrer des widgets sociaux&lt;/li&gt;
&lt;li&gt;les juristes veillent à la protection des données&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;L’objectif est de trouver un compromis réaliste et accessible.
Un budget trop ambitieux sera ignoré, tandis qu’un budget trop permissif ne servira à rien.&lt;/p&gt;
&lt;p&gt;Dans la durée, un fichier établi par consensus évite de devoir se justifier chaque nouvelle contrainte ou ordre venu d’un autre service.
Il légitime les refus des équipes web ou permet de proposer des arbitrages concrets sur des bases solides.&lt;/p&gt;
&lt;h2 id="rapport-aux-prestataires-externes"&gt;Rapport aux prestataires externes&lt;/h2&gt;
&lt;p&gt;Troisièmement, travailler avec un budget de performance facilite la relation avec une agence web.&lt;/p&gt;
&lt;p&gt;Un simple fichier &lt;code&gt;budget.json&lt;/code&gt; permet:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;de fixer des attentes claires dès le début du projet&lt;/li&gt;
&lt;li&gt;d’évaluer si l’agence maîtrise vraiment les enjeux techniques&lt;/li&gt;
&lt;li&gt;d’arbitrer les demandes pour éviter les compromis nuisibles&lt;/li&gt;
&lt;li&gt;de justifier d’éventuelles corrections ou d’exiger une réduction de la facture&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ces dernières années, j’ai vu de nombreux sites institutionnels qui sont entrés en production alors qu’ils n’étaient pas optimisés.
Avec un budget de performance, il aurait été possible de refuser la livraison, d’exiger des améliorations tangibles ou de négocier un rabais.&lt;/p&gt;
&lt;p&gt;Si une agence ne semble pas comprendre de quoi il s’agit, si elle refuse d’entrer en matière sur le sujet ou si elle s’avère incapable de respecter les valeurs souhaitées, mieux vaut envisager un autre partenaire.&lt;/p&gt;
&lt;h2 id="conclusion"&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;Adopter un budget de performance, c’est mettre toutes les chances de son côté pour obtenir un site rapide, fluide et optimisé, tout en facilitant les échanges entre équipes et prestataires.
En définissant un cadre clair, on évite les dérives, on pacifie les choix techniques et on assure une expérience optimale aux internautes sur le long terme.&lt;/p&gt;
&lt;p&gt;Celles et ceux qui créent des sites en militant pour l’écologie devraient aussi s’intéresser aux budgets de performance.
La question du temps de chargement ne sera pas forcément leur priorité.
Mais le nombre de ressources et leur taille sont en lien direct avec la consommation du site.
Et la performance suivra s’il est très léger.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Pour quelques tests simples, applicables sans délai par tous les internautes, je vous recommande mon billet &lt;a href="https://nicolasfriedli.ch/blog/tester-site/"&gt;Tester un site web&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>POSSE pour partager du contenu dans les règles de l’art</title><link>https://nicolasfriedli.ch/blog/posse/</link><pubDate>Sat, 29 Aug 2026 00:00:00 +0000</pubDate><author>hello+rss@nicolasfriedli.ch (Nicolas Friedli)</author><guid>https://nicolasfriedli.ch/blog/posse/</guid><description>&lt;p&gt;POSSE signifie &lt;em&gt;Publish (on your) Own Site, Syndicate Elsewhere&lt;/em&gt;.
On pourrait traduire cet acronyme par: &lt;em&gt;Publie sur ton propre site et partage partout ailleurs&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;C’est une idée que je défends depuis très longtemps.
Je soutenais cette manière de faire quand les réseaux sociaux sont arrivés.
Aujourd’hui, les &lt;a href="https://nicolasfriedli.ch/blog/reseau-sociaux/"&gt;réseaux prétendument sociaux&lt;/a&gt; sont &lt;a href="https://nicolasfriedli.ch/blog/merdification/"&gt;merdifiés&lt;/a&gt;, mais ce n’est pas une raison pour abandonner les bonnes pratiques.&lt;/p&gt;
&lt;p&gt;Lorsque Thierry Crouzet a publié &lt;a href="https://tcrouzet.com/2026/03/26/digital-freedom/"&gt;Ni POSSE, ni Facebook: un blog, simplement&lt;/a&gt;, je me suis étonné de sa position:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;L’idée est simple: on publie chez soi, puis on diffuse partout ailleurs où c’est possible. [&amp;hellip;]&lt;/p&gt;
&lt;p&gt;Selon POSSE, il serait bon de diffuser tant et plus, par tous les moyens, mais c’est très coûteux en énergie, donc irresponsable, et politiquement très douteux.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Je ne comprends pas du tout POSSE ainsi.
Pour moi, ce n’est pas une injonction à publier partout ni par tous les moyens.
Cette manière de poster ne pose aucune exigence d’automatisation (cross-posting) ou de foisonnement des partages.&lt;/p&gt;
&lt;p&gt;POSSE est plutôt une condition minimale, un point de départ.
Je le définirais ainsi:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Une fois qu’un contenu a été publié sur son propre site, il &lt;em&gt;peut&lt;/em&gt; être relayé partout (sans risque).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;En conséquence, je ne propose jamais de contenu uniquement sur des sites privateurs et à l’éthique douteuse.
Ou, dit autrement, tout ce qui est publié sur un nom de domaine sur lequel je n’ai pas la maîtrise doit aussi (et avant tout) être disponible sur mon site.&lt;/p&gt;
&lt;p&gt;L’enjeu de POSSE porte donc sur la question de la propriété du contenu, pas sur l’ampleur de la diffusion.&lt;/p&gt;
&lt;p&gt;L’interprétation de Thierry Crouzet met la pression et pousse à l’excès.
Ma compréhension de POSSE est libératrice.&lt;/p&gt;
&lt;p&gt;La publication sur mon nom de domaine ouvre des possibles, sans rien imposer.
Ensuite, tout est permis (mais tout n’est pas forcément bon): partage sur des réseaux sociaux, des messageries instantanées, des chaînes WhatsApp, des lettres de nouvelles (newsletters), d’autres sites, etc.&lt;/p&gt;
&lt;p&gt;Quand on a assuré ses arrières, il est plus acceptable de proposer son contenu dans des endroits peu recommandables.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Je vous suggère de poursuivre avec Nicolas Hoizey dans sa conférence &lt;a href="https://www.paris-web.fr/2019/conference/ne-vous-laissez-plus-deposseder-de-vos-contenus"&gt;Ne vous laissez plus déPOSSEder de vos contenus!&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Une page web est bien plus que son contenu visible</title><link>https://nicolasfriedli.ch/blog/ecriture-web/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate><author>hello+rss@nicolasfriedli.ch (Nicolas Friedli)</author><guid>https://nicolasfriedli.ch/blog/ecriture-web/</guid><description>&lt;p&gt;Ce que nous voyons intuitivement d’une page web n’est qu’une petite partie de ce qu’elle contient réellement.
Un contenu est placé dans un contexte, il porte des éléments sémantiques, il est en lien avec d’autres, il se situe dans un endroit précis d’un site.&lt;/p&gt;
&lt;p&gt;Il existe plusieurs manières de créer des pages en ligne.
Elles ne produisent pas les mêmes résultats.
J’essaie d’expliquer pourquoi.&lt;/p&gt;
&lt;h2 id="mettre-en-ligne"&gt;Mettre en ligne&lt;/h2&gt;
&lt;p&gt;Dans bien des cas, des contenus sont simplement «mis en ligne».
Souvent, ils n’étaient pas destinés à être postés sur le web.
Le site est un (bon) moyen de diffusion, mais le résultat reste basique.&lt;/p&gt;
&lt;p&gt;Ces contenus prévus pour d’autres usages sont nombreux.
Les articles de journaux sont calibrés et pensés pour la version papier.
Des publications scientifiques finissent en longs billets de blogs.
Les &lt;a href="https://dianefriedli.ch/category/predication/"&gt;prédications&lt;/a&gt; de Diane Friedli sont premièrement orales.&lt;/p&gt;
&lt;p&gt;Quand le travail est basique, la nouvelle publication se limite en gros à un copier-coller de son traitement de texte.
C’est généralement visible en quelques secondes.
Le texte est peu structuré, peu sémantique, des notes de bas de page sont nombreuses, aucun lien dans le corps.&lt;/p&gt;
&lt;p&gt;Je ne reproche rien à ce type de publications «juste mises en ligne».
Je me réjouis même d’en retrouver en errant, parce qu’elles permettent d’injecter du contenu intéressant «sur Internet».
Il faut seulement avoir conscience qu’elles ne seront que rarement des pages «puissantes» de votre site.
Mais si le contenu est vraiment bon, elles sortiront du lot quand même.&lt;/p&gt;
&lt;p&gt;Quand le travail est mieux fait, ce contenu est adapté au web:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;le titre est modifié pour être compréhensible à lui seul&lt;/li&gt;
&lt;li&gt;une belle URL est choisie&lt;/li&gt;
&lt;li&gt;une image Open Graph est ajoutée pour améliorer le partage (pas forcément visible sur le site)&lt;/li&gt;
&lt;li&gt;le contenu de la page est structuré par des intertitres&lt;/li&gt;
&lt;li&gt;des éléments sémantiques sont ajoutés&lt;/li&gt;
&lt;li&gt;des liens existent&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dans mon quotidien, c’est quelque chose que je pratique très peu.
Il est rarissime que je dispose de contenus «non prévus pour le web» qui se retrouvent sur un site.
D’habitude, je rédige pour le web ou j’écris en ligne.&lt;/p&gt;
&lt;h2 id="rediger-pour-le-web"&gt;Rédiger pour le web&lt;/h2&gt;
&lt;p&gt;Une spécificité sous-estimée de la rédaction web, c’est la prise en compte du contexte.
Dans un site structuré, une page a une mère, des sœurs, des filles.&lt;/p&gt;
&lt;p&gt;Quand je commence une page, je sais très exactement où elle se situera dans la hiérarchie.
Mieux, je sais quelle fonction précise elle doit remplir, à quelle question elle doit répondre.
C’est le seul moyen d’y inclure tout le nécessaire et seulement le nécessaire pour éviter le cannibalisme (voir &lt;a href="https://yoast.com/keyword-cannibalization/"&gt;Keyword and content cannibalization: how to identify and fix it&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Quand la «localisation» et la fonction de la page sont limpides, le reste est plus facile:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;rédiger un &lt;a href="https://checklists.opquast.com/fr/qualite-numerique/le-titre-de-chaque-page-permet-didentifier-son-contenu"&gt;titre explicite&lt;/a&gt; (cohérent avec son contexte)&lt;/li&gt;
&lt;li&gt;proposer une &lt;a href="https://checklists.opquast.com/fr/qualite-numerique/le-code-source-de-chaque-page-contient-une-metadonnee-qui-en-decrit-le-contenu"&gt;description&lt;/a&gt; (cohérente avec son contexte)&lt;/li&gt;
&lt;li&gt;prévoir un &lt;a href="https://nicolasfriedli.ch/blog/semantique/"&gt;balisage sémantique simple et fort&lt;/a&gt; (intertitres, emphases, listes, tableaux, blocs de détails)&lt;/li&gt;
&lt;li&gt;proposer un maillage puissant avec des liens internes et externes précis en nombre raisonnable&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En travaillant ainsi, il est fréquent de modifier des pages existantes au moment de la publication d’une nouvelle.
Je peux alors ajouter des liens spécifiques vers un nouveau contenu à la place d’anciens paragraphes moins précis.
Je peux influencer ma rédaction de la nouvelle page pour insérer au mieux ces liens dans le corps du texte.
Tout cela ne se voit pas immédiatement à la lecture.
Mais c’est ce qui fait à terme la force d’une page.&lt;/p&gt;
&lt;p&gt;Pour le reste, on est en terrain connu.
À commencer par les réponses aux questions &lt;a href="https://fr.wikipedia.org/wiki/QQOQCCP"&gt;QQOQCCP&lt;/a&gt; (qui? quoi? où? quand? comment? combien? pourquoi?) qui parcourent l’histoire de l’Antiquité au journalisme contemporain en passant par le référencement (SEO).
Et les classiques: phrases pas trop longues, si possible actives, paragraphes de taille raisonnable, intertitres qui rythment la lecture, etc.&lt;/p&gt;
&lt;p&gt;En pratique, je constate avec l’expérience que l’écriture en ligne rend ce travail plus efficace (et peut-être même plus simple).&lt;/p&gt;
&lt;h2 id="ecrire-en-ligne"&gt;Écrire en ligne&lt;/h2&gt;
&lt;p&gt;Ce que j’entends par «écrire en ligne», c’est effectuer la recherche et la rédaction sans passer par des outils intermédiaires.
Dans WordPress, je pourrais écrire directement dans l’éditeur Gutenberg.
Avec Hugo (comme pour ce site), je rédige en Markdown.&lt;/p&gt;
&lt;p&gt;Si je passais par Word ou un de ses concurrents, je ne pourrais pas créer de blocs de détails directement.
Je n’aurais pas les mêmes options de mise en sens disponibles (les blocs de WordPress ou les &lt;em&gt;shortcodes&lt;/em&gt; de Hugo).&lt;/p&gt;
&lt;p&gt;Dans mon contexte d’écriture avec un éditeur de code, Git et Hugo, j’adopte une philosophie &lt;a href="https://www.writethedocs.org/guide/docs-as-code/"&gt;Docs as Code&lt;/a&gt;.
Mais qu’importent vos outils.
Il me semble qu’en 2026, écrire dans un CMS (système de gestion de contenu) est adéquat.&lt;/p&gt;
&lt;p&gt;Dans le CMS (ou mon VS Code), il est facile de traiter directement tout l’invisible.
C’est notamment là que peuvent se traiter les métadonnées, ce que personne ne fera dans son traitement de texte.
Celles dont j’ai déjà parlé (description, titre alternatif si nécessaire, Open Graph, etc.), mais aussi d’autres comme les directives d’indexation pour les robots, la saisie de mots-clés (tags), voire du texte caché (en commentaire).&lt;/p&gt;
&lt;p&gt;En travaillant ainsi, je minimise le nombre d’outils ouverts.
Je me simplifie la vie.
Je me concentre sur le contenu.
Et surtout sur tout ce qui n’est pas visible.&lt;/p&gt;</description></item><item><title>Remarques sur le fichier robots.txt en 2026</title><link>https://nicolasfriedli.ch/blog/robotstxt/</link><pubDate>Fri, 10 Jul 2026 00:00:00 +0000</pubDate><author>hello+rss@nicolasfriedli.ch (Nicolas Friedli)</author><guid>https://nicolasfriedli.ch/blog/robotstxt/</guid><description>&lt;p&gt;Le fichier &lt;code&gt;robots.txt&lt;/code&gt; reste intéressant envers et contre tout.
Il fonctionne depuis plus de 30 ans, plutôt bien.
Ce n’est pas parce que les grandes entreprises d’intelligence artificielle (IA) ne le respectent pas que je vais l’abandonner; elles ne respectent rien.&lt;/p&gt;
&lt;h2 id="collaboration-entre-honnetes-gens"&gt;Collaboration entre honnêtes gens&lt;/h2&gt;
&lt;p&gt;Le principe du &lt;code&gt;/robots.txt&lt;/code&gt; ou &lt;a href="https://fr.wikipedia.org/wiki/Protocole_d%27exclusion_des_robots"&gt;protocole d’exclusion des robots&lt;/a&gt; est de donner des directives pour l’exploration de son site.&lt;/p&gt;
&lt;p&gt;C’est un fichier visible publiquement.
Celui de ce site est donc disponible à l’URL &lt;a href="https://nicolasfriedli.ch/robots.txt"&gt;https://nicolasfriedli.ch/robots.txt&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Quand un robot (aussi appelé &lt;em&gt;crawler&lt;/em&gt; ou &lt;em&gt;spider&lt;/em&gt;) arrive sur mon site, il dit qui il est avec l’instruction &lt;code&gt;user-agent&lt;/code&gt;.
Dans mon fichier, je donne des instructions spécifiques par nom de robot.
Un exemple tout simple, en langage naturel:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Si tu es le robot d’indexation de Google, tu peux parcourir tout mon site à l’exception du répertoire &lt;code&gt;/photos/&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;En langage &lt;code&gt;/robots.txt&lt;/code&gt;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;User-agent: Googlebot
Disallow: /photos/
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Le truc génial du deal, c’est que:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ce répertoire ne sera pas indexé dans Google (ce que &lt;strong&gt;je&lt;/strong&gt; souhaite)&lt;/li&gt;
&lt;li&gt;car Google ne va pas le parcourir et l’analyser (ce qui &lt;strong&gt;lui&lt;/strong&gt; fait économiser des ressources)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Les 2 parties sont gagnantes.
L’instruction tient en quelques lignes.
Et tout va bien.&lt;/p&gt;
&lt;p&gt;Ne serait-ce que parce que des entreprises respectent cette manière de faire, je pense qu’il vaut la peine de rédiger quelques lignes d’instruction.&lt;/p&gt;
&lt;h2 id="declarer-ses-intentions"&gt;Déclarer ses intentions&lt;/h2&gt;
&lt;p&gt;En affichant des directives dans un fichier public, je dis clairement ce que je souhaite (ou ne souhaite pas).&lt;/p&gt;
&lt;p&gt;Si j’exclus ChatGPT pour tout mon site, je signifie que je ne souhaite pas voir mes contenus utilisés pour fourrager la bête.
Cela complète bien la &lt;a href="https://nicolasfriedli.ch/license/"&gt;licence des contenus&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Ainsi, je dis, en langage naturel:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Je ne souhaite pas que toi, ChatGPT, utilise mon contenu pour construire ta base de connaissance.
Et si tu les utilisais, tu devrais respecter la licence.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Je ne me fais aucune illusion sur le manque de respect de toute règle éthique par entreprises derrière les grands modèles de langages (LLM) et IA génératives.
Mais je permet à quiconque de voir comment je me positionne par rapport à ces outils.&lt;/p&gt;
&lt;h2 id="economiser-la-bande-passante"&gt;Économiser la bande passante&lt;/h2&gt;
&lt;p&gt;Comme certains outils continuent à respecter les directives de &lt;code&gt;robots.txt&lt;/code&gt;, c’est possible de limiter les transferts de données inutiles.
Il n’y a aucune raison que des moteurs de recherche russe ou chinois indexent mon site.
Les outils de référencement (SEO) n’ont pas besoin de parcourir mes contenus.&lt;/p&gt;
&lt;p&gt;Je vais être clair, ces règles dans &lt;code&gt;robots.txt&lt;/code&gt; ne sont pas un outil pour «lutter contre des bots».
Si votre serveur croule sous la charge, ce n’est pas une réponse pertinente.
C’est une fois encore une bonne pratique entre gens fréquentables.
Mais l’idée que ce soit respecté me motive à jouer le jeu envers et contre tout.&lt;/p&gt;
&lt;h2 id="regles-de-mon-robotstxt"&gt;Règles de mon &lt;code&gt;robots.txt&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;Les règles exactes du jour sont disponibles en tout temps dans le fichier en production ou sur GitHub.
Mais le principe est visible ici.
J’exclus 3 types de robots.&lt;/p&gt;
&lt;p&gt;Les moteurs de recherche qui n’ont aucun intérêt à lire mon site:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;User-agent: 360Spider
User-agent: Baidu
User-agent: Baiduspider
User-agent: PetalBot
User-agent: SeznamBot
User-agent: Shenma
User-agent: Sogou web spider
User-agent: Yandex
Disallow: /
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Les outils SEO:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;User-agent: AhrefsBot 
User-agent: AhrefsSiteAudit
User-agent: DotBot
User-agent: MJ12bot
User-agent: SemrushBot
User-agent: SemrushBot-SA
Disallow: /
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Les IA:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;User-agent: Amazonbot
User-agent: anthropic-ai
User-agent: Applebot-Extended
User-agent: Bytespider
User-agent: CCBot
User-agent: ChatGPT-User
User-agent: Claude-SearchBot
User-agent: Claude-Web
User-agent: ClaudeBot
User-agent: cohere-ai
User-agent: Diffbot
User-agent: FacebookBot
User-agent: FriendlyCrawler
User-agent: Google-Extended
User-agent: GPTBot
User-agent: meta-externalads
User-agent: meta-externalagent
User-agent: meta-externalfetcher
User-agent: OAI-AdsBot
User-agent: OAI-SearchBot
User-agent: Omgili
User-agent: Perplexity-User
User-agent: PerplexityBot
User-agent: YouBot
Disallow: /
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="references-utiles"&gt;Références utiles&lt;/h2&gt;
&lt;p&gt;Je vous conseille le billet &lt;a href="https://www.didiermary.fr/bloquer-ai-bots-chatgpt-openai/"&gt;Bloquer les AI bots&lt;/a&gt; de Didier J. Mary, tenu à jour et beaucoup plus développé que cette page.&lt;/p&gt;
&lt;p&gt;Il existe des &lt;a href="https://github.com/ai-robots-txt/ai.robots.txt"&gt;listes d’exclusion&lt;/a&gt; prêtes à l’emploi pour qui souhaite exclure les intelligences artificielles (IA) de son site.&lt;/p&gt;
&lt;p&gt;CloudFlare propose un &lt;a href="https://radar.cloudflare.com/bots/directory"&gt;Bots Directory&lt;/a&gt; avec les robots les plus actifs par catégories.&lt;/p&gt;
&lt;p&gt;Je me suis inspiré de 3 ressources ci-dessus pour créer ma liste.&lt;/p&gt;
&lt;h2 id="exclusion-technique-des-tricheurs"&gt;Exclusion technique des tricheurs&lt;/h2&gt;
&lt;p&gt;Quand les robots ne respectent pas les règles, il faut trouver d’autres solutions, par exemple:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;la solution &lt;a href="https://sebsauvage.net/wiki/doku.php?id=stupidantibot"&gt;StupidAntibot&lt;/a&gt; de sebsauvage&lt;/li&gt;
&lt;li&gt;l’ajout d’un «obstacle» comme &lt;a href="https://github.com/splitbrain/botcheck"&gt;Botcheck&lt;/a&gt; d’Andi Gohr ou &lt;a href="https://anubis.techaro.lol/"&gt;Anubis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;le pourrissement volontaire des contenus qui ne devraient pas être lus (si les robots respectaient les règles), c’est la proposition &lt;a href="https://heydonworks.com/article/poisoning-well/"&gt;Poisoning well&lt;/a&gt; d’Heydon Pickering&lt;/li&gt;
&lt;li&gt;les &lt;a href="https://fr.wikipedia.org/wiki/Bombe_de_d%C3%A9compression"&gt;bombes de décompression&lt;/a&gt; ou &lt;em&gt;zip bombs&lt;/em&gt; (un tout petit fichier qui devient immense et sature les ordinateurs qui analysent les données, mais qui peut être considéré comme une attaque)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ces solutions visent toutes à ralentir ou arrêter les crawlers des grandes entreprises qui saturent la bande passante ou ne jouent pas le jeu.
Elles sont discutables parce qu’elles dérangent les internautes.
Certaines sont très consommatrices d’énergie; c’est le but, hélas.&lt;/p&gt;
&lt;p&gt;Je suis très réticent à l’utilisation d’une solution trop centralisée comme CloudFlare.
C’est une entreprise si tentaculaire qu’elle fait tomber la moitié du web à chaque problème, elle ne refuse pas la censure, etc.&lt;/p&gt;</description></item><item><title>De la difficulté de questionner sur l’intelligence artificielle (IA)</title><link>https://nicolasfriedli.ch/blog/questionner-ia/</link><pubDate>Mon, 06 Jul 2026 00:00:00 +0000</pubDate><author>hello+rss@nicolasfriedli.ch (Nicolas Friedli)</author><guid>https://nicolasfriedli.ch/blog/questionner-ia/</guid><description>&lt;p&gt;La semaine dernière, j’ai été chargé de diffuser un questionnaire sur l’utilisation des intelligences artificielles (IA) au sein d’un corps de métier.
Je me suis exécuté, tout en gardant pas mal de réserves sur les questions posées.
Et encore plus de réserves sur les questions esquivées.
Une sorte de malaise, diffus.&lt;/p&gt;
&lt;h2 id="apercu-des-questions"&gt;Aperçu des questions&lt;/h2&gt;
&lt;p&gt;Les questions étaient grosso-modo les suivantes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;êtes vous pour ou contre l’IA (sur une échelle de 0 à 10) dans différents domaines professionnels?&lt;/li&gt;
&lt;li&gt;à quelle fréquence utilisez-vous l’IA dans ces différents domaines (entre «jamais» et «plusieurs fois par jour»)?&lt;/li&gt;
&lt;li&gt;puis plusieurs détails d’utilisation et d’intérêt à le faire&lt;/li&gt;
&lt;li&gt;finalement quelques enjeux prospectifs (et une dernière question sur les risques et défis)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;À mes jeux, trop de questions importantes sont esquivées pour avoir des résultats intéressants.
Mon propos n’est pas de critiquer ce questionnaire précis, parce presque toutes les «enquêtes» que je lis me paraissent trop superficielles.
Voici pourquoi.&lt;/p&gt;
&lt;h2 id="esquisses-precisions-et-de-questions"&gt;Esquisses précisions et de questions&lt;/h2&gt;
&lt;p&gt;Mon premier souci, c’est que tout me paraît flou.
Le terme «IA» est posé sans aucune clarification et chaque personne y projette ce qu’elle veut.
Entre les IA génératives (LLM), les systèmes de traduction et l’optimisation des contrastes d’une image, il y peu en commun.
Dans ce contexte, je pense que «IA» signifie «grand modèle de langage», mais ce n’est que ma déduction.&lt;/p&gt;
&lt;p&gt;On pouvait donc demander: Quelles IA utilisez-vous?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;IA génératives&lt;/li&gt;
&lt;li&gt;traduction automatique&lt;/li&gt;
&lt;li&gt;autres&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si ma supposition que l’enquête porte sur les LLM est correcte, il y a de nouveau un problème de vision monolithique des choses.
Toutes les intelligences artificielles génératives sont traitées en un bloc.
Sans aucune distinction entre ChatGPT, Gemini, Claude et les autres.
Il y avait moyen de demander quel système est utilisé et, surtout, comment il a été choisi.&lt;/p&gt;
&lt;p&gt;On pouvait demander: Pour quelle raison avez-vous choisi cet outil?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;on me l’a conseillé&lt;/li&gt;
&lt;li&gt;j’en ai entendu parler dans la presse&lt;/li&gt;
&lt;li&gt;mon ordinateur me l’a proposé&lt;/li&gt;
&lt;li&gt;il en existe d’autres?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;D’ailleurs, j’ai vu peu de débat sur l’idée même de l’utilisation d’une IA.
Un peu comme si c’était déjà une fatalité.
Partir de l’idée que c’est (presque) incontournable est déjà un sacré biais.&lt;/p&gt;
&lt;p&gt;Ensuite, j’aurais apprécié des questions sur le rapport à l’employeur.
Parce que l’utilisation de tels outils n’est pas qu’une question individuelle.
C’est un enjeu systémique et de société.
Au minimum, on pouvait demander:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Est-ce que votre employeur a émis des directives sur l’utilisation professionnelle de l’IA?&lt;/li&gt;
&lt;li&gt;Est-ce qu’il vous a poussé à l’utiliser? Ou déconseillé de le faire?&lt;/li&gt;
&lt;li&gt;Est-ce qu’il vous paie un abonnement?&lt;/li&gt;
&lt;li&gt;Est-ce qu’il vous demande d’être transparent sur son utilisation?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il y avait aussi moyen de glisser quelques pistes sur les enjeux éthiques:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Comment vous positionnez-vous par rapport aux impacts énergétiques des IA? Parce que &lt;a href="https://www.lematin.ch/story/numerique-ia-les-emissions-de-co2-de-google-et-amazon-s-envolent-103595603"&gt;les émissions de CO2 de Google et Amazon s’envolent&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Les sources utilisées sont-elles bien citées?&lt;/li&gt;
&lt;li&gt;Acceptez-vous que votre travail soit utilisé par les LLM pour leur entraînement?&lt;/li&gt;
&lt;li&gt;Êtes-vous à l’aise avec l’idée de construire vos contenus sur des articles pillés?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bon, j’arrête là.
Il n’y avait pas forcément de raison d’ajouter toutes ces questions.
Mais il y avait possibilité d’en poser certaines.
Parce que les enjeux sont très sérieux.
Et souvent sous-estimés.&lt;/p&gt;
&lt;h2 id="2podcasts-pour-avancer"&gt;2 podcasts pour avancer&lt;/h2&gt;
&lt;p&gt;J’ai gardé cette impression de malaise face à ces questions jusqu’à aujourd’hui.
Puis j’ai écouté 2 podcasts.&lt;/p&gt;
&lt;p&gt;Dans &lt;a href="https://www.letemps.ch/podcasts/ia-qu-a-m-expliquer/podcast-chronique-d-un-emballement-autour-de-l-ia-generative"&gt;Chronique d’un emballement autour de l’IA générative&lt;/a&gt;, Grégoire Barbey pose rapidement un enjeu lumineux:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;L’intelligence artificielle n’est pas qu’une affaire d’usage, c’est un sujet majeur, structurant, au cœur d’une lutte de pouvoir. [&amp;hellip;]
Je suis [&amp;hellip;] persuadé qu’il faut tenter d’appréhender ce sujet dans sa globalité plutôt que de le restreindre à des domaines spécifiques.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;C’est exactement ce qui m’a dérangé avec le questionnaire dont je parle ci-dessus.
La pratique, l’usage, le spécifique, mais aucun enjeu de fond.&lt;/p&gt;
&lt;p&gt;Dans &lt;a href="https://next.ink/podcast/ecc-11-le-tsunami-dinfos-generees-par-ia-avec-jean-marc-manach/"&gt;Le tsunami d’infos générées par IA&lt;/a&gt;, Jean-Marc Manach montre la déferlante qui est en train de raser le domaine des médias.
Et l’indifférence (y compris de journalistes), devant ce qui se passe.
C’est beaucoup trop riche pour essayer de le résumer.&lt;/p&gt;
&lt;p&gt;L’impression que ces 2 écoutes me laissent, c’est qu’il n’est plus permis de «traiter» ce sujet en quelques enjeux théoriques.
Ni par un questionnaire rapide et sans questions difficiles.
Ni de considérer qu’un tel enjeu collectif peut être étudié à l’échelle personnelle.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;J’ai profité de cette journée pour ajouter une &lt;a href="https://nicolasfriedli.ch/slashes"&gt;slash page&lt;/a&gt; à l’adresse &lt;a href="https://nicolasfriedli.ch/ia"&gt;/ia&lt;/a&gt; de ce site.&lt;/p&gt;</description></item></channel></rss>