Aller au contenu
Retour aux guides
Guide Dernière vérification : octobre 2026 8 min de lecture

Images et vitesse : formats, tailles, lazy loading

Les images sont souvent la partie la plus lourde d’une page, et souvent l’élément qui décide du moment où la page semble prête. Ce guide explique les formats, les tailles de fichier, srcset et sizes, pourquoi width et height comptent, quand utiliser le lazy loading et comment traiter la grande image en haut de page.

Pourquoi les images décident du temps de chargement

Google écrit que les images contribuent souvent le plus au poids total d’une page, ce qui peut rendre les pages lentes et coûteuses à charger. Deux des Core Web Vitals dépendent directement des images. Le Largest Contentful Paint (LCP) mesure le chargement : Google conseille que le plus grand élément apparaisse dans les 2,5 premières secondes après le début du chargement de la page. Sur beaucoup de pages, cet élément est une image, par exemple une grande photo en haut. Le Cumulative Layout Shift (CLS) mesure la stabilité visuelle et devrait rester inférieur à 0,1. Les images qui arrivent sans espace réservé poussent le texte vers le bas et augmentent cette valeur.

Un téléphone affiche une page. La grande image en haut porte une coche verte : elle se charge en premier. Sous une ligne pointillée, deux zones d’image aux contours pointillés gardent leur place. À droite, un gros fichier devient deux plus petits.
Charge d’abord l’image du haut, réserve la place pour le reste et garde chaque fichier léger.

Le bon format

  • Photos : le JPEG fonctionne partout. Le WebP et l’AVIF sont souvent nettement plus légers à qualité comparable.
  • Graphiques aux bords nets ou avec transparence : PNG, ou WebP et AVIF, qui peuvent aussi être transparents.
  • Logos et icônes : SVG, car il reste net à toutes les tailles et est en général très léger.
  • La recherche Google prend en charge les images dans l’attribut src aux formats BMP, GIF, JPEG, PNG, WebP, SVG et AVIF.

Si tu proposes du WebP ou de l’AVIF, tu peux garder un JPEG de secours dans un élément picture. Le navigateur choisit la première source qu’il comprend.

La bonne taille

Une image de 2 400 pixels de large affichée sur 600 pixels gaspille la plupart de ses octets. Exporte les images à peu près à la largeur où elles sont affichées, et pour les écrans à haute résolution à environ deux fois cette largeur. Compresse-les ensuite. Dans beaucoup de logiciels d’image, un réglage de qualité vers le milieu de l’échelle suffit pour des photos sur le web. Vérifie le résultat en taille réelle avant de remplacer l’original.

Une photo, quatre fichiers (Ko)
JPEG, 2 400 px de large480
Directement de l’appareil photo ou de la banque d’images
JPEG, 1 200 px de large160
Mis à la taille d’affichage
WebP, 1 200 px de large100
Même taille, format moderne
AVIF, 1 200 px de large75
Même taille, format moderne
Valeurs d’exemple : le gain réel dépend de l’image et des réglages d’export.

srcset et sizes

Un seul fichier ne convient jamais à tous les écrans. Avec srcset, tu proposes plusieurs fichiers de la même image et tu indiques la largeur de chacun. Avec sizes, tu dis au navigateur à quelle largeur l’image sera affichée. Le navigateur choisit alors le plus petit fichier suffisamment net.

<img src="/img/sofa-800.jpg"
     srcset="/img/sofa-400.jpg 400w, /img/sofa-800.jpg 800w, /img/sofa-1600.jpg 1600w"
     sizes="(max-width: 700px) 100vw, 700px"
     width="800" height="533"
     alt="…">

Dans cet exemple, l’image occupe toute la largeur sur les écrans étroits et fait 700 pixels de large sur les écrans plus larges. Google recommande de toujours garder une solution de secours dans l’attribut src. Écris un vrai texte alternatif à la place des trois points.

width et height contre les décalages de mise en page

