Insights

Niveau : Optimiser

Optimisation des images web : protocole vérifiable, formats, LCP et qualité perceptive

Une méthode en 36 contrôles pour servir la bonne dimension, préserver la qualité perceptive et prouver chaque décision de l’encodage au terrain.
Temps de lecture estimé :
Illustration Edikka d’un master décliné en variantes responsives puis sélectionné dans un navigateur, avec repères de performance, qualité et accessibilité.

Optimiser une image ne consiste pas à viser le fichier le plus petit. La méthode relie la ressource réellement sélectionnée à sa fonction, sa boîte CSS, sa densité d’affichage, sa qualité perceptive, sa preuve réseau et son accessibilité.

  • 12 domaines De la source au suivi terrain.
  • 36 contrôles Identifiants IMGxx et preuves attendues.
  • 4 statuts Non testé n’est jamais conforme.
  • 1 cas réel Défaut Edikka figé, mesuré et corrigé.

Réponse courte

Une image web est optimisée lorsque le navigateur reçoit le plus petit fichier suffisant, sans perdre le sens, la netteté ni la stabilité.

Le poids seul ne suffit pas. Une image de 5 Ko peut être une réussite sur une vignette et un échec sur un écran haute densité. À l’inverse, un fichier plus lourd peut être le bon choix s’il est l’élément LCP, s’affiche en grand et conserve des détails essentiels. La décision relie donc six variables : rôle, dimensions rendues, densité de pixels, format, qualité perceptive et moment de chargement.

Le Web Almanac 2025 observe que les images constituent l’élément LCP sur 85,3 % des pages desktop et 76 % des pages mobile de son échantillon. Son chapitre sur le poids des pages relève environ 1 059 Ko d’images au desktop et 911 Ko au mobile pour la page médiane. Ce sont des repères de contexte, pas des budgets à copier.

12domaines contrôlés
36contrôles rejouables
4statuts contrôlés
0budget universel

Cas réel · Edikka

Cette page ne respectait pas sa propre recommandation : nous avons figé le défaut avant de le corriger.

Le 22 août 2026, l’image principale publique de cet article sélectionnait un AVIF de 600×400 px et 4 794 octets. L’élément HTML ne proposait ni srcset ni sizes, alors que l’image occupait jusqu’à environ 445 px CSS dans la mise en page desktop. Sur un écran à densité 2, la définition utile approchait donc 890 px. Le chargement était correctement priorisé — loading="eager", fetchpriority="high" — mais la ressource sélectionnée pouvait manquer de définition.

Nous avons comparé cet AVIF à son propre master JPEG conservé en 1000×667, redimensionné en 600×400 avec Lanczos pour isoler l’encodage. Le score SSIMULACRA2 obtenu est 62,4404. La nouvelle édition change aussi de direction visuelle : ses dérivés sont donc comparés à un nouveau master PNG 1536×1024, jamais directement à l’ancien visuel. Ces deux séries établissent la fidélité de chaque encodage à sa propre référence ; elles ne constituent pas un test A/B artistique.

État public figé et nouvelle famille AVIF préparée le 22 août 2026
ÉtatCandidat AVIFPoidsSSIMULACRA2Décision
Avant600×4004 794 octets62,4404Non conforme à la politique premium publiée.
Après · compact600×40022 502 octets83,4109Dérivé fidèle à son nouveau master, pour les petites boîtes.
Après · DPR 2900×60041 533 octets81,4102Candidat ciblé pour une boîte de 445 px à densité 2.
Après · plafond1000×66748 660 octets80,6031Définition maximale servie sans exposer le master PNG.
Limite volontaire

Les scores avant/après ne sont pas soustraits, car les masters et la création visuelle diffèrent. Le rejeu de production ci-dessous établit la sélection responsive, l’absence de débordement et des mesures de laboratoire datées ; il ne remplace ni les données terrain au 75e percentile, ni une revue humaine sur l’ensemble des écrans. Edikka est l’auteur de la méthode et le site audité : ce n’est pas un benchmark indépendant.

Consulter l’auto-audit JSON, les hashes et le protocole de mesure.

Preuve de production · 23 août 2026

Huit couples viewport × DPR confirment le choix des candidats responsives, sans débordement horizontal.

Le protocole a été rejoué sur la page publique avec Playwright, de 390 à 1440 px et de DPR 1 à DPR 2. Chaque scénario conserve l’URL finale, le statut HTTP, la boîte CSS, currentSrc, les dimensions naturelles, les octets transférés, le nombre de contrôles visibles et les erreurs de console. Les candidats réellement observés sont les AVIF de 600×400 et 900×600 : le navigateur ne télécharge donc pas systématiquement le plus grand fichier disponible.

