Next.js Middleware
React 🟡 MidDéfinition
Code exécuté avant le rendu d'une route pour rediriger, réécrire l'URL, poser des en-têtes ou des cookies. Depuis Next.js 16 (21 octobre 2025), le fichier middleware.ts est déprécié et renommé proxy.ts ; il s'exécute par défaut sur le runtime Node.js et non plus Edge.
Analogie
Comme un vigile a l'entrée d'un bâtiment : il vérifie ton badge avant de te laisser entrer dans n'importe quelle pièce.
Exemple de code
// proxy.ts (racine du projet) — Next.js 16+
import { NextResponse, type NextRequest } from 'next/server';
export function proxy(request: NextRequest) {
const token = request.cookies.get('token');
if (!token) return NextResponse.redirect(new URL('/login', request.url));
return NextResponse.next();
}
export const config = { matcher: ['/dashboard/:path*'] };
// Migration : npx @next/codemod@canary middleware-to-proxy .
Cas d'usage
Redirections, réécritures, en-têtes CORS, vérification légère de session sur un groupe de routes via matcher.
Anti-pattern
Faire reposer l'authentification uniquement sur le proxy : les Server Functions sont des POST sur la route qui les utilise, et un matcher qui exclut un chemin les laisse passer. Vérifier l'autorisation dans chaque Server Function.
Termes liés
Fiche mise à jour le 2026-09-27