Sébastien Rigaux

Veille technologique

← Tous les liens

Next.js

Applications React avec Next.js : routage, rendu serveur, cache et déploiement.

Carte blanche sur fond bleu pâle affichant « Fixing a Hydration Mismatch Error and UI Flicker in React » et la mention « Blog ».

Dans Next.js, une valeur de localStorage peut faire diverger le HTML rendu côté serveur du premier rendu client. L’article compare les compromis : attendre le montage évite l’erreur, mais retire le contenu réel du HTML SSR ; initialiser les deux rendus avec la même valeur préserve ce contenu, au prix d’une mise à jour ultérieure pouvant provoquer un flicker.

Pour synchroniser une sidebar sans ce clignotement, un script inline applique son état au DOM avant l’hydratation et le transmet à React, qui reprend les mêmes classes. L’article distingue aussi le cas d’un contrôle de thème isolé et celui d’un backdrop mobile géré par CSS.

Giorgi MoniavaRepéré via React Digest

Visuel noir avec le texte « Ship less JavaScript in Next.js with your AI agent » et le logo Next.js.

Next.js 16.4 fournit une skill d’agent IA qui analyse le graphe des modules et des chunks Turbopack pour repérer les imports qui alourdissent le JavaScript livré. Elle peut notamment détecter qu’un import statique ailleurs dans le bundle annule le chargement différé d’un composant, puis proposer des changements à examiner avant de les appliquer.

L’analyseur compare aussi des snapshots et filtre le code chargé au rendu initial. Vercel rapporte près de deux mégaoctets de JavaScript compressé économisés sur v0 et vercel.com ; les corrections ont été vérifiées sur des déploiements preview. L’outil requiert Turbopack, le bundler par défaut depuis Next.js 16.

Will Binns-SmithRepéré via This week in React

Visuel du billet Vinext 1.4, avec son titre, un résumé des changements et la date du 28 octobre 2026.

Vinext 1.4 réduit le travail à plusieurs étapes du rendu : les layouts App Router s’exécutent une seule fois par requête, le prefetch des routes dynamiques ne génère plus la page entière et les chunks nécessaires à l’hydratation se compilent en arrière-plan dans Chrome récent. Sur le benchmark Hacker News, l’éditeur mesure 31,1 ms de CPU par requête, contre 54,4 ms en 1.3 et 33,7 ms pour Next.js.

La version synchronise aussi la génération du HTML et du payload RSC en cache. Les résultats restent toutefois dépendants du scénario : sur un prototype de site éditorial, Next.js peint plus vite et consomme moins de CPU par requête. Le test de TanStack Redact révèle un autre compromis : moins de JavaScript téléchargé, mais une hydratation nettement plus coûteuse sur les pages chargées.

James AndersonRepéré via This week in React

Bannière blanche avec le texte noir « Next Themes » et les icônes GitHub et de sponsor.

next-themes applique le thème dès le chargement, prend en compte la préférence système et synchronise le choix entre les onglets. Son ThemeProvider fonctionne avec l’App Router comme avec pages/, et expose un hook pour changer de thème ou gérer plusieurs variantes.

Le point à intégrer dans l’architecture : le thème stocké dans le navigateur est inconnu au rendu serveur. L’interface qui dépend de useTheme doit donc attendre le montage côté client pour éviter les erreurs d’hydratation. La bibliothèque met aussi à jour l’attribut de <html> — avec suppressHydrationWarning recommandé — et reste indépendante de la solution CSS utilisée.

Visuel Next.js présentant le titre de l’article sur l’amélioration de la navigation dans v0.

Pour réduire les skeletons dans v0, l’équipe combine le Partial Prefetching de Next.js avec des règles de cache adaptées aux données publiques ou personnalisées. Les tests Playwright instant() vérifient que le contenu prioritaire est déjà disponible au clic, et restent comme garde-fous en CI.

Le préchargement dépend aussi de l’intention : dans les grandes grilles, les détails ne sont chargés qu’au survol, au focus ou au toucher. Ce réglage répond à une hausse de 2,9× des requêtes de préchargement ; le bilan global rapporte des coûts quotidiens en baisse, sans attribuer cette évolution au seul refactoring.

Aurora Scharff

Bannière sombre de Vercel Shop avec le texte « Production-ready Shopify storefront on Next.js » et le dessin d’une chaussure.

Vercel Shop associe un storefront Next.js à Shopify, qui garde en charge le catalogue, les paiements et le checkout. Les Cache Components affichent rapidement les données produits puis diffusent le contenu personnalisé en streaming ; le panier, lui, se met à jour avant la réponse du serveur grâce à une UI optimiste.

Le template ajoute des options pour les agents : un assistant d’achat activable au choix, des skills pour étendre la boutique et du Markdown servi via l’en-tête Accept. Une base concrète pour explorer ces parcours, tout en conservant Shopify comme moteur de commerce.

Capture d’écran de la page de release vinext 1.1.0 sur GitHub

La version 1.1.0 de vinext, le plugin Vite qui réimplémente l’API Next.js, aligne de nombreux comportements sur Next.js, notamment pour l’App Router (gestion des redirections, métadonnées, erreurs spéciales) et la gestion du cache. Cette release introduit la stratégie stale-while-revalidate pour use cache, permettant de servir des entrées périmées tout en les régénérant en arrière-plan, et corrige plusieurs incohérences de cache et de rendu côté serveur. Un jalon pour ceux qui cherchent une alternative déployable à Next.js.

github-actions

Illustration de l’annonce Next.js 16.4 avec logo Next.js sur fond sombre

Next.js 16.4 recommande désormais l’utilisation des Cache Components, activés par défaut sur les nouveaux projets via create-next-app. Ce modèle permet de déclarer précisément le cache au niveau des composants, avec des API pour contrôler le comportement statique ou dynamique des pages et affiner le préchargement. La version apporte aussi des outils d’agent pour faciliter la migration, des optimisations sur Turbopack (taille du cache, HMR, bundles plus petits), la prise en charge de React 19.3 et plusieurs fonctionnalités expérimentales pour le build et le développement.

Next.js Team

Illustration de l'annonce de Vinext 1.0 sur le blog Cloudflare

Cloudflare lance Vinext 1.0, une réimplémentation de Next.js basée sur Vite, qui promet plus de 99 % de compatibilité avec la suite de tests officielle (hors Cache Components). Vinext prend en charge App Router et Pages Router, propose une migration en deux commandes et introduit un mécanisme de cache warming déporté sur le réseau Cloudflare pour optimiser la pré-génération des pages. Le projet s’appuie sur une automatisation poussée pour suivre l’évolution rapide de Next.js et maintenir la compatibilité, tout en assumant des choix différents sur l’ISR et la gestion du cache.

James Anderson et Matt “TK” Taylor