Le même état public a été mesuré avec Lighthouse. En laboratoire, le profil mobile obtient 99/100 en performance, 100/100 en accessibilité et un LCP à 1,9 s ; le profil desktop obtient 100/100 en performance et un LCP à 0,4 s. Ces valeurs décrivent un passage daté, sans cache utilisateur ni distribution terrain.

8contextes rejoués
0débordement horizontal
2candidats AVIF observés
0,001CLS mobile mesuré
Sélection réellement observée sur la page publique
ContexteViewportDPRBoîte CSSCandidat choisiOctets
Mobile390×8441354×236600×400 AVIF22 502
Mobile haute densité390×8442354×236900×600 AVIF41 533
Tablette800×9001764×509900×600 AVIF41 533
Desktop haute densité1440×10002445×297900×600 AVIF41 533
Incident documenté

Le rejeu a aussi détecté un jeton expérimental tools=(self) dans l’en-tête Permissions-Policy. Il n’affectait pas la sélection des images ; son retrait est inclus dans la livraison du 23 août. La preuve conserve ce constat au lieu de l’effacer.

Télécharger le rejeu JSON, ses assertions, ses métriques et les commandes de reproduction.

Niveaux de preuve

Un rapport réseau, une mesure terrain et un jugement visuel ne prouvent pas la même chose.

Ce que chaque couche permet réellement d’établir
NiveauÉtablitNe suffit pas à établirExemples
HTML publicAttributs, candidats, dimensions, alternative textuelle et découvrabilité initiale.Le fichier réellement choisi dans chaque contexte.srcset, sizes, alt, width, height.
NavigateurRessource sélectionnée, octets, priorité, rendu, DPR et chronologie réseau.L’expérience de l’ensemble des utilisateurs.currentSrc, Resource Timing, waterfall.
TerrainLCP et CLS au 75e percentile lorsque les données sont disponibles.La cause exacte d’une régression.CrUX, Search Console, RUM.
PipelineDimensions, formats, métadonnées, poids, provenance et non-régression.Le sens éditorial et la qualité artistique.CI, hashes, encodeur, SSIMULACRA2.
Revue humaineLisibilité, cadrage, artefacts gênants et adéquation à la marque.La performance terrain sans instrumentation.Comparaison 1 :1, mobile, écran haute densité.

Méthode Edikka · version 1.1

La grille couvre 12 domaines et 36 contrôles sans produire de score agrégé trompeur.

Chaque contrôle possède un identifiant stable IMGxx, une méthode, une preuve attendue, un accès requis, une sévérité et un niveau d’automatisation. Les statuts sont limités à Non testé, Conforme, Non conforme et Non applicable. Une image décorative sans alternative textuelle pertinente n’est pas « moins bonne » qu’une image informative : elle répond à une autre décision.

Le protocole n’additionne pas les lignes. Un alt vide sur une image fonctionnelle, une image LCP lazy loadée ou un traceur tiers déclenché avant consentement peuvent bloquer une publication même si tous les autres contrôles réussissent.

