8. Les Liens¶
Maintenant que vous savez créer une page avec du contenu, texte ou image, nous allons voir comment créer des liens entre différentes pages.
Principes des liens¶
Un lien est un texte cliquable qui renvoi vers une source (page, document, …). Aussi appeler hyperlien, c'est lui qui à permit de révolutionner l'Internet.
Voilà à quoi ça ressemble :
Un lien est donc composé :
- d'un texte qui est cliquable,
- d'une source.
Pour créer un lien, il nous faut une balise <a>
:
Ensuite, nous allons entrer entre ces balises le texte à rendre cliquable :
Enfin, nous allons ajouter une source via l'attribut href :
Liens externes (absolut)¶
Un lien externe est un lien qui renvoie vers une page d'une autre site internet, par exemple https://www.etml.ch. La source doit donc être une url complète avec https:// :
Voilà le résultat :
On peut contrôler où va s'ouvrir le lien au clic. Par défaut, il s'ouvre dans l'onglet que l'on consulte. Ça n'est pas pratique, et l'internaute risque de ne pas retourner sur votre site. C'est pour cela que l'attribut target existe :
Cet attribut peut avoir plusieurs valeurs :
_self
: la lien s'ouvre dans l'onglet actuel. il s'agit du comportement par défaut._blank
: le lien s'ouvre dans un nouvel onglet.
Notez
D'un point de vue de l'expérience utilisateur, il n'est pas recommandé d'utilisé l'attribut _blank
. Donc à utiliser uniquement où cela est nécessaire.
Liens internes (relatif)¶
Un lien interne permet de faire un lien vers une page html interne à notre site. Prenons par exemple une site qui aurait 3 pages :
- index.html : notre page d'accueil
- page.html : une page placée dans le même dossier que index.html
- sous_page.html : une page placée dans un dossier nommé exemple
Notre arborescence de fichier.
Lorsque nous sommes dans la page d'index, pour créer un lien vers la page page.html, nous allons entrer dans le href la nom du fichier html :
Pour faire un lien vers sous_page.html, nous allons devoir ajouter au href la nom du dossier qui le contient :
Enfin, si vous êtes sur la page sous_page.html et que vous voulez faire un lien vers une page dans un dossier précédent, il faudra ajouter ../ dans le href :
Notez
L'attribut 'href' ne doit pas être laissé vide. Dans ce cas ajouter le comme ceci: 'href="#"'
Les autres usages¶
Les ancres¶
Une ancre est un lien vers un élément d'une même page. Ça peut être par exemple une bouton Retour en haut de page ou bien un sommaire.
Pour cela, une balise html doit être nommé avec une #id, et la source du lien doit prendre cette #id :
Notez
Nous verrons plus en détail les #id dans le cours CSS sur les .class et #id.
Voilà un exemple de lien qui renvoie vers le haut de ma page :
Infobulle¶
L'attribut title=""
est facultatif mais ô combien utile et utilisé. Il permet d'afficher une infobulle au survol du lien. Il s'utilise de la manière suivante :
Envoyer un e-mail¶
La balise <a>
permet également de déclencher l'ouverture de l'application de messagerie de l'utilisateur pour lui permettre d'envoyer un nouvel e-mail au destinataire précisé. Pour ce faire, il n'y a pas d'attribut particulier mais simplement une syntaxe précise à respecter dans l'attribut href=""
dont nous avons déjà parlé. Un exemple ci-dessous :
Appeler un numéro de téléphone¶
Semblable à la fonctionnalité qui permet de déclencher l'envoi d'un e-mail, la balise <a>
propose également de composer un numéro de téléphone. Avant que le HTML5 voit le jour, les numéros de téléphone étaient ajoutés en texte standard, dans un <p>
par exemple. Grâce à cette fonctionnalité, un simple clic sur ce type de lien compose directement le numéro. C'est notamment très pratique depuis un smartphone. La syntaxe est similaire à celle de mailto.
Télécharger¶
L'attribut download=""
est bien évidemment aussi facultatif et s'utilise dans des cas précis. En effet, il permet de forcer le téléchargement d'une ressource au lieu de la faire afficher par le navigateur web. Il est préférable d'utiliser cet attribut uniquement dans le cas précis du téléchargement d'une ressource pour ne pas trop contraindre l'utilisateur. Il s'utilise comme ceci :
Dans le cas de cette utilisation, la valeur de l'attribut download=""
sera utilisée pour nommer le fichier téléchargé. Vous pouvez également ne rien préciser et dans ce cas, le fichier téléchargé portera le même nom que celui du serveur, à savoir dans le cas de l'exemple, monfichier.txt.
Notez
Il est bon de préciser que comme pour l'attribut "target", l'attribut "download" contraint l'utilisateur dans sa navigation. Il est bon de ne pas abuser de ces techniques et de les utiliser à bon escient.
La balise <a>
est de type inline¶
La balise <a>
est de type inline. C'est à dire qu'elle réagit comme les balises <strong>
ou <em>
en suivant le flux du texte :
<p>
Trouve ton métier à l’<a href="https://www.etml.ch" title="Site de l'ETML" target="_blank">ETML</a> et développe tes talents.
</p>
Trouve ton métier à l’ETML et développe tes talents.
-
Il est temps d'ajouter des liens et de nouvelles pages à votre site. Exercice 4