Comment optimiser les images pour les performances web
Comment optimiser les images pour les performances web
Les images reprĂ©sentent 50 Ă 60 pour cent du total des octets tĂ©lĂ©chargĂ©s d'une page web typique. Chaque image non optimisĂ©e ajoute des secondes Ă votre temps de chargement, augmente votre taux de rebond et nuit Ă votre classement dans les moteurs de recherche. Les Core Web Vitals de Google â plus prĂ©cisĂ©ment le Largest Contentful Paint (LCP) â mesurent directement les performances de chargement des images, ce qui fait de l'optimisation des images l'un des changements ayant le plus grand impact que vous puissiez apporter Ă votre site web.
Ce guide couvre une stratégie complÚte d'optimisation des images, des fondamentaux de la compression aux techniques avancées de diffusion.
1. Compresser chaque image avant la publication
Ne tĂ©lĂ©versez jamais une image brute directement depuis votre appareil photo, votre tĂ©lĂ©phone ou votre outil de conception. La compression devrait ĂȘtre la premiĂšre Ă©tape de votre flux de travail de publication.
Principes clés :
- Les photographies tolÚrent une compression lossy agressive. Commencez à la qualité 80 pour JPEG et WebP, puis ajustez à la baisse si les objectifs de poids l'exigent.
- Les captures d'écran, les logos et les graphiques bénéficient d'une compression lossless. Le PNG et le WebP lossless préservent les bords nets et le texte que la compression lossy brouillerait.
- AVIF offre les meilleurs taux de compression mais nécessite plus de temps d'encodage. Utilisez-le pour les images téléchargées fréquemment et mises à jour rarement.
- Compressez dans le format d'origine pour éviter les pertes de génération dues à des conversions de format inutiles.
Ăconomies attendues :
Un flux de travail typique qui compresse les images avant le téléversement réduit le poids total des images de 40 à 80 pour cent avec une perte de qualité minimale perceptible.
2. Diffuser les bonnes dimensions
Diffuser une photo de 4000 pixels de large dans un conteneur de 300 pixels de large est l'erreur de performance la plus courante sur le web. Le navigateur télécharge les 4000 pixels puis les réduit, gaspillant de la bande passante et de la mémoire.
Créez plusieurs variantes de taille :
- 320 à 480 pixels de large pour les écrans mobiles
- 768 Ă 1024 pixels de large pour les tablettes
- 1200 à 1920 pixels de large pour les écrans de bureau
- 2560 pixels de large pour les écrans Retina haute densité (2x)
Faites correspondre la variante la plus grande à la largeur maximale à laquelle l'image sera affichée dans votre mise en page, multipliée par 2 pour les écrans haute densité (high-DPI).
3. Utiliser des images responsives avec Srcset
Les attributs srcset et sizes en HTML indiquent au navigateur quelle taille d'image tĂ©lĂ©charger en fonction de la largeur de la fenĂȘtre d'affichage de l'utilisateur et du ratio de pixels de l'appareil.
<img
src="photo-800.jpg"
srcset="
photo-400.jpg 400w,
photo-800.jpg 800w,
photo-1200.jpg 1200w,
photo-1600.jpg 1600w
"
sizes="(max-width: 600px) 100vw, (max-width: 1200px) 50vw, 800px"
alt="Descriptive text for accessibility and SEO"
/>
Ce seul modÚle peut réduire la bande passante des images de 40 à 60 pour cent sur les appareils mobiles sans aucune différence de qualité visible.
4. Optimiser pour le Largest Contentful Paint (LCP)
Le LCP mesure le temps nĂ©cessaire au rendu du plus grand Ă©lĂ©ment visible â gĂ©nĂ©ralement l'image principale (hero image) â. Google considĂšre un LCP de 2,5 secondes ou moins comme bon.
Pour optimiser le LCP des images :
- Préchargez l'image principale pour que le navigateur la découvre tÎt. Ajoutez
<link rel="preload" as="image" href="hero.webp">Ă l'en-tĂȘte de votre document. - Compressez l'image principale de maniĂšre agressive â c'est gĂ©nĂ©ralement le premier et le plus lourd Ă©lĂ©ment que le navigateur tĂ©lĂ©charge.
- Diffusez du WebP ou de l'AVIF pour l'image principale avec un repli JPEG.
- Dimensionnez correctement l'image principale. Ne diffusez pas une image de 4000 pixels dans un emplacement d'image principale de 1200 pixels.
- Ne lazy loadez pas l'image principale ni aucune image au-dessus de la ligne de flottaison. Le lazy loading retarde le téléchargement, ce qui nuit au LCP.
5. Activer le lazy loading pour les images sous la ligne de flottaison
Les images qui ne sont pas visibles sur l'Ă©cran initial n'ont pas besoin de se charger immĂ©diatement. L'attribut loading="lazy" indique au navigateur de diffĂ©rer le chargement de l'image jusqu'Ă ce qu'elle soit proche d'entrer dans la fenĂȘtre d'affichage.
<img src="gallery-photo.jpg" loading="lazy" alt="Gallery image" />
Le lazy loading réduit le poids initial de la page de 30 à 50 pour cent sur les pages riches en images. Combiné à la compression, l'impact est transformateur.
6. Supprimer les métadonnées des images
Les donnĂ©es EXIF â rĂ©glages de l'appareil photo, coordonnĂ©es GPS, horodatages â ajoutent des octets inutiles Ă chaque image. Supprimer les mĂ©tadonnĂ©es permet gĂ©nĂ©ralement d'Ă©conomiser 5 Ă 15 pour cent du poids du fichier sans aucun changement visuel. Faites de la suppression des mĂ©tadonnĂ©es une Ă©tape standard de votre flux de travail de compression.
7. Utiliser un réseau de diffusion de contenu (CDN)
Un CDN distribue vos images sur des serveurs dans le monde entier, rĂ©duisant la distance physique entre l'utilisateur et l'image. Cela amĂ©liore le Time to First Byte pour les requĂȘtes d'images.
Certains CDN offrent également une transformation d'images à la volée :
- Négociation automatique du format (diffuser du WebP ou de l'AVIF lorsque c'est pris en charge)
- Redimensionnement dynamique selon l'appareil et la fenĂȘtre d'affichage
- Ajustements de compression en temps réel
Si un CDN dédié n'est pas une option, utilisez au minimum HTTP/2 ou HTTP/3 pour permettre plusieurs téléchargements d'images dans une seule connexion.
8. Tenir compte des performances de décodage des images
Les grandes images prennent non seulement du temps Ă tĂ©lĂ©charger mais aussi du temps Ă dĂ©coder. Le navigateur doit dĂ©compresser les donnĂ©es JPEG, PNG, WebP ou AVIF avant de les afficher. Le JPEG et le WebP se dĂ©codent rapidement sur la plupart des appareils, tandis que le dĂ©codage de l'AVIF est plus coĂ»teux en calcul â un point Ă considĂ©rer pour les appareils mobiles d'entrĂ©e de gamme.
Utilisez l'attribut decoding="async" sur les images non critiques pour permettre au navigateur de les décoder sans bloquer les autres contenus :
<img src="photo.jpg" decoding="async" loading="lazy" alt="Description" />
Construire votre flux de travail d'optimisation
Un pipeline complet d'optimisation d'images ressemble Ă ceci :
- Compressez les images dans leur format d'origine à l'aide d'un outil adapté à la qualité.
- Supprimez les métadonnées pendant la compression.
- Redimensionnez aux dimensions d'affichage requises, en créant plusieurs variantes.
- Implémentez
srcsetetsizesdans vos modÚles HTML. - Préchargez l'image principale, lazy loadez tout ce qui est sous la ligne de flottaison.
- Diffusez depuis un CDN pour des performances mondiales.
- Mesurez le LCP et le poids total des images avec Lighthouse ou PageSpeed Insights.
- Itérez sur les réglages de qualité jusqu'à atteindre votre budget de performance.
Commencez dĂšs aujourd'hui Ă optimiser vos images avec notre compresseur d'images en ligne gratuit. TĂ©lĂ©versez des images au format PNG, JPEG, WebP ou AVIF et tĂ©lĂ©chargez des versions compressĂ©es prĂȘtes pour la production â sans conversion de format, sans compromis sur la qualitĂ©.