Composant Image de Next.js : sizes, preload et images distantes

Guide du composant Image de Next.js

Next.js Image : sizes, preload, remotePatterns et LCP | We.Inc

Comment fonctionne next/image dans Next.js 16 : width, height et fill, un calculateur de sizes, preload qui remplace priority, remotePatterns, qualities et les largeurs srcset par défaut.

Importez Image depuis next/image et donnez-lui src, alt, puis soit width et height, soit fill. Ajoutez une chaîne sizes dès que la largeur affichée varie selon l'écran, pour que le navigateur télécharge un fichier plus petit. Pour l'image d'en-tête qui constitue votre LCP, définissez preload (il a remplacé priority dans Next.js 16). Autorisez les hôtes externes avec images.remotePatterns.

Les props qui déterminent la vitesse

Deux erreurs d'image sont faciles à commettre dans Next.js : une image fill sans sizes, si bien que les téléphones téléchargent les fichiers prévus pour ordinateur, et une image d'en-tête qui attend le chargement différé. Cette page explique chaque prop en termes simples, vous fournit un calculateur qui écrit la chaîne sizes adaptée à votre mise en page et liste les valeurs de configuration par défaut qu'utilise Next.js aujourd'hui.

Questions fréquentes

La prop priority est-elle dépréciée ?

Oui. Depuis Next.js 16, la documentation marque priority comme dépréciée au profit de preload, qui insère un lien de préchargement dans le head. La documentation précise aussi que dans la plupart des cas, loading="eager" ou fetchPriority="high" est le meilleur choix, et que preload ne doit être combiné avec aucune de ces deux props.

Pourquoi next/image indique-t-il que le nom d'hôte n'est pas configuré ?

Les images externes doivent correspondre à une entrée de images.remotePatterns dans next.config. Ajoutez un objet avec protocol, hostname et un pathname comme /photos/**, puis redémarrez le serveur de développement. Les requêtes qui ne correspondent à aucun motif reçoivent une réponse 400 de l'optimiseur d'images.

Que change réellement la prop sizes ?

Elle indique au navigateur la largeur de l'image à chaque point de rupture avant le chargement du CSS. Avec sizes, Next.js génère aussi un srcset complet basé sur les largeurs (640w, 750w, etc.) au lieu de seulement 1x et 2x, si bien qu'un téléphone peut choisir un fichier bien plus petit.

Faut-il width et height avec fill ?

Non. fill et width/height sont des alternatives. Avec fill, l'image s'étire jusqu'à son parent positionné, et vous contrôlez le recadrage avec object-fit via la prop style ou className.

Combien de temps les images optimisées sont-elles mises en cache ?

La valeur par défaut de minimumCacheTTL est de 14400 secondes, soit quatre heures. La durée maximale réelle est la plus grande des deux : cette valeur ou l'en-tête Cache-Control envoyé par l'image d'origine. Les images importées statiquement bénéficient d'une mise en cache immuable de longue durée, car leurs noms de fichiers sont hachés.

Pourquoi ce composant existe

Bien gérer le LCP

La configuration que vous modifierez

Toutes les props que vous utiliserez probablement

Props de next/image (référence Next.js 16)

Valeurs par défaut de la configuration des images

Réglages images dans next.config et leurs valeurs par défaut

Exemples à copier

Image d'en-tête depuis un import statique

L'import fournit à Next.js les vraies dimensions et un espace réservé flouté. preload lance le téléchargement depuis le head.

Grille de cartes avec fill et sizes

Chaque carte occupe un tiers de la page sur ordinateur, la moitié sur tablette et toute la largeur sur téléphone, et la valeur sizes le dit précisément.

next.config.ts pour un hôte d'images distant

Seuls les fichiers HTTPS sous /uploads/ sur un seul hôte sont autorisés. Deux valeurs de qualité sont permises.

Pleine largeur

Moitié sur ordinateur

Grille de 2 colonnes

Grille de 3 cartes

Grille de 4 cartes

Calculateur de sizes

Choisissez une mise en page et des points de rupture pour générer l'attribut sizes, puis voyez quelle largeur srcset par défaut un écran donné téléchargera probablement.

Mise en page

Point de rupture téléphone (px)

Point de rupture tablette (px)

Largeur d'écran : {n}px

Densité de pixels

À {screen}px, l'emplacement de l'image mesure environ {slot}px de large ({vw}vw). À une densité de {dpr}x, il faut {need} pixels physiques, donc le navigateur récupérera très probablement la variante {pick}w.

Copier

Largeurs candidates par défaut : {list}. Les navigateurs peuvent choisir autrement, par exemple quand un fichier plus grand est déjà en cache.

Commencer gratuitement · Sans carte bancaire

Voir aussi: Guides

Produit

Pour qui

Fonctionnalités

Ressources

Entreprise

Plan du site