Sans width et height, le navigateur ne sait pas combien de place une image demande tant que le fichier n’est pas arrivé. Le texte en dessous saute alors vers le bas. Le guide de web.dev sur les décalages de mise en page conseille d’inclure toujours les attributs width et height sur les images et les éléments vidéo, avec la taille en pixels du fichier ou au moins le bon rapport d’aspect. Les navigateurs modernes déduisent de ces valeurs le rapport d’aspect par défaut de l’image et réservent la place. Dans le CSS, width: 100% et height: auto gardent l’image flexible. Si tu ne peux pas définir les attributs, le guide cite la propriété CSS aspect-ratio comme alternative.

Lazy loading

Avec loading="lazy", le navigateur ne charge une image que lorsqu’elle approche de la zone visible. Cela économise des données pour les images plus bas dans la page. Google dit à propos du lazy loading : ne l’ajoute pas à un contenu qui sera probablement visible immédiatement quand un utilisateur ouvre une page. Le lazy loading intégré au navigateur est disponible pour les images et les iframes.

Lazy loading ou pas ?
L’image sera-t-elle probablement visible dès l’ouverture de la page ?
Oui
Charge-la normalement, sans loading="lazy". Pour la plus grande image en haut, fetchpriority="high" peut aider.
Non
Utilise loading="lazy". Le navigateur ne charge l’image que lorsque le visiteur fait défiler la page jusqu’à elle.
Toujours avec width et height, pour que l’espace soit réservé.

L’image LCP

La plus grande image en haut, souvent une image d’en-tête ou la photo principale du produit, est le fichier le plus important de la page. Le guide de web.dev sur le LCP dit : ne charge jamais ton image LCP en différé. fetchpriority="high" indique au navigateur de la charger tôt. Selon le guide, une priorité élevée sur plus d’une ou deux images n’aide plus. Les images dont une bibliothèque de scripts cache l’adresse dans data-src, ou qui ne sont qu’un arrière-plan CSS, sont trouvées tard par le navigateur. Pour une image d’arrière-plan, le guide cite un préchargement avec link rel="preload" dans le HTML. L’AVIF ou le WebP et un fichier plus petit raccourcissent aussi le temps de chargement.

La grande image en haut
Aide
  • Un élément img avec src directement dans le HTML
  • Chargée normalement
  • fetchpriority="high" sur cette seule image
  • Un fichier mis à la taille d’affichage
Ralentit
  • L’adresse seulement dans data-src, remplie plus tard par un script
  • loading="lazy"
  • Priorité élevée sur beaucoup d’images à la fois
  • Un fichier de plusieurs mégaoctets

Pour voir les performances de tes pages, Google renvoie au rapport Core Web Vitals de la Search Console. Pour une seule page, les outils de performance de ton navigateur montrent quel élément est l’élément LCP et quels éléments décalent la mise en page. Mesure avant et après une modification, pour savoir si elle a aidé.

Une courte liste de contrôle

  • La plus grande image en haut est-elle chargée normalement, et non en différé ?
  • Chaque img a-t-elle width et height, ou l’espace réservé avec aspect-ratio ?
  • Chaque fichier a-t-il à peu près la largeur d’affichage, et est-il compressé ?
  • Les grandes photos existent-elles en plusieurs largeurs avec srcset et sizes ?
  • Reste-t-il des fichiers JPEG ou PNG qui pourraient être en WebP ou AVIF ?

Travailler avec Do4U

La Vérification d'image lit une page et chacune de ses images. Pour chaque fichier, elle indique le format, le poids et les pixels, et depuis le HTML width et height, loading, fetchpriority, srcset et sizes, les sources picture et les images d’arrière-plan dans les attributs style. Do4U devine à partir du HTML l’image LCP probable. Il ne la mesure pas, car le véritable élément LCP est déterminé par le navigateur. Tu obtiens un tableau des images avec les constats, le poids total et un court résumé. Les images insérées par JavaScript et les images d’arrière-plan provenant de fichiers CSS externes ne sont pas incluses. Aucune IA n’est utilisée, et la vérification est gratuite, avec une limite quotidienne.

Do4U trouve des indices, tu vérifies et tu décides. Confirme l’élément LCP avec les outils de performance de ton navigateur avant de modifier la page.

Sources