(Infra / #368) Cache-busting du CSS généré #369

Merged
mlvtito merged 1 commit from css-cachebust into main 2026-11-10 19:01:35 +00:00
Collaborator

Closes #368

Diagnostic confirmé

Le CSS est généré par Zola à chaque build sous le même nom (style.css). Les navigateurs qui ont déjà visité le site servent donc l'ancienne version depuis leur cache, sans même revalider — c'est exactement ce qui a masqué la nouvelle couleur du tag made by AI au dernier déploiement.

Fix : cache-busting intégré de Zola

get_url(path='style.css', cachebust=true) sur les deux références du head (macros.html) : le preload et la stylesheet (URLs identiques, sinon le preload serait gâché).

Zola ajoute un checksum du contenu compilé : style.css?h=685f91fc5a340acdb51b.

  • CSS inchangé → même URL → cache conservé (pas de re-téléchargement inutile)
  • CSS modifié → nouvelle URL → le navigateur recharge — l'invalidation est automatique à chaque déploiement, zéro manipulation manuelle

Mieux qu'un timestamp dans le nom de fichier : un timestamp changerait à chaque build même sans modification (cache inutilisé), et Zola ne permet pas de renommer la sortie Sass sans renommer le fichier source à chaque changement.

Vérifié

  • Hash différent après modification du SCSS, identique après un build sans modification (testé localement)
  • Rendu complet via l'URL cachebustée (styles + polices + tags) sur serveur local
  • zola build 0.22.1 : OK
  • CI build : verte sur 1df9736

2 lignes changées, rien d'autre.

Closes #368 ## Diagnostic confirmé Le CSS est généré par Zola à chaque build sous le **même nom** (`style.css`). Les navigateurs qui ont déjà visité le site servent donc l'ancienne version depuis leur cache, sans même revalider — c'est exactement ce qui a masqué la nouvelle couleur du tag `made by AI` au dernier déploiement. ## Fix : cache-busting intégré de Zola `get_url(path='style.css', cachebust=true)` sur les **deux** références du head (`macros.html`) : le preload **et** la stylesheet (URLs identiques, sinon le preload serait gâché). Zola ajoute un checksum du **contenu compilé** : `style.css?h=685f91fc5a340acdb51b`. - CSS inchangé → même URL → cache conservé (pas de re-téléchargement inutile) - CSS modifié → nouvelle URL → le navigateur recharge — l'invalidation est automatique à chaque déploiement, zéro manipulation manuelle Mieux qu'un timestamp dans le nom de fichier : un timestamp changerait à chaque build même sans modification (cache inutilisé), et Zola ne permet pas de renommer la sortie Sass sans renommer le fichier source à chaque changement. ## Vérifié - Hash **différent** après modification du SCSS, **identique** après un build sans modification (testé localement) - Rendu complet via l'URL cachebustée (styles + polices + tags) sur serveur local - `zola build` 0.22.1 : OK - CI `build` : verte sur 1df9736 2 lignes changées, rien d'autre.
(Infra / #368) cachebust generated css file
All checks were successful
/ build (push) Successful in 21s
/ publish (push) Has been skipped
1df973631e
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
serious-devs/website!369
No description provided.