<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Catégories - Louis Fortin</title>
    <link>https://lfortin.ovh/categories/</link>
    <description>Les grands sujets du site. Un billet appartient à une catégorie, rarement à deux.</description>
    <language>fr-ca</language>
    <copyright>2026-2026 Louis Fortin</copyright>
    <generator>Hugo 0.164.0</generator>
    <lastBuildDate>Mon, 01 Jan 0001 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://lfortin.ovh/categories/flux.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>À propos</title>
      <link>https://lfortin.ovh/a-propos/</link>
      <guid isPermaLink="true">https://lfortin.ovh/a-propos/</guid>
      <dc:creator>Louis Fortin</dc:creator>
      <description>Qui je suis, ce que je fais, et pourquoi ce site est construit comme il l&#39;est.</description>
      <content:encoded><![CDATA[<!--
  TEXTE À REMPLACER.

  Ce qui suit est une structure, pas une biographie. Je ne peux pas écrire
  votre parcours à votre place : gardez les intertitres qui vous servent,
  supprimez les autres, et remplacez le corps du texte par le vôtre.

  La page fonctionne telle quelle, donc rien ne presse.
-->
<div class="titre-avec-ancre">
  <h2 id="ce-que-je-fais">Ce que je fais</h2>
  
</div>
<p>Remplacez ce paragraphe. Une ou deux phrases suffisent pour dire ce à quoi
vous passez vos journées, sans titre de poste ni jargon de métier.</p>
<div class="titre-avec-ancre">
  <h2 id="pourquoi-ce-site-est-construit-comme-ça">Pourquoi ce site est construit comme ça</h2>
  
</div>
<p>Je suis non-voyant et j&rsquo;utilise un lecteur d&rsquo;écran. Ce site est donc
construit dans l&rsquo;ordre inverse de l&rsquo;habitude : la structure d&rsquo;abord, le style
ensuite, et rien ne repose sur le fait de voir quoi que ce soit.</p>
<p>Le résultat vise le niveau AA des règles du W3C, plus les critères
supplémentaires que le Québec rend obligatoires. La page
<a href="https://lfortin.ovh/accessibilite/">Accessibilité</a>
 dit précisément ce qui a été vérifié, avec
quels outils, et ce qui ne l&rsquo;est pas.</p>
<div class="titre-avec-ancre">
  <h2 id="me-joindre">Me joindre</h2>
  
</div>
<p>Ce site ne publie aucune coordonnée, par choix.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Accessibilité</title>
      <link>https://lfortin.ovh/accessibilite/</link>
      <guid isPermaLink="true">https://lfortin.ovh/accessibilite/</guid>
      <dc:creator>Louis Fortin</dc:creator>
      <description>Ce que ce site vise, comment ça a été vérifié, et ce qui n&#39;est pas conforme.</description>
      <content:encoded><![CDATA[<p>Cette page dit ce que ce site vise, avec quels outils ça a été vérifié, et ce
qui n&rsquo;est pas conforme. Elle est écrite pour être utile, pas pour rassurer :
vous y trouverez la liste des écarts assumés aussi bien que celle des réussites.</p>
<div class="titre-avec-ancre">
  <h2 id="ce-que-le-site-vise">Ce que le site vise</h2>
  
</div>
<p>Le site vise le <strong><abbr title="Standard du gouvernement du Québec relatif aux ressources informationnelles">SGQRI</abbr>
 008 version 3.0</strong>,
le <a href="https://www.quebec.ca/gouvernement/ministeres-organismes/cybersecurite-numerique/publications/standard-accessibilite-sites-web" rel="noopener noreferrer">Standard sur l&rsquo;accessibilité des sites Web du gouvernement du Québec<svg class="lien-externe__icone" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M15 3h6v6"/>
<path d="M10 14 21 3"/>
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/>
</svg><span class="lecteur-seul"> (site externe)</span></a>
,
en vigueur depuis le 29 avril 2024.</p>
<p>Ce standard est plus exigeant que le simple « niveau AA ». Il demande :</p>
<table caption="Les critères exigés par le SGQRI 008 3.0">
	<thead>
			<tr>
					<th>Ensemble</th>
					<th>Ce qui est exigé</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><abbr title="Web Content Accessibility Guidelines, les règles pour l&#39;accessibilité des contenus Web du W3C">WCAG</abbr>
 2.1, niveau A</td>
					<td>tous les critères</td>
			</tr>
			<tr>
					<td>WCAG 2.1, niveau AA</td>
					<td>tous, sauf 1.2.4 sous-titres en direct et 1.2.5 audiodescription</td>
			</tr>
			<tr>
					<td>WCAG 2.1, niveau AAA</td>
					<td>2.3.2 trois flashs, 3.1.4 abréviations, 2.5.6 modalités concomitantes</td>
			</tr>
			<tr>
					<td>WCAG 2.2, niveau A</td>
					<td>3.2.6 aide cohérente, 3.3.7 saisie redondante</td>
			</tr>
			<tr>
					<td>WCAG 2.2, niveau AA</td>
					<td>2.4.11 focus non masqué, 2.5.7 mouvements de glissement, 2.5.8 taille de cible, 3.3.8 authentification accessible</td>
			</tr>
			<tr>
					<td>WCAG 2.2, niveau AAA</td>
					<td>2.4.13 apparence du focus</td>
			</tr>
	</tbody>
</table>
<p>Ce site n&rsquo;a ni vidéo, ni son, ni formulaire d&rsquo;authentification, ni geste de
glissement. Les critères 1.2.x, 3.3.8 et 2.5.7 ne s&rsquo;y appliquent donc pas, ce
qui est une facilité et non un mérite.</p>
<div class="titre-avec-ancre">
  <h2 id="ce-qui-nest-pas-conforme">Ce qui n&rsquo;est pas conforme</h2>
  
</div>
<div class="encadre encadre--important" role="note">
    <p class="encadre__titre"><svg class="icone" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M20.5 4.5v10a1 1 0 0 1-1 1H8l-4 4v-15a1 1 0 0 1 1-1h14.5a1 1 0 0 1 1 1z"/>
<path d="M12.25 6.5v3.5"/>
<path d="M12.25 12.6h.01"/>
</svg>Important
    </p>
    <p><strong>Le site n&rsquo;offre aucun moyen de me joindre.</strong> Pas d&rsquo;adresse courriel, pas de
formulaire, pas de page Contact.</p>
<p>C&rsquo;est un écart délibéré au SGQRI 008 3.0, qui demande qu&rsquo;une offre
d&rsquo;assistance figure sur la page d&rsquo;accessibilité. Je le sais et je l&rsquo;assume :
je ne souhaite pas publier de coordonnées.</p>
<p>À noter que le critère WCAG 3.2.6 Aide cohérente, lui, n&rsquo;est pas en échec :
il ne s&rsquo;applique que si un mécanisme d&rsquo;aide existe sur plusieurs pages, et il
n&rsquo;y en a aucun.</p>
  </div><p>C&rsquo;est le seul écart connu à ce jour. S&rsquo;il s&rsquo;en découvre d&rsquo;autres, ils seront
ajoutés ici plutôt que corrigés en silence.</p>
<div class="titre-avec-ancre">
  <h2 id="comment-ça-a-été-vérifié">Comment ça a été vérifié</h2>
  
</div>
<div class="titre-avec-ancre">
  <h3 id="les-contrastes-mesurés-et-non-estimés">Les contrastes, mesurés et non estimés</h3>
  
</div>
<p>Les couleurs des deux thèmes ne sont pas jugées à l&rsquo;œil. Un script parcourt le
fichier de jetons, résout chaque référence, et calcule le rapport de contraste
de chaque paire selon la formule des règles du W3C.</p>
<p><strong>54 paires mesurées, toutes au-dessus de leur seuil.</strong> Le texte courant
atteint 16,46:1 en thème clair et 15,59:1 en thème sombre, soit au-delà du
niveau AAA, qui demande 7:1. La marge la plus étroite est le contour d&rsquo;un champ
de saisie sur une fiche, à 3,8:1 pour un seuil de 3:1.</p>
<p>Le même script vérifie que les deux déclarations du thème sombre, celle qui
suit le réglage du système et celle qui suit un choix explicite, ne divergent
pas. Une duplication non vérifiée finit toujours par diverger.</p>
<div class="titre-avec-ancre">
  <h3 id="des-garde-fous-qui-arrêtent-la-construction">Des garde-fous qui arrêtent la construction</h3>
  
</div>
<p>Certaines erreurs ne produisent pas d&rsquo;avertissement : elles empêchent le site
d&rsquo;être produit.</p>
<ul>
<li>Une <strong>image sans texte de remplacement</strong> arrête la construction. La sortie de
secours pour une image vraiment décorative demande de l&rsquo;écrire noir sur
blanc, donc un oubli et une décision ne se ressemblent pas.</li>
<li>Un <strong>nom d&rsquo;icône inconnu</strong> arrête la construction. Le fichier qui déclare les
icônes est aussi celui qui engendre le tableau plus bas : une icône ne peut
donc pas exister sans sa description.</li>
<li>Une <strong>entrée de navigation sans adresse</strong> arrête la construction, plutôt que
de produire un lien mort répété sur chaque page.</li>
<li>Un <strong>lien dont le texte est vague</strong> ou qui affiche une URL nue déclenche un
avertissement nommant le fichier fautif.</li>
</ul>
<div class="titre-avec-ancre">
  <h3 id="ce-qui-a-été-parcouru-à-la-main">Ce qui a été parcouru à la main</h3>
  
</div>
<p>Le 2 août 2026, par lecture de l&rsquo;arbre d&rsquo;accessibilité du navigateur et mesure
du rendu réel.</p>
<table caption="Résultats de la vérification du 2 août 2026">
	<thead>
			<tr>
					<th>Ce qui a été vérifié</th>
					<th>Résultat</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>Arrêts de tabulation sur un billet complet, de bout en bout</td>
					<td>52, dans l&rsquo;ordre du document</td>
			</tr>
			<tr>
					<td>Attributs <code>tabindex</code> positifs, qui désordonnent le parcours</td>
					<td>aucun</td>
			</tr>
			<tr>
					<td>Points de repère sans nom</td>
					<td>aucun</td>
			</tr>
			<tr>
					<td>Bannières et zones <code>main</code> par page</td>
					<td>une seule de chaque</td>
			</tr>
			<tr>
					<td>Sauts de niveau dans le plan de titres</td>
					<td>aucun</td>
			</tr>
			<tr>
					<td>Police effectivement chargée</td>
					<td>Atkinson Hyperlegible Next</td>
			</tr>
			<tr>
					<td>Taille du texte courant</td>
					<td>16 px au minimum</td>
			</tr>
			<tr>
					<td>Interligne du texte courant</td>
					<td>1,6</td>
			</tr>
			<tr>
					<td>Caractères par ligne, sur écran large</td>
					<td>72, mesurés sur du texte français rendu</td>
			</tr>
			<tr>
					<td>Caractères par ligne, à 320 pixels</td>
					<td>39</td>
			</tr>
			<tr>
					<td>Défilement horizontal de la page à 320 px de large</td>
					<td>aucun</td>
			</tr>
			<tr>
					<td>Cibles interactives sous 24 px</td>
					<td>aucune, hors liens en pleine phrase, que le critère exempte</td>
			</tr>
	</tbody>
</table>
<p>Le seul contenu qui dépasse 320 pixels est l&rsquo;intérieur des blocs de code, dans
une zone qui défile et qu&rsquo;on atteint au clavier. Les règles du W3C autorisent
explicitement le défilement horizontal pour ce qui exige une disposition en
deux dimensions.</p>
<p>La recherche a été essayée : le compte de résultats est annoncé une seule fois,
quand il se stabilise ; le pluriel s&rsquo;accorde ; cocher un filtre réannonce le
nouveau compte ; une requête sans résultat propose quatre chemins réels ; et le
bouton « Effacer la recherche » rend le focus au champ.</p>
<p>Les deux thèmes ont été mesurés sur le rendu réel, et les chiffres obtenus sont
identiques au centième à ceux calculés par le script.</p>
<div class="titre-avec-ancre">
  <h3 id="ce-qui-na-pas-été-vérifié">Ce qui n&rsquo;a pas été vérifié</h3>
  
</div>
<div class="encadre encadre--avertissement" role="note">
    <p class="encadre__titre"><svg class="icone" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="m10.3 3.9-8.5 14.2A2 2 0 0 0 3.5 21h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z"/>
<path d="M12 9.5v4"/>
<path d="M12 17.2h.01"/>
</svg>Avertissement
    </p>
    <p><strong>Aucun test avec un vrai lecteur d&rsquo;écran n&rsquo;a encore été consigné ici.</strong></p>
<p>La vérification décrite plus haut passe par l&rsquo;arbre d&rsquo;accessibilité du
navigateur, qui est solide mais qui n&rsquo;est pas <abbr title="NonVisual Desktop Access, un lecteur d&#39;écran libre pour Windows">NVDA</abbr>
,
ni le Narrateur de Windows, ni <span lang="en">VoiceOver</span>
.
Ces logiciels ont chacun leurs habitudes, et un site correct dans l&rsquo;arbre peut
encore surprendre à l&rsquo;oreille.</p>
<p>Le standard québécois demande de nommer les technologies d&rsquo;assistance
employées pour la vérification, avec leurs versions. Cette ligne restera vide
tant qu&rsquo;un test réel n&rsquo;aura pas eu lieu, plutôt que d&rsquo;être remplie par
anticipation.</p>
  </div><div class="titre-avec-ancre">
  <h2 id="les-icônes-du-site">Les icônes du site</h2>
  
</div>
<p>Le standard demande que les icônes employées soient décrites. Les voici toutes.</p>
<p>Aucune ne porte seule une information : chacune accompagne un texte qui dit la
même chose, de sorte que le sens survit si le dessin n&rsquo;est pas perçu.</p>
<div class="tableau-defilant" role="region"
  aria-label="Description de toutes les icônes du site" tabindex="0">
  <table>
    <caption>
      Les 13 icônes du site, ce qu'elles représentent et
      où elles apparaissent. Toutes sont décoratives : chacune accompagne un
      texte qui porte le même sens, de sorte qu'aucune information ne dépend
      d'un dessin.
    </caption>
    <thead>
      <tr>
        <th scope="col">Icône</th>
        <th scope="col">Nom</th>
        <th scope="col">Ce qu'elle représente</th>
        <th scope="col">Où elle apparaît</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><svg class="icone" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M9.5 18.5h5"/>
<path d="M10.5 21.5h3"/>
<path d="M15.1 14c.2-1 .7-1.7 1.4-2.5A4.65 4.65 0 0 0 18 8 6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.8 1.2 1.5 1.4 2.5"/>
</svg></td>
        <th scope="row">Astuce</th>
        <td>Une ampoule vue de face, avec deux petits traits horizontaux sous le culot. Le mot « Astuce » est écrit à côté.</td>
        <td>Devant un encadré de conseil dans un billet.</td>
      </tr>
      <tr>
        <td><svg class="icone" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M7.86 2.5h8.28L22 8.36v8.28L16.14 22.5H7.86L2 16.64V8.36z"/>
<path d="M12 8v4.5"/>
<path d="M12 16.2h.01"/>
</svg></td>
        <th scope="row">Attention</th>
        <td>Un octogone régulier, la forme d&#39;un panneau d&#39;arrêt, contenant un point d&#39;exclamation. Le mot « Attention » est écrit à côté.</td>
        <td>Devant un encadré qui signale un risque réel dans un billet.</td>
      </tr>
      <tr>
        <td><svg class="icone" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="m10.3 3.9-8.5 14.2A2 2 0 0 0 3.5 21h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z"/>
<path d="M12 9.5v4"/>
<path d="M12 17.2h.01"/>
</svg></td>
        <th scope="row">Avertissement</th>
        <td>Un triangle aux coins arrondis, pointe en haut, contenant un point d&#39;exclamation. Le mot « Avertissement » est écrit à côté, et l&#39;encadré porte aussi une bordure plus épaisse : trois signaux, dont deux survivent à l&#39;absence de couleur.</td>
        <td>Devant un encadré qui prévient d&#39;une conséquence dans un billet.</td>
      </tr>
      <tr>
        <td><svg class="icone" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="m9 18 6-6-6-6"/>
</svg></td>
        <th scope="row">Vers la page suivante</th>
        <td>Un chevron simple pointant vers la droite. Le libellé « Page suivante » est écrit à côté.</td>
        <td>Dans le bouton « Page suivante » de la pagination.</td>
      </tr>
      <tr>
        <td><svg class="icone" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="m15 18-6-6 6-6"/>
</svg></td>
        <th scope="row">Vers la page précédente</th>
        <td>Un chevron simple pointant vers la gauche, comme la pointe d&#39;une flèche sans sa hampe. Le libellé « Page précédente » est écrit à côté.</td>
        <td>Dans le bouton « Page précédente » de la pagination.</td>
      </tr>
      <tr>
        <td><svg class="icone" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M20 6 9 17l-5-5"/>
</svg></td>
        <th scope="row">Confirmation</th>
        <td>Une coche, trait descendant court puis trait montant long. Le mot « Copié » apparaît en même temps et est annoncé dans une région live, donc la coche n&#39;est qu&#39;un doublon visuel.</td>
        <td>Remplace l&#39;icône de copie pendant les deux secondes qui suivent une copie réussie.</td>
      </tr>
      <tr>
        <td><svg class="icone" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><rect x="9" y="9" width="13" height="13" rx="2"/>
<path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/>
</svg></td>
        <th scope="row">Copier</th>
        <td>Deux rectangles aux coins arrondis qui se chevauchent, celui du dessus légèrement décalé vers le bas à droite, image d&#39;un document dupliqué.</td>
        <td>Dans le bouton de copie d&#39;un bloc de code.</td>
      </tr>
      <tr>
        <td><svg class="icone" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M4 11a9 9 0 0 1 9 9"/>
<path d="M4 4a16 16 0 0 1 16 16"/>
<circle cx="5" cy="19" r="1.4" fill="currentColor" stroke="none"/>
</svg></td>
        <th scope="row">Flux RSS</th>
        <td>Un point plein en bas à gauche d&#39;où partent deux arcs concentriques vers le haut à droite, comme une onde qui se propage. C&#39;est le symbole usuel des flux de syndication depuis les années 2000.</td>
        <td>Lien vers un flux de syndication, dans le pied de page et à côté des flux de catégorie.</td>
      </tr>
      <tr>
        <td><svg class="icone" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M20.5 4.5v10a1 1 0 0 1-1 1H8l-4 4v-15a1 1 0 0 1 1-1h14.5a1 1 0 0 1 1 1z"/>
<path d="M12.25 6.5v3.5"/>
<path d="M12.25 12.6h.01"/>
</svg></td>
        <th scope="row">Important</th>
        <td>Une bulle de parole rectangulaire avec une pointe en bas à gauche, contenant un point d&#39;exclamation. Le mot « Important » est écrit à côté.</td>
        <td>Devant un encadré à ne pas manquer dans un billet.</td>
      </tr>
      <tr>
        <td><svg class="icone" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M15 3h6v6"/>
<path d="M10 14 21 3"/>
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/>
</svg></td>
        <th scope="row">Lien vers un autre site</th>
        <td>Un carré dont le coin supérieur droit est ouvert, avec une flèche qui en sort en diagonale vers le haut à droite. Elle signale que la destination est ailleurs. Le texte « site externe », réservé au lecteur d&#39;écran, dit la même chose, donc l&#39;information ne dépend jamais du dessin.</td>
        <td>Accolée à tout lien qui quitte le site.</td>
      </tr>
      <tr>
        <td><svg class="icone" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/>
<path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/>
</svg></td>
        <th scope="row">Lien permanent vers une section</th>
        <td>Deux maillons de chaîne ovales entrelacés en diagonale. Le lien porte comme nom accessible « Lien permanent vers la section », suivi du titre de la section, donc sa destination est annoncée en toutes lettres.</td>
        <td>À la fin de chaque titre de section dans un billet.</td>
      </tr>
      <tr>
        <td><svg class="icone" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><circle cx="12" cy="12" r="9.5"/>
<path d="M12 16.5v-5"/>
<path d="M12 7.9h.01"/>
</svg></td>
        <th scope="row">Note</th>
        <td>Un cercle contenant un « i » minuscule, le point au-dessus de la barre. Le mot « Note » est écrit à côté, en toutes lettres.</td>
        <td>Devant un encadré d&#39;information dans un billet.</td>
      </tr>
      <tr>
        <td><svg class="icone" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><circle cx="11" cy="11" r="7"/>
<path d="m21 21-4.3-4.3"/>
</svg></td>
        <th scope="row">Recherche</th>
        <td>Une loupe : un cercle avec un manche court partant en diagonale vers le bas à droite. Le bouton porte le mot « Rechercher » à côté, donc la loupe ne porte rien à elle seule.</td>
        <td>Dans le bouton d&#39;envoi du formulaire de recherche.</td>
      </tr>
    </tbody>
  </table>
</div>

<div class="titre-avec-ancre">
  <h2 id="ce-que-le-site-fait-pour-vous">Ce que le site fait pour vous</h2>
  
</div>
<ul>
<li><strong>Il suit votre réglage d&rsquo;apparence.</strong> Clair ou sombre selon votre système,
dès la première image affichée, sans éclair blanc au chargement. Un
sélecteur dans l&rsquo;en-tête permet de choisir autrement, et le choix est retenu.</li>
<li><strong>Il respecte votre taille de police.</strong> Aucune taille n&rsquo;est figée en pixels :
tout suit le réglage de votre navigateur.</li>
<li><strong>Il ne bloque pas le zoom.</strong> À 400 %, le contenu se replie en une colonne
sans défilement horizontal.</li>
<li><strong>Il s&rsquo;arrête si vous demandez moins de mouvement.</strong> Sous
<span lang="en">prefers-reduced-motion</span>
, toutes les
transitions tombent à zéro. Aucune information ne dépend d&rsquo;une animation.</li>
<li><strong>Il fonctionne sans JavaScript.</strong> Tout se lit et se parcourt. Seules la
recherche et le bouton de copie du code en ont besoin, et ils se cachent
plutôt que de rester inertes.</li>
<li><strong>Il ne vous suit pas.</strong> Aucun témoin, aucune analyse, aucune ressource
chargée depuis un autre serveur. Les polices sont servies d&rsquo;ici.</li>
<li><strong>Il s&rsquo;imprime correctement.</strong> La navigation disparaît, et l&rsquo;adresse des
liens externes part avec le papier.</li>
</ul>
<div class="titre-avec-ancre">
  <h2 id="dernière-évaluation">Dernière évaluation</h2>
  
</div>
<p>Le 2 août 2026.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Plan du site</title>
      <link>https://lfortin.ovh/plan-du-site/</link>
      <guid isPermaLink="true">https://lfortin.ovh/plan-du-site/</guid>
      <dc:creator>Louis Fortin</dc:creator>
      <description>Toutes les pages du site sur une seule page, dans leur hiérarchie.</description>
      <content:encoded><![CDATA[<p>Cette page liste tout ce que contient le site, dans sa structure réelle. Elle
existe pour les gens, pas pour les moteurs de recherche : ceux-là ont leur
propre fichier, <code>sitemap.xml</code>.</p>
<p>C&rsquo;est un des moyens que les règles du W3C reconnaissent pour atteindre
n&rsquo;importe quelle page autrement qu&rsquo;en suivant la navigation, avec la recherche
et les liens entre pages.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Statistiques</title>
      <link>https://lfortin.ovh/statistiques/</link>
      <guid isPermaLink="true">https://lfortin.ovh/statistiques/</guid>
      <dc:creator>Louis Fortin</dc:creator>
      <description>Tout ce que le site sait compter sur lui-même, recalculé à chaque génération.</description>
      <content:encoded><![CDATA[<p>Chaque chiffre de cette page est calculé au moment où le site est construit, à
partir de son contenu réel. Rien n&rsquo;est saisi à la main, rien n&rsquo;est mis en
cache, et il n&rsquo;y a pas une ligne de JavaScript : la page que vous lisez est le
résultat du dernier passage du générateur.</p>
<p>Chaque graphique est un vrai tableau, avec sa légende et ses en-têtes. Les
barres colorées sont un ornement calculé à partir des mêmes nombres. Retirez
tous les styles de cette page : elle reste entière.</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
