Tuesday, June 30, 2026

Publiez et voyez le résultat aussitôt : comment ce site se met à jour instantanément

Gros plan de code sur un écran d'ordinateur

Ce site est rendu de façon statique. Les pages sont construites d'avance et servies sous forme de HTML mis en cache, rapide, depuis la périphérie du réseau. Cela vient généralement avec un inconvénient : changez quelque chose dans le CMS et vous attendez une reconstruction complète, ou l'expiration d'une minuterie de cache, avant que qui que ce soit le voie. Ce site ne vous fait pas attendre. Publiez dans Agility et le changement est en ligne en quelques secondes, sur les pages précises qui ont changé, sans reconstruire tout le site.

Voici comment ce tour de magie fonctionne.

Mettez en cache ce que vous pouvez, étiquetez ce que vous mettez en cache

Chaque élément de contenu que le site récupère est mis en cache et associé à des étiquettes : ce billet porte une étiquette, la liste des billets en porte une, le plan du site de chaque langue porte la sienne. Servir une page ne coûte presque rien parce qu'on lit depuis le cache, sans appeler le CMS à chaque requête.

Les étiquettes sont l'essentiel. Elles transforment le cache d'une minuterie tout-ou-rien en quelque chose qu'on peut vider chirurgicalement.

Publier envoie un signal

Quand vous publiez, approuvez ou dépubliez quelque chose dans Agility, cela appelle un webhook sur ce site. Le site lit ce qui a changé et vide exactement les étiquettes touchées : l'élément de contenu, les listes où il apparaît, et le chemin de la page où il s'affiche. Le prochain visiteur régénère uniquement ces pages à partir du contenu frais. Tout le reste demeure en cache et rapide.

C'est la différence entre réimprimer une seule page d'un livre et réimprimer le livre au complet parce qu'on a corrigé une coquille.

Le plan du site fait partie du marché

Une subtilité a demandé un peu de soin. Un billet de blogue n'est pas seulement une page—c'est aussi une entrée dans le plan du site, et le plan du site alimente la navigation, la liste et le sélecteur de langue. Donc quand un billet est publié, renommé ou retiré, vider le cache du billet lui-même ne suffit pas; il faut aussi vider le cache du plan du site, sinon un nouveau billet serait invisible et un billet supprimé persisterait comme un lien brisé.

Le webhook gère les trois cas—publication, dépublication et suppression—et vide les étiquettes du plan du site chaque fois qu'une page ou un élément de page dynamique change. C'est pourquoi un billet fraîchement publié apparaît au bon endroit immédiatement, dans la bonne langue, plutôt qu'une heure plus tard.

Rapide et frais, pas rapide ou frais

La plupart des configurations vous forcent à choisir : statique et rapide mais périmé, ou dynamique et frais mais lent. La revalidation à la demande, fondée sur les étiquettes, est la façon d'obtenir les deux. La page que vous lisez a été servie depuis le cache en quelques millisecondes. Au moment où son contenu change, ce cache est invalidé exprès, et seulement là où ça compte.

Si vous avez un accès d'édition, changez un mot et republiez. Le temps de recharger, c'est déjà ici.