From e72f25b33d0a244f97004678e2fa1797307a3235 Mon Sep 17 00:00:00 2001 From: Florian Date: Tue, 26 May 2026 02:46:20 +0200 Subject: [PATCH] fix(cache): Cache-Control must-revalidate sur home + dept MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Le navigateur cachait l ancienne version HTML → utilisateurs voyaient le bulletin Vigilance précédent (carte du 25 mai 6h) malgré le bon HTML servi par le serveur (carte du 25 mai 16h). max-age=60 + must-revalidate force une revalidation conditionnelle à chaque visite > 1 min. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/pages/departement/[code].astro | 2 ++ src/pages/index.astro | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/src/pages/departement/[code].astro b/src/pages/departement/[code].astro index 7ece3cd..ab3b2c4 100644 --- a/src/pages/departement/[code].astro +++ b/src/pages/departement/[code].astro @@ -21,6 +21,8 @@ if (!dept) { return new Response('Département introuvable', { status: 404 }); } +Astro.response.headers.set('Cache-Control', 'public, max-age=60, must-revalidate'); + const drom = isDrom(dept.code); // Fetch en parallèle des 3 sources externes (vigilance MF, climato data.gouv, hourly MF SYNOP). diff --git a/src/pages/index.astro b/src/pages/index.astro index 1d29925..a1c29d7 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -10,6 +10,11 @@ import type { VigilanceAlert } from '../lib/vigilance'; export const prerender = false; +// Force la revalidation côté navigateur — la page change toutes les ~5 min +// (cache Valkey TTL + bulletins MF), donc on évite le cache local agressif +// qui faisait servir une carte de la veille. +Astro.response.headers.set('Cache-Control', 'public, max-age=60, must-revalidate'); + let snapshot; let error: string | null = null; try {