Tout ce que tu dois savoir sur la balise `<img>` en HTML

Publié le 17/02/2025

Catégorie : Développement web
Tout ce que tu dois savoir sur la balise `<img>` en HTML

Ah, la balise `<img>` !

Si tu fais du HTML, tu l’as forcément croisée. C’est elle qui permet d’afficher des images sur une page web. Simple en apparence, mais si tu veux vraiment bien l’utiliser, il y a pas mal de trucs à savoir. Alors, installe-toi confortablement : on va tout décortiquer ensemble, sans jargon inutile mais avec un max d’infos utiles.

Prêt ? C’est parti !

C’est quoi exactement la balise <img> ?

La balise `<img>`, c’est un peu comme le cadre photo de ton site web. Tu lui dis où trouver l’image (avec l’attribut `src`), et elle s’occupe de l’afficher. Mais contrairement à d’autres balises HTML, elle est auto-fermante : pas besoin de faire un truc comme `<img></img>`.

Une seule ligne suffit.

Exemple basique :

<img src="image.jpg" alt="Description de l'image">

- src : C’est le chemin vers ton image. Ça peut être un fichier local ou une URL.

- alt : C’est le texte alternatif qui s’affiche si l’image ne charge pas (ou pour les lecteurs d’écran). Hyper important pour l’accessibilité et le SEO

Les attributs clés pour maîtriser la balise <img>

Alors oui, avec juste `src` et `alt`, ça fonctionne. Mais si tu veux vraiment optimiser ton site (et éviter les galères), il y a plein d’autres attributs super utiles :

ATTRIBUT

A quoi ça sert ?

src

Indique où trouver ton image (obligatoire)

alt

Fournit une description alternative (essentiel pour l’accessibilité)

width

Définit la largeur de l’image (en pixels ou %)

height

Définit la hauteur de l’image (en pixels ou %)

loading

Permet de différer le chargement des images avec `lazy`.

srcset

Fournit plusieurs versions d’une image selon les résolutions d’écran.

sizes

Spécifie comment afficher l’image selon la largeur de l’écran (viewport)

Exemple avec plusieurs attributs :

<img 
     src="image.jpg" 
     alt="Une belle image"
     width="600" height="400" 
     loading="lazy"
>

Ici, on a une image qui :

- mesure 600x400 pixels,

- se charge uniquement quand elle est visible à l’écran grâce à `loading="lazy"`,

- et qui a une description alternative pour les cas où elle ne s’affiche pas.

Les bonnes pratiques pour utiliser <img> comme un pro

Ok, maintenant qu’on a vu les bases, passons aux choses sérieuses. Si tu veux que tes images soient belles, rapides à charger et accessibles à tous, voici quelques astuces indispensables.

1. Optimise tes images avant de les mettre en ligne

- Utilise des formats modernes comme WebP ou AVIF. Ces formats sont plus légers que JPG ou PNG tout en gardant une super qualité.

- Comprime tes fichiers avec des outils comme TinyPNG ou Squoosh. Une image trop lourde = un site lent.

2. Charge tes images intelligemment

Avec l’attribut `loading`, tu peux différer le chargement des images qui ne sont pas visibles tout de suite sur la page. Résultat : ton site est plus rapide à charger.

Exemple :

<img src="image.jpg" alt="Description" loading="lazy">

3. Adapte tes images aux écrans modernes

Aujourd’hui, entre les mobiles, les écrans Retina et les écrans géants, il faut être prêt à tout. Avec `srcset`, tu peux fournir plusieurs versions d’une image et laisser le navigateur choisir celle qui convient le mieux.

Exemple avec `srcset` :

<img 
     src="petite-image.jpg" 
     srcset="grande-image.jpg 1024w, moyenne-image.jpg 640w" 
     sizes="(max-width: 768px) 100vw, 50vw" 
     alt="Image responsive"
>

- Ici, si l’écran fait moins de 768px de large, on affiche une version adaptée.

- Résultat : moins de données téléchargées sur mobile = tout le monde est content.

4. Pense accessibilité

Tout le monde n’a pas une vision parfaite ou une connexion rapide. Ton attribut `alt`, c’est leur meilleur ami :

- Décris ce que montre l’image.

- Si c’est purement décoratif (genre un motif), laisse `alt=""`.

5. Anticipe le rendu visuel

Définis toujours les dimensions (`width`, `height`) dans ta balise `<img>`. Ça permet au navigateur de réserver un espace pour l’image pendant qu’elle charge et évite ce qu’on appelle le *layout shift* (le contenu qui saute partout).

Accessibilité et SEO : pourquoi c’est important

Accessibilité

Imagine quelqu’un qui utilise un lecteur d’écran parce qu’il ne peut pas voir les images. Si ton attribut `alt` est bien rempli, il saura ce que montre ton image sans problème.

Pour des images complexes (graphes, schémas), ajoute une légende avec `<figcaption>` :

<figure>
     <img src="graphique.jpg" alt="Graphique des ventes">
     <figcaption>Évolution des ventes sur 2023.</figcaption>
</figure>

SEO

Les moteurs de recherche adorent quand tes images sont bien décrites :

- Ton attribut `alt` doit contenir des mots-clés pertinents.

- Nomme tes fichiers correctement : *chat-noir.jpg* est bien mieux que *IMG12345.jpg*.

Exemple complet et optimisé

Pour finir en beauté, voici un exemple combinant toutes ces bonnes pratiques :

<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Exemple Image Optimisée</title>
</head>
<body>
    <figure>
        <img src="images/plage-small.jpg"
             srcset="images/plage-large.jpg 1200w, images/plage-medium.jpg 800w"
             sizes="(max-width: 768px) 100vw, 50vw"
             alt="Coucher de soleil sur une plage"
             width="800"
             height="600"
             loading="lazy">
        <figcaption>Un magnifique coucher de soleil sur une plage tropicale.</figcaption>
    </figure>
</body>
</html>

Les erreurs classiques à éviter

1. Oublier l’attribut `alt`. Sérieusement, ne fais pas ça.

2. Charger des images énormes sans compression.

3. Ignorer les dimensions (`width`, `height`) et provoquer des décalages visuels moches.

4. Ne pas utiliser `srcset`, surtout si ton site est consulté sur mobile.

Voilà ! Maintenant tu sais tout sur la balise `<img>`.

Elle peut sembler basique au premier abord, mais bien utilisée, elle fait toute la différence entre un site moyen et un site pro. Alors prends soin de tes images : elles méritent autant d’amour que ton code ! 😉

Rejoindre la newsletter

Recevez une fois par semaine les informations du numérique et du développement web en un seul courriel.
Je comprends et j’accepte en m’inscrivant à cette lettre d’informations que mon adresse email sera utilisée à des fins informatives et marketing de la part de anthowd et des partenaires Solidevs.