HTML — Liens, images, listes et navigation
Liens hypertextes, images avec alt, listes et menus
Concepts Théoriques
Jusqu'ici, votre page ne contient que du texte. Ce chapitre ajoute les 3 éléments qui rendent une page web réellement utile : les liens pour naviguer, les images pour illustrer, et les listes pour organiser.
Les liens hypertextes — la balise <a>
Le lien est l'invention qui a créé le Web. C'est la balise <a> (pour "anchor", ancre en anglais) qui relie les pages entre elles.
La syntaxe : <a href="destination">Texte cliquable</a>
L'attribut href (hypertext reference) contient l'adresse de destination. Il existe 4 types de liens :
1. Lien externe — vers un autre site : <a href="https://google.com">Aller sur Google</a>
2. Lien interne — vers une autre page de votre site : <a href="about.html">À propos</a>
3. Lien ancre — vers une section de la même page : <a href="#contact">Me contacter</a> Ce lien scrolle vers l'élément qui a l'attribut id="contact" sur la page.
4. Lien email — ouvre le client email : <a href="mailto:moussa@email.com">M'écrire</a>
Attributs importants des liens :
- target="_blank" — ouvre le lien dans un nouvel onglet. À utiliser pour les liens externes uniquement.
- rel="noopener noreferrer" — sécurité. Toujours ajouter quand vous utilisez target="_blank". Empêche la page de destination d'accéder à votre onglet.
Combinez-les pour les liens externes : <a href="https://github.com" target="_blank" rel="noopener noreferrer">Mon GitHub</a>
> Bonne pratique : Le texte du lien doit décrire la destination. "Cliquez ici" est mauvais pour l'accessibilité — un lecteur d'écran lit les liens hors contexte. "Voir mon profil GitHub" est bien meilleur.
Les images — la balise <img>
La balise <img> affiche une image. C'est une balise auto-fermante (pas de </img>).
La syntaxe : <img src="chemin/vers/image.jpg" alt="Description de l'image">
Deux attributs obligatoires :
- src (source) — le chemin vers le fichier image. Peut être relatif (images/photo.jpg) ou absolu (https://site.com/photo.jpg).
- alt (texte alternatif) — une description textuelle de l'image. C'est obligatoire pour 3 raisons :
- Accessibilité — les lecteurs d'écran lisent le alt aux personnes malvoyantes
- SEO — Google utilise le alt pour comprendre le contenu de l'image
- Fallback — si l'image ne charge pas, le alt s'affiche à la place
Un bon alt décrit ce que l'image MONTRE : "Portrait de Moussa souriant devant un ordinateur" est bon. "image1" ou "photo" est mauvais. Si l'image est purement décorative (pas de contenu informatif), utilisez alt="" (vide mais présent).
Attributs recommandés :
- width et height — les dimensions en pixels. Le navigateur réserve l'espace avant le chargement de l'image, ce qui évite les "sauts" de page.
- loading="lazy" — l'image ne se charge que quand elle est proche de la zone visible. Améliore la performance.
Les listes — <ul>, <ol> et <li>
HTML propose 2 types de listes :
Liste non ordonnée — <ul> (unordered list) — affiche des puces. Pour des éléments sans ordre particulier : compétences, liens de navigation, fonctionnalités.
Liste ordonnée — <ol> (ordered list) — affiche des numéros. Pour des éléments avec un ordre : étapes d'un tutoriel, classement, instructions.
Chaque élément de liste est une balise <li> (list item) à l'intérieur du <ul> ou <ol>.
Les listes peuvent être imbriquées : un <li> peut contenir un autre <ul> ou <ol> pour créer des sous-listes.
> Usage courant : Les menus de navigation sont toujours construits avec un <ul> contenant des <li> avec des <a> à l'intérieur. C'est la convention standard du web.
Construire un menu de navigation
Un menu de navigation combine les 3 éléments de ce chapitre : une liste de liens dans un <ul>, le tout dans une balise <nav> (que nous approfondirons au chapitre 3).
Le pattern standard : <nav> contient un <ul> qui contient des <li> qui contiennent des <a>.
Les liens utilisent des ancres (#about, #skills, #projects, #contact) pour naviguer vers les sections de la même page.