Les contrôles IMG01 à IMG36, générés depuis le dataset JSON versionné
IDDomaineQuestionMéthodePreuve attendueSévéritéAutomatisation
IMG01Inventaire et rôleChaque image visible est-elle inventoriée avec son URL finale, son gabarit et son rôle ?Extraire les éléments img, picture, SVG et images CSS des gabarits prioritaires ; dédupliquer par URL finale.Inventaire daté avec URL de page, currentSrc, rôle et propriétaire.MajeurPartiel
IMG02Inventaire et rôleLe rôle de chaque image est-il qualifié : LCP, contenu, décor, interface, social ou donnée ?Comparer position, contexte et fonction ; ne pas déduire le rôle du seul nom de fichier.Rôle contrôlé et justification courte pour chaque image prioritaire.MajeurNon
IMG03Inventaire et rôleLes images critiques possèdent-elles un propriétaire et une date de revue ?Relier chaque famille à un responsable éditorial, design ou technique.Propriétaire, dernière revue et prochaine échéance.MineurPartiel
IMG04Master, cadrage et art directionUn master suffisamment défini et non réencodé en chaîne est-il conservé hors production ?Comparer dimensions et hash du master avec les dérivés ; relever les générations successives.Master identifié, hashé et versionné.MajeurPartiel
IMG05Master, cadrage et art directionLe point focal et le cadrage restent-ils lisibles dans chaque gabarit ?Rejouer desktop, tablette et mobile ; contrôler le sujet, le texte intégré et les zones de respiration.Captures aux largeurs de référence et validation humaine.MajeurNon
IMG06Master, cadrage et art directionUne variante d’art direction existe-t-elle lorsque le simple redimensionnement détruit la composition ?Comparer le même cadrage réduit avec une variante dédiée via picture/media.Décision documentée : même cadrage ou variante dédiée.MineurNon
IMG07Dimensions responsivesLes candidats srcset couvrent-ils les largeurs réellement rendues et les écrans haute densité sans surdimensionnement majeur ?À cache froid, relever la largeur CSS rendue et le DPR, identifier currentSrc, puis mesurer directement la largeur en pixels du fichier sélectionné sans utiliser naturalWidth comme largeur encodée. Calculer couverture = largeur du fichier / (largeur CSS × DPR) et comparer ce résultat au seuil versionné du rôle.currentSrc, largeur CSS, DPR, dimensions réelles du fichier sélectionné, méthode de mesure, taux de couverture et seuil applicable.MajeurPartiel
IMG08Dimensions responsivesL’attribut sizes décrit-il la mise en page réelle ?Comparer sizes avec les largeurs calculées du conteneur sur les breakpoints documentés.Valeurs sizes, boîte rendue et ressource choisie.MajeurPartiel
IMG09Dimensions responsivesLe navigateur sélectionne-t-il le plus petit candidat suffisant dans les scénarios testés ?Rejouer viewport, DPR et cache froid ; relever currentSrc et octets transférés.Matrice viewport × DPR × currentSrc × octets.MajeurOui
IMG10Formats et replisLe format correspond-il au type de contenu : photo, transparence, capture, illustration, vectoriel ou animation ?Qualifier le contenu puis comparer au format livré et aux contraintes de fidélité.Type visuel, format principal et justification.MineurPartiel
IMG11Formats et replisChaque source moderne possède-t-elle un repli cohérent lorsque le périmètre de compatibilité l’exige ?Inspecter picture/source/img et tester l’ordre de sélection.Arbre picture et politique de compatibilité versionnée.MajeurOui
IMG12Formats et replisLe type MIME, l’extension et les octets servis sont-ils cohérents ?Comparer Content-Type, URL et signature du fichier.En-tête HTTP et identification binaire.MajeurOui
IMG13Compression et qualité perceptiveLe poids est-il mesuré par candidat et non par nom de fichier ou estimation ?Relever encodedBodySize et transferSize sur cache froid.Octets encodés et transférés par ressource.MajeurOui
IMG14Compression et qualité perceptiveLa qualité perceptive est-elle contrôlée contre un master explicite ?Comparer à taille identique avec SSIMULACRA2 ou métrique documentée, puis revue humaine des zones sensibles.Master, encodeur, version, paramètres, score et captures 1 :1.MajeurPartiel
IMG15Compression et qualité perceptiveLa politique interdit-elle les réencodages successifs à partir d’un dérivé ?Tracer la provenance des fichiers et imposer la génération depuis le master.Graphe de provenance ou règle de pipeline.MajeurPartiel
IMG16Découverte et priorité LCPL’image LCP est-elle découvrable dans le HTML initial sans dépendre d’un script tardif ?Inspecter la réponse HTML avant exécution et la requête initiatrice.HTML initial et initiator de la requête.BloquantOui
IMG17Découverte et priorité LCPL’image LCP évite-t-elle loading=lazy et reçoit-elle une priorité adaptée ?Inspecter loading, fetchpriority, preload et ordre réseau.Attributs et waterfall daté.BloquantOui
IMG18Découverte et priorité LCPLe preload responsive, s’il existe, correspond-il au srcset et au sizes rendus ?Comparer imagesrcset/imagesizes du preload aux candidats de l’image.Lien preload et élément image cohérents, sans double téléchargement.MajeurOui
IMG19Chargement et décodageLes images hors écran utilisent-elles le lazy loading sans créer de trou visuel ?Contrôler loading, distance au viewport et instant de requête lors du défilement.Attribut, position et chronologie réseau.MineurPartiel
IMG20Chargement et décodageLe mode de décodage est-il cohérent avec la criticité et testé sur le rendu réel ?Relever decoding et vérifier l’impact visuel ; ne pas présenter async ou sync comme une règle universelle.Attribut et observation du rendu.InformationPartiel
IMG21Chargement et décodageLes carrousels, galeries et images injectées réservent-ils leur espace avant le chargement ?Rejouer cache froid et interactions ; observer les changements de mise en page.Trace CLS et capture du composant.MajeurPartiel
IMG22Dimensions et stabilitéWidth et height décrivent-ils le ratio intrinsèque du candidat ou du fallback de référence ?Comparer attributs, dimensions décodées et ratio rendu.Dimensions HTML, naturelles et ratio calculé.MajeurOui
IMG23Dimensions et stabilitéL’espace est-il réservé avant le téléchargement sur tous les breakpoints ?Désactiver le cache, ralentir le réseau et observer la boîte avant décodage.Capture avant chargement et CLS de laboratoire.MajeurPartiel
IMG24Dimensions et stabilitéLe recadrage CSS conserve-t-il un ratio et un point focal explicites ?Inspecter aspect-ratio, object-fit, object-position et dimensions du conteneur.Styles calculés et captures par breakpoint.MineurPartiel
IMG25Accessibilité et sensChaque image informative possède-t-elle une alternative textuelle qui transmet sa fonction dans le contexte ?Appliquer l’arbre de décision W3C ; comparer alt, texte adjacent et fonction.Décision informative, fonctionnelle, complexe ou décorative.BloquantNon
IMG26Accessibilité et sensLes images décoratives sont-elles ignorées par les technologies d’assistance ?Contrôler alt vide ou technique équivalente sans dupliquer le contexte.DOM accessible et lecture au lecteur d’écran.MajeurPartiel
IMG27Accessibilité et sensLes graphiques, schémas et captures complexes disposent-ils d’une description ou de données équivalentes ?Vérifier figcaption, description longue, tableau de données ou texte adjacent.Alternative complète accessible depuis le même contexte.MajeurNon
IMG28SEO image et découvrabilitéLes images importantes sont-elles présentes dans un élément img src, éventuellement à l’intérieur de picture ?Comparer images visibles, HTML et ressources CSS.URL découvrable dans le HTML et contexte éditorial.MajeurOui
IMG29SEO image et découvrabilitéNom, alt, légende et texte adjacent décrivent-ils le même sujet sans bourrage de mots-clés ?Revue sémantique croisée du fichier, de l’alternative et du paragraphe.Concordance documentée et absence de répétition artificielle.MineurNon
IMG30SEO image et découvrabilitéLe CDN, le sitemap image et les données structurées utilisent-ils des URL accessibles et cohérentes ?Vérifier statut, canonique d’image, propriété Search Console si domaine distinct, sitemap et primaryImageOfPage.URL finale, statut, propriété vérifiée et nœud ImageObject cohérent.MajeurPartiel
IMG31HTTP, cache et confidentialitéLes images publiques utilisent-elles une politique de cache compatible avec leur versionnement ?Inspecter Cache-Control, ETag, Age et nommage immuable.En-têtes HTTP et règle d’invalidation.MajeurOui
IMG32HTTP, cache et confidentialitéLes métadonnées sensibles ou inutiles sont-elles retirées des dérivés ?Inspecter EXIF, XMP, profils et coordonnées ; conserver seulement ce qui est nécessaire.Rapport de métadonnées avant/après.MajeurOui
IMG33HTTP, cache et confidentialitéLes images tierces respectent-elles consentement, CSP, CORS et politique de referrer attendus ?Rejouer avant/après consentement et inspecter origine, cookies, CSP et referrer.Waterfall, en-têtes et décision juridique/technique.BloquantPartiel
IMG34Mesure, CI et gouvernanceLes budgets de dimensions, poids et qualité sont-ils versionnés par type d’image ?Définir des plafonds par gabarit et des planchers de qualité perceptive comme garde-fous, non comme vérité universelle.Fichier de configuration versionné et exception justifiée.MajeurOui
IMG35Mesure, CI et gouvernanceLa CI échoue-t-elle sur les régressions bloquantes et publie-t-elle les preuves ?Rejouer dimensions, formats, métadonnées, poids, candidats et liens ; archiver le rapport.Commande, code de sortie, rapport horodaté et propriétaire.MajeurOui
IMG36Mesure, CI et gouvernanceLes données terrain, laboratoire et perceptives restent-elles séparées dans la décision ?Reporter LCP/CLS terrain, diagnostic lab et revue visuelle dans trois colonnes distinctes.Tableau de décision sans score agrégé trompeur.MajeurPartiel

