Hypertext Markup Language (HTML), c'est le code utilisé pour structurer le contenu d'une page web et lui fournir une signification et un but. Par exemple, le contenu de votre page pourra être un ensemble de paragraphes ou une liste de points. Il est aussi possible d'avoir des images, des tableaux de données. Sans rentrer dans une surcharge de détails , cet article vous fournira suffisamment d'informations pour que vous puissiez démarrer avec HTML.
Qu'est-ce que HTML ?
HTML n'est pas, à proprement parler, un langage de programmation. C'est un langage de balises utilisé pour fournir la structure et le sens du contenu qu'on souhaite avoir sur un site web. Il se compose de différents éléments qu'on assemble autour des différentes parties du contenu pour lui fournir un sens. Les balises qui entourent un mot ou une image peuvent former un lien hypertexte, mettre le texte en italique, etc. Par exemple, avec la ligne de contenu suivante :
Mon chat est fâché
Si vous souhaitez indiquer que ce texte fait partie d'un paragraphe, on le placera dans un élément de paragraphe (<p>
) :
<p>Mon chat est fâché</p>
Anatomie d'un élément HTML
Regardons de plus près cet élément paragraphe :
Les composants principaux de notre élément sont :
- La balise ouvrante : celle-ci se compose du nom de l'élément (ici « p »), entre deux chevrons. Cela indique le début de l'élément, où l'endroit à partir duquel celui-ci prend effet. Pour notre exemple, cela indique le début du paragraphe.
- La balise fermante : ici on a également des chevrons et le nom de l'élément, auxquels on ajoute un barre oblique avant le nom de l'élément. Cela indique la fin de l'élément. Pour notre exemple, cela indique la fin du paragraphe.
- Le contenu : C'est le contenu de l'élément, ici c'est simplement du texte.
- L'élément : Il est composé de la balise ouvrante, de la balise fermante et du contenu.
Les éléments peuvent aussi avoir des « attributs », ce qui ressemble à :
Les attributs contiennent des informations supplémentaires qui portent sur l'élément et qu'on ne souhaite pas afficher avec le contenu. Dans cet exemple, l'attribut class
permet d'utiliser un nom pour identifier l'élément et ce nom pourra être utilisé plus tard pour la mise en forme ou autre chose.
Un attribut doit toujours avoir :
- Un espace entre l'attribut et le nom de l'élément ou l'attribut précédent (s'il y a plusieurs attributs)
- Un nom (le nom de l'attribut), suivi d'un signe égal « = »
- Des quotes (") pour encadrer la valeur de l'attribut
Imbriquer des éléments
Vous pouvez placer des éléments au sein d'autres éléments, c'est ce qu'on appelle l'imbrication. Par exemple, si vous souhaitez montrer que votre chat est vraiment fâché, vous pouvez placer le mot « vraiment » dans dans un élement <strong>
, ce qui signifie que le mot sera mis en avant :
<p>Mon chat est <strong>vraiment</strong> fâché.</p>
Toutefois il faut faire attention à ce que les éléments soient bien imbriqués les uns dans les autres. Dans l'exemple précédent, on ouvre l'élément <p>
, puis l'élément <strong>
. Plus loin, on ferme l'élément <strong>
puis on ferme l'élement <p>
. Si on utilise le code suivant, ce sera incorrect :
<p>Mon chat est <strong>vraiment fâché.</p></strong>
Les éléments doivent être ouverts et fermés correctement, s'ils se chevauchent, le navigateur essaiera de choisir la meilleure option, qui ne sera peut être pas le résultat attendu. En un mot, mieux vaut imbriquer les éléments correctement pour éviter les déconvenues.
Les éléments vides
Certains éléments n'ont pas de contenu. Ces éléments sont appelés éléments vides. Si on considère l'élément <img>
présent dans notre fichier HTML :
<img src="images/firefox-icon.png" alt="Mon image test">
Cet élément contient deux attributs mais il n'y a pas de balise fermante </img>
ni de contenu interne. En effet, l'élément image n'embarque pas de contenu, son but est d'intégrer une image dans la page HTML, à l'endroit où l'élément est placé.
Anatomie d'un document HTML
Pour l'instant nous avons vu quelques éléments HTML de base. Pris séparément, ils ne sont pas très utiles. Regardons comment les combiner pour créer une page HTML complète. Nous allons repartir de l'exemple contenu dans le fichier index.html
(qu'on a créé dans l'article Gérer les fichiers) :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Ma page de test</title> </head> <body> <img src="images/firefox-icon.png" alt="Mon image de test"> </body> </html>
Cet exemple contient :
<!DOCTYPE html>
— le doctype. Au début de HTML, dans les années 1991-1992, les doctypes étaient utilisés pour faire référence à des ensembles de règles qu'on pouvait utiliser pour dire qu'un document était du HTML « valide » et détecter les erreurs de balisage. Cependant, ceux-ci ne sont plus utilisés aujourd'hui et sont juste présents pour s'assurer que la page puisse fonctionner y compris sur les anciens navigateurs. Pour le moment, c'est tout ce qu'il y a à savoir à propos des doctypes.<html></html>
— l'élément<html>
. Cet élément encadre tout le contenu de la page. Cet élément est parfois appelé l'élément racine.<head></head>
— l'élément<head>
. Cet élément est utilisé comme un container pour toutes les choses qui font partie de la page HTML mais qui ne sont pas du contenu affiché. C'est dans cet élément qu'on mettra des mots-clés, une description de la page qui apparaîtra sur les moteurs de recherche, les liens vers les fichiers CSS à utiliser pour la mise en forme, les déclarations des jeux de caractères (character sets) à utiliser et ainsi de suite.<body></body>
— l'élément<body>
. Cet élément est celui qui contient tout le contenu que vous souhaitez afficher pour qu'il soit vu par les visiteurs : cela peut être du texte, des images, des vidéos, des jeux, etc.<meta charset="utf-8">
— Cet élément définit le jeu de caractères qui devrait être utilisé pour le document et indique que c'est utf-8. utf-8 regroupe l'ensemble des caractères connus utilisés dans les différents langages humains. Généralement utf-8 permet de gérer n'importe quel texte que vous pourriez utiliser sur la page. C'est pour cette raison qu'on utilise ce jeu de caractères car il permet de couvrir l'extrême majorité des cas.<title></title>
— Cet élément définit le titre de votre page. C'est ce titre qui apparaîtra sur l'onglet lorsque la page sera chargée. C'est également ce titre qui sera utilisé pour décrire la page lorsque vous la placez dans vos marques-pages.
Images
Regardons à nouveau l'élément image :
<img src="images/firefox-icon.png" alt="Mon image de test">
Comme on l'a vu auparavant, cet élément permet d'intégrer une image dans la page, à l'endroit où l'élément apparaît. L'image utilisée est définie via l'attribut src
(pour source) qui contient le chemin vers le fichier de l'image.
Nous avons aussi utilisé l'attribut alt
(pour alternatif) qui contient un texte qui permet de décrire l'image et qui peut être utilisé par les utilisateurs qui ne peuvent pas voir l'image :
- car ils sont mal-voyants. Les utilisateurs qui sont handicapés visuellement utilisent généralement des lecteurs d'écrans qui lisent le texte de cet attribut pour que l'utilisateur puisse comprendre de quoi il s'agit.
- car quelque chose s'est mal passé et que l'image n'a pu être affichée. Par exemple, cela peut se produire si le chemin vers l'image est incorrect : essayez de modifier le chemin contenu dans votre attribut
src
pour voir ce que ça donne. Si le chemin est bien incorrect, vous devriez obtenir quelque chose comme :
Le point important qu'il faut retenir est que l'attribut est utilisé pour décrire l'image. Le texte contenu dans cet attribut doit fournir suffisamment d'informations pour que le lecteur puisse savoir ce que l'image représente. Par exemple, le texte que j'utilise « Mon image de test » n'est pas bon du tout. Une meilleure solution serait de mettre « Le logo Firefox, qui représente un renard avec une queue de feu autour de la Terre ».
En fonction de votre image, améliorez le texte alternatif pour qu'il décrive l'image correctement.
Note : Pour plus d'informations sur l'accessibilité, vous pouvez utiliser la section Accessibilité de MDN.
Baliser le texte
Dans cette section, nous verrons quelques-uns des éléments HTML de base pour baliser le texte.
Les titres
Les éléments de titre permette de définir certains textes comme des titres ou sous-titres pour le contenu. D'une certaine façon, ceux-ci fonctionnent comme pour un livre : on a le titre du livre (le plus important) puis les titres des différents chapitres et parfois des sous-titres au sein de ces chapitres. HTML contient des éléments pour 6 niveaux de titres : <h1>
–<h6>
. La plupart du temps, 3-4 niveaux suffisent amplement :
<h1>Mon titre principal</h1> <h2>Mon titre de section</h2> <h3>Mon sous-titre</h3> <h4>Mon sous-sous-titre</h4>
Vous pouvez ajouter un titre adapté à votre page avec un de ces éléments. Vous pouvez le placer au dessus de l'élément <img>
dans votre document HTML.
Les paragraphes
Comme expliqué auparavant, les éléments <p>
sont utilisés pour contenir des paragraphes de texte. Vous les utiliserez fréquemment pour placer du texte sur une page :
<p>Voici un paragraphe</p>
Ici, vous pouvez ajouter le texte que vous avez choisi lorsque vous avez décidé à quoi ressemblera votre site web. Vous pouvez placer votre texte dans un ou plusieurs paragraphes, directement sous l'élément <img>.
Les listes
Une grande partie du contenu sur le Web est présente sous forme de listes. HTML a donc des éléments utilisés pour représenter ces listes. Le balisage des listes contient toujours au moins deux éléments. Les types de listes utilisés fréquemment sont les listes ordonnées et les listes non-ordonnées :
- Les listes non-ordonnées sont des listes pour lesquelles l'ordre des éléments n'a pas d'importance (par exemple une liste de courses). La balise utilisée pour ces listes est l'élément
<ul>
(ul signifie unordered list qui signifie liste non-ordonnée en anglais) - Les listes ordonnées sont des listes pour lesquelles l'ordre des éléments est important (par exemple une recette). La balise utilisée pour ces listes est l'élément
<ol>
(ol signifie ordered list qui signifie liste ordonnée en anglais)
Chaque élément d'une liste est balisé avec un élément <li>
.
Par exemple, si on souhaite modifier un paragraphe en une liste :
<p>Mozilla est une communauté mondiale composée de technologues, penseurs, constructeurs qui travaillent ensemble... </p>
On pourrait faire :
<p>Mozilla est une communauté mondiale composée de </p> <ul> <li>technologues</li> <li>penseurs</li> <li>constructeurs</li> </ul> <p>qui travaillent ensemble...</p>
Essayez d'ajouter une liste ordonnée ou non-ordonnée sur votre page. Vous pouvez l'ajouter après l'image.
Les liens
Les liens sont très importants, ce sont eux qui font que le web est une toile sur laquelle on peut naviguer de page en page. Pour créer un lien, il suffit d'utiliser l'élément <a>
(le a est un raccourci pour « ancre »). Pour transformer du texte en un lien, suivez ces étapes :
- Choisissez un texte (ici nous travaillerons avec le texte « Manifeste Mozilla ».
- Encadrez le texte dans un élément <a> :
<a>Manifeste Mozilla</a>
- Fournissez un attribut
href
pour l'élément <a>, de cette façon :<a href="">Manifeste Mozilla</a>
- Dans cet attribut, ajoutez le lien vers le site vers lequel vous voulez diriger les utilisateurs :
<a href="https://www.mozilla.org/fr/about/manifesto/">Manifeste Mozilla</a>
Attention à ne pas oublier la partie avec https://
ou https://
qui représente le protocole utilisé, au début de l'adresse. Une fois que vous avez créé un lien, testez votre page et cliquez dessus pour vous assurez qu'il fonctionne correctement.
href
peut sembler un peu étrange à première vue. Une explication sur l'origine du nom pourra vous aider à mieux vous en souvenir : href correspond à hypertext reference en anglais, ce qui signifie « référence hypertexte » en français.
Si ce n'est pas déjà fait, vous pouvez ajouter un lien sur votre page grâce à ces informations.
Conclusion
Si vous avez suivi les différentes instructions de cette page, vous devriez obtenir une page qui ressemble à celle-ci (vous pouvez également la voir ici) :
Si vous êtes bloqué, n'hésitez pas à comparer votre travail avec l'exemple fini disponible sur GitHub.
Dans cet article, nous n'avons fait qu'effleurer la surface de HTML. Pour en apprendre plus sur HTML, vous pouvez vous rendre sur la page Apprendre HTML.