Le langage HTML/Images
Une image est insérée avec la balise img
en spécifiant avec l'attribut src
(source) le chemin de l'image à inclure (sous la forme d'une adresse réticulaire, URL) et avec l'attribut alt
l'éventuel texte de remplacement de l'image :
- HTML5/HTML
<img src="mon_image.png" alt="texte si l'image n'est pas affichée">
- XHTML
<img src="mon_image.png" alt="texte si l'image n'est pas affichée" />
Par la suite, nous considérerons du HTML. Pour du XHTML, ajoutez simplement la barre de fraction avant la fermeture de la balise.
La balise img
peut avoir divers attributs facultatifs. Seuls les attributs src
et alt
sont obligatoires.
align
: alignement de l'image (peut prendre les valeurstop
,bottom
,middle
,left
ouright
) ;alt
: texte de remplacement (affiché si le navigateur ne peut afficher l'image) ; cet attribut est obligatoire, il permet notamment à un malvoyant de comprendre l'image qu'il ne peut voir (son logiciel lit le texte à voix haute ou le transforme en braille) ;title
: titre de l'image (s'affiche en info bulle dans le navigateur) ;border
: largeur de la bordure de l'image (valeur exprimée en pixels) ;height
: hauteur de l'image (si aucune valeur spécifiée, l'image garde sa hauteur normale) ;width
: largeur de l'image (si aucune valeur spécifiée, l'image garde sa largeur normale).
L'attribut src
modifier
L'attribut src
contient donc l'adresse à laquelle on va chercher l'image (voir le chapitre Liens). On peut utiliser une adresse absolue ou relative.
Il faut cependant proscrire l'inclusion des objets (images, sons, vidéo) situés sur d'autres sites, ce que l'on appelle des « liens à chaud » (hot links). En effet, cela génère du trafic sur le serveur cible au lieu de son propre serveur, ce que le serveur cible peut considérer comme du « vol de bande passante ». Par ailleurs, le fait que l'on utilise l'objet original n'implique pas un respect du droit d'auteur : certes on n'a pas fait de copie de l'objet, mais on utilise l'objet, et cela doit se faire avec l'accord de l'auteur et/ou de ses ayants droit.
Donc, si par exemple notre page web est http://www.monsite.com/mapage.html
et que l'on veut inclure l'image http://www.autresite.com/images/img1.png
, les deux solutions acceptables sont :
- demander l'autorisation au webmestre du site
http://www.autresite.com/
, importer l'image sur son propre site et l'exploiter en local, en affichant l'origine de l'image et les conditions d'utilisation imposées par le site d'origine ;
- par exemple, si l'on place l'image en
http://www.monsite.com/image/img1.png
, on peut écrire
<img src="/image/img1.png" … > <br>
Reproduit avec l'aimable autorisation de
<a href="http://www.autresite.com/">Autresite.com</a>,
tous droits réservés
- ne pas inclure l'image mais faire le lien vers cette image, ou mieux vers la page Web contenant cette image ; par exemple
Voir l'illustration sur l'article dédié
du site <a href="http://www.autresite.com/lapage.html">Autresite.com</a>
L'attribut alt
modifier
Il est nécessaire de donner, pour chaque image, un texte de remplacement pour les navigateurs ne supportant pas l'affichage d'images ou pour des raisons d'accessibilité des pages web (cf normes W3C). Le texte de remplacement est spécifié par l'attribut alt
:
<img src="bienvenue.png" alt="Bienvenue !" >
Lorsqu'une image ne véhicule pas d'information, ce texte doit être vide (n'oubliez pas que le alt
est lu ou rendu en braille pour un malvoyant), l'attribut est alors présent sous la forme :
<img src="image_decorative.png" alt="" >
- Note
- Microsoft Internet Explorer affiche le texte alternatif dans une info-bulle ; ce comportement est erroné puisque c'est normalement le titre (voir ci-dessous) qui est affiché en info-bulle.
L'attribut title
modifier
Il est possible d'attribuer un titre à chaque image en plus de l'information alternative (alt). L'attribut title
doit contenir une information optionnelle sur l'image, ou reproduire l'attribut alt
:
Les navigateurs affichent cette information dans une infobulle (tooltip en anglais) :
<img src="renard.png" alt="Renard en promenade" title="Renard en promenade" >
- Remarque
- Les attributs
alt
ettitle
peuvent être cumulés.
Les attributs height
et width
modifier
Si l'on omet ces attributs, l'image s'affiche en grandeur réelle (pixel pour pixel).
Si l'on indique une des dimensions (la largeur ou la hauteur), l'autre dimension est calculée pour que l'image s'affiche avec ses proportions originales.
Le fait d'indiquer les deux dimensions peut faciliter l'affichage : les images sont chargées après le texte, le navigateur peut ainsi réserver la place nécessaire, sinon, il doit décaler le texte au fur et à mesure que les images sont chargées. Il peut donc être intéressant d'indiquer les dimensions même si l'on utilise les dimensions originales de l'image. Cependant, l'auteur doit bien s'assurer que les proportions (rapport largeur/hauteur) sont respectées, sous peine que l'image s'affiche déformée.
Image contenant des liens
modifierUne image elle-même peut être à l'intérieur d'une balise <a>…</a>
: on peut alors cliquer sur l'image pour accéder à la ressource désignée. Par exemple :
<a href="http://fr.wikibooks.org">
<img src="https://upload.wikimedia.org/wikipedia/commons/d/df/Wikibooks-logo-en-noslogan.svg" alt="Wikibooks" />
</a>
- Pour plus de détails voir : Le langage HTML/Liens.
L'image peut également être découpée en zones cliquables menant vers des ressources différentes. Pour cela :
- la balise
<img>
doit contenir un attributusemap
dont la valeur rst un nom, le nom de la carte définissant les zones ; - la carte est définie par une balise
<map>…<map>
qui contient des zones ; chaque zone est définie par une balise<area />
.
Par exemple :
<img src="image.png" alt="Carte du site" usemap="#nomdelacarte" />
<map name="nomdelacarte">
<area shape="rect" coords="9,372,66,397" href="http://fr.wikipedia.org/" alt="Wikipédia" title="Wikipédia" >
</map>
Les attributs de la balise <area />
sont :
shape
: définit la forme de la zone, ses valeurs peuvent être"rect"
pour un rectangle,"poly"
pour un polygone et"circle"
pour un disque ;coords
: définit les coordonnées décrivant la zone, séparées par des virgules :- pour un rectangle, il s'agit des coordonnées des coins en bas à gauche et en haut à droite, sous la forme
"x1, y1, x2, y2"
, - pour un polygone, il s'agit de la liste des coordonnées des points, sous la forme
"x1, y1, x2, y2, …, xn, yn"
, - pour un disquee, il s'agit des coordonnées du centre et du rayon, sous la forme
"xc, yc, r"
;
- pour un rectangle, il s'agit des coordonnées des coins en bas à gauche et en haut à droite, sous la forme
- les attributs classiques d'un lien : essentiellement
href
etalt
Image SVG
modifierLe SVG étant du XML, comme le XHTML, il est possible de définir une image SVG directement à l'intérieur du code HTML. Par exemple :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title> Rectangle noir </title>
</head>
<body>
<p>Voici un rectangle noir :</p>
<svg width="3cm" height="2cm" version="1.1"
xmlns="http://www.w3.org/2000/svg">
<rect
x="0.5cm" y="0.5cm" width="2cm" height="1cm"
/>
</svg>
</body>
</html>
- Pour plus de détails voir : Découvrir le SVG.