IMG07–IMG09

La bonne largeur dépend de la boîte CSS et du DPR, pas de la largeur du téléphone.

Une première approximation utile est : largeur du fichier nécessaire ≈ largeur rendue × DPR. Une image affichée à 445 px sur un écran 2× appelle environ 890 px. Ce calcul ne constitue pas un ordre absolu : la texture, le niveau de zoom, le format et la qualité modifient la perception. Il évite néanmoins deux erreurs opposées : servir 2000 px à une vignette de 240 px, ou 600 px à une héroïne de 445 px sur écran Retina.

Dans un descripteur en largeur, chaque valeur de srcset doit décrire la largeur réelle du fichier. sizes décrit ensuite l’espace que l’image occupe dans la mise en page. Le navigateur combine viewport, DPR et candidats pour choisir une ressource ; il peut conserver un candidat déjà en cache.

HTML · image responsive, repli et dimensions stables
<picture>
  <source
    type="image/avif"
    srcset="visuel-600.avif 600w, visuel-900.avif 900w, visuel-1000.avif 1000w"
    sizes="(max-width: 767px) calc(100vw - 48px), 445px">
  <source
    type="image/webp"
    srcset="visuel-600.webp 600w, visuel-900.webp 900w, visuel-1000.webp 1000w"
    sizes="(max-width: 767px) calc(100vw - 48px), 445px">
  <img
    src="visuel-1000.jpg"
    srcset="visuel-600.jpg 600w, visuel-1000.jpg 1000w"
    sizes="(max-width: 767px) calc(100vw - 48px), 445px"
    width="1000" height="667"
    alt="Description utile dans ce contexte"
    loading="eager" fetchpriority="high" decoding="sync">
