ISR (Incremental Static Regeneration)
React 🟡 MidDéfinition
Combinaison SSG + SSR : la page est générée statiquement puis régénérée en arrière-plan après un délai (revalidate). Introduit par Next.js. Depuis Next.js 16 (21 octobre 2025), revalidateTag exige un profil cacheLife en second argument ('max', 'hours'…) pour un comportement stale-while-revalidate, et Next.js 16.3 (3 août 2026) permet de servir une coquille de chargement instantanée au premier visiteur d'une URL non pré-rendue, puis de la promouvoir en page pré-rendue.
Analogie
Comme un menu du jour affiche a l'entrée : il est pre-imprime mais le serveur le remplace discrètement chaque jour.
Exemple de code
// Next.js App Router : régénération toutes les heures
export const revalidate = 3600;
export default async function Products() {
const products = await getProducts();
return <ProductGrid products={products} />;
}
// Invalidation à la demande (Next.js 16 : profil obligatoire)
import { revalidateTag } from 'next/cache';
revalidateTag('products', 'max');
Cas d'usage
Pages e-commerce, catalogues : contenu relativement stable mais qui doit se mettre a jour sans rebuild complet.
Termes liés
Dans l'actu
- 30/09 Next.js 16.3.8 et 15.5.27 corrigent les failles annoncées le 23/09 : une SSRF via l'Image Optimization (sévérité haute, uniquement si `images.remotePatterns` est configuré), un empoisonnement du cache des pages SSG/ISR en auto-hébergé, et deux fuites liées à `'use cache'` (entre root params, et du contenu Draft Mode). Semaine 40 (1re moitié) · 28 – 30 septembre 2026 →
- 30/09 Next.js 16.3.8 et 15.5.27 corrigent sept failles : SSRF via l'Image Optimization (si `images.remotePatterns` est configuré), empoisonnement du cache SSG/ISR en auto-hébergé, deux fuites liées à `'use cache'`, et un endpoint MCP de `next dev` lisible par n'importe quel site visité. Bilan septembre 2026 →
Fiche mise à jour le 2026-09-27