HTML : HyperText Markup Language

Le langage HTML est un texte descriptif servant à insérer des éléments dans une page web : du texte, des titres, des images, des documents audio et vidéo, etc. Ce langage est le point de départ incontournable pour réaliser des sites.

Les balises : marquage du début et de la fin d'une zone

Lorsque qu'on va se baigner à l'océan, les drapeaux bleus indiquent la zone de baignade autorisée. Ces drapeaux bleus servent à « baliser » une zone.

Le langage HTML s'appuie sur un système de <balises>, mots entourés de symboles < et > servant à marquer le début et la fin d'une zone. Par exemple, pour indiquer une zone de texte, on écrit : <p>Du texte</p>.

Balises HTML début et fin de zone

Remarque : Certaines balises ne définissent pas de zones, comme la balise <br> qui permet un retour à la ligne. On les appelle balises vides.

Les outils du HTML

Pour créer vos pages HTML, vous avez besoin de 2 outils :

  • Un éditeur de texte, comme le Bloc-notes de Windows, mais je conseille l'usage d'un éditeur de texte plus élaboré comme Visual Studio Code qui colore et formate le code de manière à identifier plus facilement les erreurs de syntaxe.
  • Un bon navigateur comme Chrome ou Firefox.

Votre première page web

Avant toute chose, créez tout un dossier de travail nommé, par exemple, HTML.