</picture>
Correction méthodologique · v1.1

La version 1.0 comparait naturalWidth à la boîte CSS multipliée par le DPR. Or HTML définit naturalWidth comme une dimension corrigée par la densité : elle ne révèle pas nécessairement les pixels encodés du fichier sélectionné. IMG07 mesure désormais le fichier pointé par currentSrc indépendamment, calcule largeur_fichier / (largeur_CSS × DPR) et conserve le seuil dans une politique versionnée par rôle. L’automatisation passe de « Oui » à « Partiel » : la mesure est automatique, la décision dépend du seuil déclaré.

Test rejouable

Pour chaque breakpoint critique, relever innerWidth, DPR, largeur CSS, currentSrc, pixels réels du fichier sélectionné, méthode de mesure, taux de couverture et octets encodés. Une capture seule ne prouve pas la ressource choisie.

IMG10–IMG12

AVIF, WebP, JPEG, PNG et SVG répondent à des contenus et à des chaînes de production différents.

Matrice de décision par type de visuel
FormatBon candidatVigilanceRepli
AVIFPhotos, compositions riches, besoin de poids réduit.Temps d’encodage, réglages, artefacts sur détails et texte intégré.WebP ou JPEG selon le support visé.
WebPPhotos, captures et transparence avec chaîne largement maîtrisée.Ne pas déduire la qualité du seul suffixe.JPEG ou PNG lorsque nécessaire.
JPEGPhoto de repli, pipeline historique, compatibilité large.Pas de transparence ; pertes cumulées lors des réencodages.Il est souvent lui-même le repli.
PNGTransparence, pixels nets, captures lorsque la perte est inacceptable.Poids élevé pour la photographie.WebP lossless ou AVIF selon validation.
SVGLogos, icônes, diagrammes vectoriels et formes simples.Scripts, références externes, texte non converti, complexité du DOM.Raster seulement si le contexte l’exige.

Le bon protocole énonce sa politique de compatibilité. Un AVIF nu peut être acceptable sur un périmètre maîtrisé ; un guide destiné à des navigateurs hétérogènes peut exiger picture et repli. L’incohérence consiste à changer de politique d’une image à l’autre sans décision documentée.

IMG13–IMG15

Un seuil de poids sans référence perceptive pousse mécaniquement à surcompresser.

PSNR, SSIM, SSIMULACRA2 ou Butteraugli peuvent aider à comparer des variantes, mais aucune métrique ne remplace le cadrage, le sens ni la validation de zones sensibles. Un protocole publiable indique au minimum le master, la mise à l’échelle, l’encodeur et sa version, les paramètres, le score, le poids et les limites de lecture.

Le score de cette page a été calculé à taille identique. Comparer directement un dérivé à un master d’une autre taille aurait mélangé l’effet du redimensionnement et celui de l’encodage. Chaque variante est donc comparée à une référence PNG issue de son propre master, redimensionnée avec Lanczos aux mêmes dimensions. Le changement de création entre l’ancienne et la nouvelle édition interdit toute comparaison directe des deux scores.

Terminal · protocole minimal SSIMULACRA2
# 1. Décoder le master et la variante à la même taille.
ffmpeg -i master.jpg -vf scale=600:400:flags=lanczos reference.png
ffmpeg -i candidat.avif candidat.png

# 2. Mesurer, puis conserver version, paramètres, poids et hash.
ssimulacra2 reference.png candidat.png
wc -c candidat.avif
shasum -a 256 master.jpg candidat.avif
Règle premium

On ne valide pas « AVIF qualité 65 » pour tout un site. On valide une recette par famille — photo, capture, texture, illustration — puis on impose une revue humaine aux exceptions à forte valeur de marque.

IMG16–IMG18

