Tous les articles
·Ingénierie·8 min

Pourquoi Next.js 16 change la donne pour les sites sur-mesure

Server Components, streaming, edge runtime : ce que la dernière version apporte concrètement à vos projets web.

Next.js continue d'avancer vite — trop vite pour beaucoup d'équipes. Pourtant, la version 16 n'est pas un simple numéro incrémenté : elle redéfinit ce qu'on peut attendre d'un framework React en 2026.

Poste de travail avec un éditeur de code affichant du TypeScript
Next.js 16 : moins de JavaScript, plus de performance côté serveur.

Les chiffres qui comptent

Avant d'entrer dans les concepts, voici ce qu'on observe en production sur nos projets migrés vers la 16 :

MétriqueNext.js 14Next.js 16Gain
Bundle JS initial142 kB58 kB−59%
TTFB (edge)180 ms42 ms−77%
LCP (mobile 4G)2.1 s0.9 s−57%
Score Lighthouse Perf8298+16 pts

Server Components : la fin du compromis

Avant, on devait choisir : rendu côté serveur pour le SEO et la performance, ou interactivité riche côté client. Next.js 16 pousse le modèle des Server Components à un niveau industriel.

  • Données chargées au plus près de la source
  • Bundle JavaScript réduit de 30 à 60% sur les pages standards
  • Zéro compromis sur l'expérience utilisateur

Un exemple concret

// app/blog/[slug]/page.tsx
import { getPost } from "@/lib/cms";

export default async function Post({
  params,
}: {
  params: Promise<{ slug: string }>;
}) {
  const { slug } = await params;
  const post = await getPost(slug);

  return (
    <article>
      <h1>{post.title}</h1>
      <p>{post.excerpt}</p>
    </article>
  );
}

Aucun useEffect, aucun useState, aucun loader côté client. Le CMS est requêté sur le serveur, au rendu de la page.

Streaming natif

Le streaming HTML permet d'afficher la page progressivement, au lieu d'attendre que tout soit prêt. Résultat : le LCP chute, et l'utilisateur perçoit le site comme instantané.

import { Suspense } from "react";

export default async function Page() {
  return (
    <>
      <Hero />
      <Suspense fallback={<Skeleton />}>
        <SlowData />
      </Suspense>
    </>
  );
}

Edge runtime partout

L'exécution en edge rapproche votre code de l'utilisateur. Pour un site vitrine hébergé sur Vercel ou Cloudflare, ça signifie moins de 50ms de TTFB dans la plupart des régions.

Le modèle de latence

Le temps de réponse total TT se décompose ainsi :

T=Treˊseau+Tcalcul+TrenduT = T_{\text{réseau}} + T_{\text{calcul}} + T_{\text{rendu}}

En edge, TreˊseauT_{\text{réseau}} est divisé par 3 à 5 en moyenne (distance géographique réduite). Si votre calcul serveur fait 30 ms et le rendu 20 ms :

Torigin150+30+20=200 msT_{\text{origin}} \approx 150 + 30 + 20 = 200\text{ ms} Tedge35+30+20=85 msT_{\text{edge}} \approx 35 + 30 + 20 = 85\text{ ms}

Soit un gain de 58% sur le temps perçu, sans changer une ligne de logique métier.

Ce qu'il faut retenir

Pas par mode, mais parce que les gains sont concrets : temps de chargement, scores Lighthouse, coûts d'infrastructure.