Dans VS Code :

  • Ouvrez le dossier de travail HTML.
  • Créez un nouveau fichier nommé page.html (l'extension .html est primordiale).
  • Pour générer le modèle de base HTML, tapez ! suivi de la touche Entrée.
VS Code et le modèle de base HTML

Modifiez ensuite le code :

  • Dans la balise <html>, remplacez en par fr pour indiquer que la page web contiendra du texte français.
  • Dans la balise <title>, remplacez le mot document par Ma première page.
  • Dans la balise <body>, écrivez <p>Ma première page</p>.
  • Enregistrez votre page. Le point blanc sur l'onglet page.html disparait.
  • Double-cliquez sur l’icône page.html puis admirez votre première page HTML sur votre navigateur.

À la manière d'une partition musicale, le navigateur va déchiffrer et interpréter le code HTML de haut en bas et de gauche à droite. Il est très important d'intégrer cette notion du sens de lecture, car cela nous amène à réfléchir sur l'ordre des balises, et ultérieurement, sur le placement de certains programmes PHP ou JavaScript.

Signification du code HTML

Examinons le code suivant :

<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Ma première page</title>
</head>
<body>
    <p>Ma première page</p>
</body>
</html>
<!DOCTYPE html>

Cette balise indique aux navigateurs que la page est au format HTML.

<html lang="fr">

Cette balise unique indique le début du code HTML avec la langue des textes de votre site. Par exemple, mettez "en" pour l'anglais et "fr" pour la langue française.

<head>

Cette balise unique marque le début de la zone d’en-tête, prologue de la page web contenant des informations destinées au navigateur : titre, balises <meta>, liaison CSS et fonctions JavaScript.

<meta charset="UTF-8">

L'encodage UTF-8 permet d'afficher correctement tous les caractères spéciaux comme les accents et les symboles (euro €, copyright ©, etc.). Il permet d'afficher correctement la plupart des langues : latines, arabes, chinoises, etc.

<meta name="viewport" content="width=device-width, initial-scale=1.0">

Cette balise rend les pages web adaptatives (responsives) sur les différents écrans (ordinateur, tablette et smartphone). Plus précisément, elle indique de ne pas dézoomer sur les téléphones afin que les textes ne soient pas affichés trop petits.

<title>

Début du titre de la page affiché dans l'onglet du navigateur. Cette balise unique est intégrée à la zone d’en-tête.

<body>

Ceci est le corps de la page. Cette balise unique concerne l’affichage de la page. En général l’essentiel du code se trouve entre <body> et </body>.

<p>

Début d'une zone de texte standard écrit sous forme de paragraphe.

</head>, </body>, </title>, </p>, </html>

Fin des zones précitées.

Majuscules ou minuscules ?

Bien que les codes sources HTML rencontrés sur le web soient traditionnellement écrits en minuscules, le W3C indique que les balises peuvent être écrites aussi bien en majuscules qu'en minuscules.

Modification de la page et actualisation

Revenez à l'éditeur de texte contenant le code source. Modifiez le code en remplaçant <p>Ma première page</p> par <h1>Ma première page</h1>

Enregistrez, puis cliquez sur le bouton Actualiser  du navigateur ou touche F5 pour voir les modifications.

Ordre logique de fermeture

Il faut veiller à ce que les balises soient fermées dans l'ordre logique.

  • <b><i>...</i></b> →  correct
  • <b><i>...</b></i> →  incorrect

Vocabulaire

Dans cet exemple :

<a href="fichier.html">Cliquez ici</a>
  • <a href='fichier.html'> est la balise de début
  • </a> est la balise de fin
  • Cliquez ici est le contenu de la balise <a>
  • href est l’attribut de la balise <a>
  • fichier.html est la valeur de l’attribut href

Liste des principales balises HTML

Mise en forme du texte

<h1>Titre</h1>
<h2>Sous-titre</h2>
<h6>...</h6>

Titres ou « headings ». Ces balises permettent d’écrire les titres de chapitres dans vos pages web. <h1> écrit très gros, jusqu’à <h6> qui écrit tout petit mais toujours en caractères gras. Ces numéros correspondent à la hiérarchie des titres. <h1> affiche le titre le plus haut dans la hiérarchie.

<p>...</p>

Paragraphe standard, texte normal, en général suite à un titre.

<br>

Retour à la ligne. A mettre de préférence au sein d'un paragraphe.

<b>...</b> ou <strong>…</strong>

Texte affiché en caractère gras ou texte renforcé.

<i>...</i> ou <em>…</em>

Texte affiché en italique ou texte mis en évidence.

<hr>

Trait horizontal dont la largeur par défaut occupe celle de son conteneur. Balise vide.

Balise structurelles et divisions

<div>...</div>

Marque une zone de division. Cette balise ne fait rien de spécial, à part un saut de ligne. Elle est en revanche très utile pour les mises en forme avec les CSS.

<span>...</span>

Marque une sous division, sans saut de ligne. Cette balise ne fait strictement rien, à part marquer une zone, pour permettre une mise en forme spécifique avec les CSS.

<nav>...</nav>

Marque la zone de navigation en HTML5, c’est-à-dire le menu d’un site contenant les liens vers les autres pages.

<header>...</header>

Marque la zone d’entête d’une page ou d’un article dans une page.

<main>...</main>

Marque le contenu principal d'une page qui se situe entre le header et le footer.

<article>...</article>

Marque une zone d’article dans une page de type blog.

<footer>...</footer>

Marque la zone de pied de page d’une page ou d’un article dans une page.

Exemple de structure d'une page en HTML5 :

Listes non numérotées à puces et éléments de liste

<ul>
 <li>Des tomates</li>
 <li>Des carottes</li>
</ul>

Listes numérotées et éléments de liste

<ol>
 <li>Des tomates</li>
 <li>Des carottes</li>
</ol>

Liens

<a href="fichier.html">Cliquez ici</a>

Lien vers la page locale fichier.html située dans le même dossier.

<a href="https://www.lemonde.fr">Journal Le Monde</a>

Lien vers une page web.

<a href="mailto:jean.dupont@free.fr">Contactez-moi</a>

Lien vers une adresse mail. Ce type de lien communément appelé mailto chargera le client mail par défaut de votre système d'exploitation : Outlook, Thunderbird, etc.

<a href="fichier.html" target="_blank">Cliquez ici</a>
  • target='_self' (valeur par défaut) Affichage de la cible du lien dans la même fenêtre.
  • target='_blank' Affichage de la cible du lien dans un nouvel onglet du navigateur.

Remarque : La tradition veut qu'un lien externe à votre site s'ouvre dans un nouvel onglet.

<h1 id="chapitre5">Chapitre 5</h1>

Définition d'une ancre avec l'attribut id. Une ancre permet de faire un lien interne dans une longue page de texte par exemple.

<a href="#chapitre5">Chapitre 5</a>

Lien vers une ancre à l’intérieur de la page.

<a href="fichier.html#chapitre5">Chapitre 5</a>

Lien vers une ancre dans une autre page HTML.

Images

<img src="chateau.webp" alt="Château de Duras">
<img src="chateau.jpg" alt="Château de Duras">
<img src="chateau.png" alt="Château de Duras">

Insertion d'une image au format webp, jpg ou png. Le texte alternatif précisé dans l'attribut alt permet de rendre l'image accessible aux malvoyants. L'attribut alt des images est également utilisé par les moteurs de recherche pour le référencement de votre site.

Voici un tableau concernant les principaux formats d'images gérés par les navigateurs :

Format / extensionCaractéristiquesLicenceCompression
gifLimité à 256 couleurs, permet des animations, une couleur transparente. Utilisé pour logo et dessins.Licence commerciale. Développé par CompuserveCompression sans perte excellente pour les images qui ont peu de couleurs.
jpg16 millions de couleurs. Utilisé pour les photos.Licence commerciale. Développé par le Joint Photographic Experts Group et IBMCompression avec perte, meilleur gain que le gif avec beaucoup de couleurs.
png16 millions de couleurs. 256 nuances de transparence.
Existe en 256 couleurs indexées.
Format ouvert. Développé par W3CCompression sans perte. Fichier volumineux mais qualité maximum.
webp16 millions de couleurs. 256 nuances de transparence.
Permet les couleurs indexées et les animations.
Format ouvert.
Développé par Google Corp.
Compression avec ou sans perte. Gain de 30% à 40% par rapport au PNG et JPG.

Audio

<audio src="bagdadcafe.mp3" controls> </audio>

Permet de lire un fichier audio avec les boutons de contrôle.

<audio src="bagdadcafe.mp3" autoplay> </audio>

Lire un fichier audio automatiquement au chargement de la page.

Format / extensionNavigateursLicenceCompression
mp3tousLicence commerciale à Philips, France Telecom, FraunhoferCompressé. Musique de 3 minutes qualité CD : 6 Mo
oggFirefox, Opera, Safari, ChromeDéveloppé par Xiph, format ouvert dégagé de tout brevetCompressé. Musique de 3 minutes qualité CD : 5 Mo
wavTousFormat ouvert développé par MicrosoftNon compressé. Musique de 3 minutes qualité CD : 40 Mo

Vidéo

<video src="bagdadcafe.mp4" controls> </video>

Permet de lire un fichier video avec les boutons de contrôle.

<video src="bagdadcafe.mp4" controls poster="apercu.jpg"> </video>

L’attribut poster permet de choisir une image représentative de la vidéo.

A l’instar des fichiers audio, certains formats ne sont lisibles que par certains navigateurs :

Format / extensionNavigateursLicence
H.264 / .mp4TousDéveloppé par les groupes Video Coding Experts Group (VCEG) et Moving Picture Experts Group (MPEG), utilisation soumise à licence
Ogg Theora et Vorbis / .ogvFirefox, Opera, ChromeDéveloppé par l'organisation Xiph, format ouvert
WebM VP8 / .webmTousDéveloppé par Google Corp., format ouvert

Les tableaux

<table> ... </table>

Début et fin d'un tableau contenant des lignes et des colonnes.

<tr> ... </tr>

Création d'une ligne d'un tableau (table row).

<td> ... </td>

Création d'une cellule d'un tableau (table data). Les cellules s'inscrivent obligatoirement dans une ligne.

<th> ... </th>

Création d'un entête de ligne ou de colonne dans un tableau (table header). Les textes s'écrivent en gras.

    <table>
        <tr>
            <th>Nom</th>
            <th>Prénom</th>
            <th>Téléphone</th>
        </tr>
        <tr>
            <td>Durand</td>
            <td>Marcel</td>
            <td>05 56 56 56 56</td>
        </tr>
        <tr>
            <td>Johansson</td>
            <td>Sylvie</td>
            <td>05 57 57 57 57</td>
        </tr>
        <tr>
            <td>Redford</td>
            <td>Guillaume</td>
            <td>01 01 01 01 01</td>
        </tr>
    </table>

Si la manipulation des balises de tableau vous fait des nœuds au cerveau vous pouvez vous aider d'un générateur : https://divtable.com/generator/

Logo lesdocs
Résumé de la politique de confidentialité

Ce site collecte des données statistiques via Google Analytics et les commentaires éventuels déposés dans les articles. Plus d'informations sur notre page Politique de confidentialité.