L’image LCP doit être découverte tôt, priorisée sans ambiguïté et préchargée seulement lorsque le cas le justifie.

Google et web.dev insistent sur trois leviers : rendre la ressource découvrable depuis le HTML initial, éviter le lazy loading pour l’élément LCP et augmenter sa priorité avec discernement. Un preload peut aider lorsque l’image est découverte tardivement — image CSS, composant ou rendu particulier — mais un preload redondant peut consommer de la bande passante et provoquer un double téléchargement si ses candidats ne correspondent pas.

Une image de premier écran n’est pas automatiquement le LCP de tous les utilisateurs. Le LCP peut varier selon viewport, consentement, contenu et cache. Le contrôle terrain observe la distribution ; le laboratoire sert à identifier la chaîne de découverte et la ressource réellement choisie.

HTML · preload responsive cohérent avec l’image
<link rel="preload" as="image"
  href="visuel-1000.jpg"
  imagesrcset="visuel-600.avif 600w, visuel-900.avif 900w, visuel-1000.avif 1000w"
  imagesizes="(max-width: 767px) calc(100vw - 48px), 445px"
  type="image/avif"
  fetchpriority="high">

Tester le résultat dans les navigateurs réellement supportés : le comportement de preload responsive et la sélection des sources dépendent du support. L’absence de double requête fait partie de la preuve.

IMG19–IMG24

Lazy loading, décodage et dimensions explicites répondent à trois problèmes différents.

Choisir l’outil selon le problème
MécanismeButPreuveErreur fréquente
loading="lazy"Différer une image hors écran.Instant de requête et position par rapport au viewport.L’appliquer à l’image LCP.
decodingDonner une préférence de décodage.Rendu observé et absence d’effet indésirable.Présenter async comme une règle universelle.
width + heightFournir un ratio intrinsèque et réserver l’espace.Boîte avant chargement et CLS.Utiliser un ratio qui ne correspond pas aux candidats.
aspect-ratioStabiliser un conteneur ou un cadrage CSS.Styles calculés par breakpoint.Masquer une divergence de ratio non décidée.

IMG25–IMG27

Le texte alternatif dépend de la fonction de l’image dans cette page, pas du fichier.

L’arbre de décision du W3C distingue notamment images informatives, fonctionnelles, complexes, textuelles et décoratives. Une même photo peut nécessiter une alternative sur une page produit et un alt="" dans une composition purement décorative. Répéter la légende ou le paragraphe voisin dans alt alourdit l’expérience sans ajouter d’information.

Une capture d’écran ou un graphique complexe ne devient pas accessible grâce à une phrase vague. Il faut transmettre l’information utile dans le texte adjacent, une légende, une description longue ou un tableau de données. L’automatisation peut repérer un attribut manquant ; elle ne peut pas décider seule si l’alternative est pertinente.

Décision d’alternative textuelle
FonctionTraitementContrôle humain
InformativeDécrire l’information nécessaire dans le contexte.La même information est-elle disponible sans voir l’image ?
FonctionnelleNommer l’action ou la destination, pas l’apparence.Le contrôle garde-t-il un nom accessible exact ?
ComplexeRésumé court + description ou données équivalentes.Les conclusions et valeurs sont-elles accessibles ?
Décorativealt="" ou image CSS selon le cas.La suppression de l’image ne retire-t-elle aucun sens ?

IMG28–IMG30

Google doit pouvoir découvrir l’image, comprendre son contexte et accéder à l’URL réellement servie.

La documentation Google recommande des images de qualité placées près d’un texte pertinent, des noms et alternatives descriptifs, ainsi que des URL accessibles. Google découvre les images référencées par <img src>, y compris à l’intérieur de <picture>, mais pas les images uniquement déclarées en arrière-plan CSS pour Google Images.

Un sitemap image peut révéler des URL difficiles à découvrir. Si les images sont servies depuis un CDN ou un autre domaine, Google recommande de vérifier ce domaine dans Search Console. Les données structurées peuvent relier primaryImageOfPage, ImageObject, licence et créateur lorsque ces informations existent réellement ; elles ne compensent ni un fichier bloqué ni un contexte éditorial faible.

IMG31–IMG36

Le pipeline doit produire les variantes, retirer les métadonnées sensibles et refuser les régressions.

Une ressource nommée par contenu — hash ou version immuable — peut recevoir une durée de cache longue. Une URL stable remplacée en place exige une stratégie d’invalidation différente. Le contrôle relève Cache-Control, ETag, Age, négociation éventuelle et comportement du CDN au lieu de supposer qu’un cache « actif » est correct.

Les dérivés publics ne devraient pas conserver par défaut coordonnées GPS, informations d’appareil ou métadonnées éditoriales inutiles. Le pipeline documente ce qui est retiré et ce qui est conservé — profil colorimétrique compris — puis génère toutes les variantes depuis un master, jamais depuis un WebP ou AVIF déjà dégradé.

CI · contrôles minimaux à rendre bloquants
# Le script doit échouer si une règle bloquante échoue :
# - candidat absent ou largeur déclarée fausse ;
# - format / MIME incohérent ;
# - image LCP lazy loadée ;
# - métadonnée sensible conservée ;
# - poids ou qualité hors budget sans exception versionnée ;
# - alternative obligatoire absente ;
# - URL d’image critique en erreur.

./bin/audit-images --config image-policy.json --report report.json

Le collecteur Edikka v1.1 distribué avec cette édition parcourt le document pour déclencher le chargement différé natif, puis produit les preuves publiques et navigateur : currentSrc, pixels décodés du fichier sélectionné, boîte CSS, DPR, couverture, temps de transfert, en-têtes et incidents de console. Il ne signe volontairement ni le cadrage humain, ni Search Console, ni les journaux serveur, ni la qualité perceptive. La grille reste la source de décision ; le collecteur ne fabrique pas un score avec des preuves incomplètes.

État de l’art · août 2026

Compatibilité, cache et fidélité doivent être décidés à partir d’un état daté, pas d’un classement permanent des formats.

Sept décisions 2026 séparant spécification, disponibilité et politique Edikka
SujetÉtat vérifiableDécision de productionPreuve attendue
sizes="auto"La spécification HTML l’autorise pour les images chargées paresseusement et permet une liste de tailles de repli.L’utiliser seulement si la taille intrinsèque du lazy loading est maîtrisée ; conserver des tailles explicites pour une image LCP chargée immédiatement.currentSrc et largeur rendue sur les viewports cibles.
JPEG XLChrome 145 documente un décodeur Blink accessible dans un cadre expérimental, derrière essai d’origine ou drapeaux.Ne pas en faire le socle universel de cette édition. Tester sur un périmètre borné avec un repli réellement servi.Matrice de compatibilité datée, négociation et waterfall.
Client HintsLes propositions Sec-CH-Width et Sec-CH-DPR restent un mécanisme d’incubation soumis à HTTPS, opt-in, cache et confidentialité.Les traiter comme une optimisation progressive : aucune image essentielle ne doit dépendre de leur présence.Accept-CH, requêtes reçues, clé de cache et repli sans hints.
Vary: AcceptUne même URL négociant plusieurs formats doit empêcher le partage d’une mauvaise variante entre clients.Vérifier la clé de cache du CDN. Préférer des URL de variantes explicites lorsque la négociation ne peut pas être auditée de bout en bout.En-têtes origine/edge, HIT/MISS et réponses pour plusieurs valeurs d’Accept.
Réglages d’encodageUn nombre de « qualité » n’a pas la même signification entre codecs, encodeurs et versions.Versionner codec, encodeur, version, effort, sous-échantillonnage et paramètres ; comparer les fichiers produits, pas les curseurs.Commande ou configuration, hash, octets, métrique choisie et revue 1 :1.
Gestion colorimétriqueCSS Color 4 décrit des espaces étendus, mais le rendu dépend aussi du fichier, de son profil, du navigateur et de l’écran.Conserver un profil nécessaire à la fidélité, documenter sRGB ou P3 et tester les dérivés ; ne pas supprimer les profils par réflexe.Profil du master et des dérivés, captures sur écrans maîtrisés et delta observé.
RGESNLes critères 5.1, 5.2 et 6.4 couvrent notamment formats adaptés, compression et adaptation aux tailles d’affichage.Raccorder ces critères aux contrôles IMGxx sans présenter l’article ou une page isolée comme une conformité RGESN globale.Correspondance critère → contrôle → résultat → justificatif.
Règle de péremption

Chaque décision dépendante d’un navigateur, d’un CDN ou d’un encodeur porte une date de revue. Une nouveauté n’entre dans le socle qu’après preuve de disponibilité, de repli et de comportement en production.

Instrument ouvert · citation · historique

La méthode devient réutilisable lorsqu’un tiers peut collecter les mêmes faits, valider leur structure et citer une édition stable.

Collecte publique · Node.js 20+ et Playwright
npm install playwright
npx playwright install chromium
node collect-image-evidence-edikka-v1-1.mjs \
  https://exemple.fr/page rapport-images.json

Le rapport produit respecte un schéma JSON public. Son statut initial reste Non testé : collecter une valeur ne suffit pas à conclure. L’auditeur relie ensuite chaque observation à un identifiant IMGxx, ajoute les accès non publics nécessaires et signe la décision.

Référence recommandée : Morel, Bertrand (2026). « Optimisation des images web : protocole vérifiable, grille de 36 contrôles et collecteur de preuves ». Edikka, version 1.1, 23 août 2026, CC BY 4.0. Le fichier CITATION.cff fournit les champs structurés. Aucun DOI n’est attribué à cette édition : l’URL canonique, la version et la date sont les clés de citation publiées.

Historique public sans changement silencieux des identifiants IMGxx
ÉditionAjoutsCompatibilité
v1.0 · 22 août 202612 domaines, 36 contrôles, grille XLSX/JSON et auto-audit avant/après.Édition fondatrice.
v1.1 · 23 août 2026Correction d’IMG07, mesure indépendante des pixels du fichier sélectionné, collecteur et schéma v1.1, parité anglaise et huit contextes de production historiques.Identifiants IMG01–IMG36 et vocabulaire de décision inchangés ; le rejeu du 23 août reste une preuve historique v1.0 et n’est pas présenté comme une validation d’IMG07 v1.1.

Workflow de production

La recette la plus robuste part du rôle de l’image et se termine par une preuve en production.

  1. Qualifier le rôle. LCP, contenu, décor, interface, social ou donnée.
  2. Conserver le master. Fichier source, droits, provenance, point focal et hash.
  3. Définir les boîtes réelles. Largeur CSS, breakpoints et DPR utiles.
  4. Décider l’art direction. Même cadrage ou variante mobile dédiée.
  5. Encoder plusieurs candidats. Formats, largeurs et replis documentés.
  6. Mesurer. Octets, SSIMULACRA2 ou métrique choisie, revue 1 :1.
  7. Intégrer. picture, srcset, sizes, dimensions, priorité, alt et légende.
  8. Rejouer en production. currentSrc, waterfall, LCP/CLS, accessibilité, cache et Search Console.

Décisions sans faux absolus

Le format moderne, le score parfait et le poids minimal ne remplacent pas une décision contextualisée.

Formulations à remplacer dans un protocole sérieux
AffirmationPourquoi elle échoueFormulation contrôlable
« Toutes les images sous 100 Ko »Ignore rôle, dimensions, contenu et qualité.Budget par famille et gabarit, avec exception documentée.
« AVIF est toujours meilleur »Le résultat dépend de l’encodeur, des réglages et du visuel.Comparer des variantes réelles à taille et qualité validées.
« Lazy loader toutes les images »Retarde l’image LCP et parfois le premier écran.Lazy uniquement hors écran ; LCP découvrable et priorisée.
« Un alt contient le mot-clé »Confond accessibilité, contexte et optimisation artificielle.Décrire la fonction ou l’information utile dans ce contexte.
« Lighthouse 100 prouve la performance »Un test lab ne décrit pas toute la distribution terrain.Lab pour diagnostiquer, terrain pour observer, pipeline pour prévenir.
« Le score perceptif prouve la qualité »Il ne juge ni composition, sens, marque ni accessibilité.Métrique documentée + revue humaine ciblée.

Ressources ouvertes

Télécharger la grille, vérifier les données et réutiliser la méthode.

Licence

La grille, les datasets, le Markdown, le collecteur, son schéma et les métadonnées de citation sont publiés sous CC BY 4.0. Réutilisation autorisée avec attribution à Edikka et lien vers cet article.

Sources primaires et référentiels

Sources revérifiées le 23 août 2026.

Vision Edikka

Une image premium n’est ni la plus légère ni la plus définie. C’est la plus juste pour son rôle et son contexte.

La performance doit réduire les octets inutiles sans dégrader le sens, le cadrage, la netteté, l’accessibilité ni la stabilité. Chaque compromis doit rester visible et rejouable.

01Mesurer

Observer le candidat réel

Le nom du fichier ne suffit pas. currentSrc, les pixels décodés du fichier sélectionné, la boîte CSS, le DPR, les octets et la chronologie réseau décrivent ce que le navigateur a réellement utilisé.

02Préserver

Comparer au master

Une métrique perceptive documente l’encodage. Une revue humaine protège les visages, textures, textes, cadrages et détails qui portent la marque.

03Décider

Refuser le score unique

Poids, LCP, CLS, accessibilité et qualité perceptive restent des dimensions distinctes. Un bon chiffre ne compense pas une rupture bloquante.

FAQ article

Pour aller plus loin sur ce sujet

Des réponses complémentaires pour clarifier les points essentiels abordés dans cet article.

10 questions sélectionnées Voir toutes les FAQ

Le web, pensé pour performer

Stratégie. Design. Code. SEO. IA. Des expériences digitales plus claires, plus rapides et plus convaincantes.

Articles voisins pour poursuivre l’analyse