Langage HTML
Objectifs
On aborde dans ce cours/activité les principales notions liées au langage HTML.
Consignes
Consigne à suivre
jsfiddle.net : pour un travail en ligne sur des petits projets
Pour un travail en ligne, sur des petits projets, vous pouvez utiliser le site jsfiddle.net en cliquant ici pour tester vos codes HTML/CSS.
Regardez la vidéo explicative associée en cliquant ici.
Pensez à sauvegarder régulièrement le projet en cliquant sur le bouton Save. La première fois que vous le faîtes, vous obtenez alors une nouvelle adresse URL avec un code.
Pour chaque question :
- ajoutez cette adresse à votre compte-rendu et assurez-vous qu’elle fonctionne avant de poursuivre ;
- ajoutez aussi une capture d'écran du fiddle dans votre compte-rendu pour plus de sécurité.
Pour chaque nouvelle question, créez un nouveau fiddle, sauvegardez-le et référencez-le dans votre compte-rendu.
replit.com : pour un travail en ligne sur des projets plus ambitieux
Pour un travail en ligne, sur des projets comportant plusieurs fichiers, vous pouvez utiliser replit.com en cliquant ici pour tester vos codes HTML/CSS.
Pour utiliser replit.com, vous devez créer un compte et créer un projet HTML/CSS pour chaque question :
Pour chaque question :
- ajoutez l'adresse URL du projet à votre compte-rendu et assurez-vous qu’elle fonctionne avant de poursuivre ;
- ajoutez aussi une capture d'écran de la page replit.com dans votre compte-rendu pour plus de sécurité.
Pour chaque nouvelle question, créez un nouveau projet.
VSCodium : pour un travail en local sur des projets plus ambitieux
Pour un travail en local, sur des projets comportant plusieurs fichiers, vous pouvez utiliser l'IDE VSCodium en enregistrant un répertoire par projet contenant les fichiers HTML/CSS du projet.
Regardez la vidéo explicative associée en cliquant ici.
Si besoin, pour chez vous, VSCodium est téléchargeable ici.
Le langage HTML
Définition
L'HTML, pour "HyperText Markup Language" (langage balisé hypertexte) est un langage permettant de décrire le contenu et la structure d'une page web.
Code HTML minimal
Définition
Au minimum, une page décrite en HTML comporte le code suivant :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
La structure de la page est donnée par des balises (nommées balises HTML) qui sont une suite de caractères entre chevrons <...>
. Les noms de balise sont toujours écrits en minuscule.
Balise doctype
Le code d'une page web doit commencer par le doctype
spécifiant les règles d'écriture du code HTML saisi (le doctype <!doctype html>
est celui de l'HTML dans sa version 5).
Balise html
La deuxième ligne est constituée de la balise ouvrante <html>
et la dernière de la balise fermante </html>
afin de délimiter le code HTML (devant respecter les règles imposées par le doctype).
La balise html
doit contenir l'attribut lang
(ici de valeur fr
) afin de spécifier la langue utilisée dans les zones de texte (ceci permettra de profiter notamment des outils de traduction).
Balise head
Les balises ouvrantes et fermantes <head> </head>
délimitent l'entête de la page HTML et permet, à minima, de spécifier le titre de la page (dans l'onglet) à l'aide des balises <title> </title>
.
Ici l'ajout de la balise orpheline <meta charset="utf-8"/>
permet d'indiquer l'encodage utilisé pour les caractères (ici utf-8
).
Balise body
Le contenu (on parle du corps de la page) de la page (ce qui sera visible dans la page) est ajouté entre les balises <body> </body>
.
Attention
Les balises <head> </head>
et <body> </body>
ne peuvent être présentes qu'une seule fois dans la page HTML.
Type de balise
-
En absence de slash
/
, on parle de balise ouvrante, exemples :<html lang="fr">
<head>
<title>
<body>
-
En présence de slash
/
, on parle de balise fermante, exemples :</html>
</head>
</title>
</body>
-
Si la balise est de la forme
<.../>
, on parle de balise orpheline, exemples :<meta charset="utf-8"/>
<img ..../>
<br/>
Balise et notion d'attribut
-
Dans la balise
<meta charset="utf-8"/>
,charset
est un attribut de la balisemeta
. -
De la même manière, dans la balise
<html lang="fr">
,lang
est un attribut de la balisehtml
permettant spécifier la langue utilisée dans la page. La valeur des attributs est une chaîne de caractères.
Application
Exercice 1.1
Concevoir une page HTML permettant d'obtenir la page web suivante :
Les balises de base
Toutes les balises décrites ci-dessous doivent être placées dans l'élément body
de la page HTML.
Titre de section
Les balises <h1> </h1>
(et h2
, h2
, ... , h6
) délimitent un titre de section selon 6 niveaux de titre.
1 2 3 4 |
|
Paragraphe
Les balises <p> </p>
délimitent un paragraphe.
1 2 3 4 5 6 |
|
Liste non énumérée
Les balises <ul> </ul>
délimitent des listes non énumérées d'éléments placés entre balises <li> </li>
.
1 2 3 4 5 |
|
Liste énumérée
Les balises <ol> </ol>
délimitent des listes énumérées d'éléments placés entre balises <li> </li>
.
1 2 3 4 5 |
|
Application
Exercice 1.2
Concevoir une page HTML permettant d'obtenir la page web suivante :
La balise Table
Il est possible d'organiser le contenu d'une page.
Table
L'élément table
permet d'organiser du texte dans un tableau à deux dimensions.
Les balises <tr> </tr>
contenues dans l'élément table
permet de décrire une ligne de la table.
Les balises <td> </td>
contenues dans l'élément tr
permet de décrire une case de la ligne.
Les cases peuvent si besoin être fusionnées en spécifiant un attribut à la balise <td>
:
rowspan="x"
: fusion de la case surx
cases en ligne ;colspan="y"
: fusion de la case sury
cases en colonne.
1 2 3 4 5 6 7 8 9 10 11 |
|
Application
Exercice 1.3
Concevoir une page HTML, en utilisant les balises <table> ... </table>
<tr> ... </tr>
<td> ... </td>
permettant d'obtenir la page web suivante :
Eléments de type inline
ou block
Les éléments d'une page sont classifiés en deux types.
Les éléments de type block
vu précédemment :
Type block
Les éléments de type block
occupent toute la largeur de son conteneur et sont espacés d'un saut de ligne avec le bloc suivant.
Exemples d'éléments de type block
: h1
, p
, div
, etc..
Et les éléments de type inline
:
Type inline
Les éléments de type inline
apparaissent à la suite de la ligne en cours sans occuper toute la largeur de son conteneur.
Exemples d'éléments de type inline
: img
, a
, span
, etc...
Balises de texte
Parmi les balises de type inline
, on trouve les balises de texte :
Texte
Les balises de texte permettent de modifier le visuel du texte. Quelques exemples :
Balise | Visuel du texte |
---|---|
<b>...</b> |
Texte en gras |
<u>...</u> |
Texte souligné |
<i>...</i> |
Texte en italique |
<br/> |
Saut de ligne |
1 2 |
|
Lien hypertexte
La balise orpheline d'ancragea
(lien hypertexte) est aussi une balise de type inline
:
Lien hypertexte
Une page HTML se caractérise par le fait qu'elle peut renvoyer vers d'autres pages HTML via des liens hypertextes.
Les balises <a> </a>
(comme ancre) permettent s'insérer un lien hypertexte dans une page HTML :
1 |
|
Ici le lien pointe vers l'adresse web https://www.ac-aix-marseille.fr/ (on parle de lien absolu).
L'attribut href
permet de spécifier l'emplacement de la page ou de la ressource à atteindre.
Le texte contenu entre les balises est le texte d'affichage du lien (ce texte à un style coloré et souligné par défaut).
Considérons l'arborescence suivante pour notre site :
1 |
|
Le fichier page2.html
se trouve ici dans le même répertoire que la page index.html
. On parle ici de lien relatif.
La page 3
est contenue dans un sous-répertoire (nommé dossier) du répertoire contenant la page index.html
.
Le code à ajouter dans la page index.html
est :
1 |
|
La page 4
est contenue dans un sur-répertoire du répertoire contenant la page 1
.
Le code à ajouter dans la page index.html
est :
1 |
|
La balise image est aussi de type inline
:
Image
La balise orpheline <img .../>
permet d'afficher une image dans la page.
1 |
|
L'attribut src
permet de spécifier l'emplacement du fichier image.
L'attribut alt
permet de spécifier un texte alternatif s'affichant uniquement dans le cas ou l'emplacement du fichier image est inaccessible.
Il existe beaucoup d'autres balises (voir ici par exemple), ce cours ne se veut volontairement pas exhaustif, car le programme de NSI ne l'impose pas.
Application
Les balises de structure
Les balises neutres de structure <div> </div>
et <span> </span>
servent à regrouper des éléments pour leur appliquer un style visuel (vous verrez cela dans le chapitre suivant sur le langage CSS).
Elément div
de structure
- L'élément
div
associé aux balises<div> </div>
est un élément dit neutre (sans rôle particulier) de typeblock
. On dit que les balises<div> </div>
sont des balises de structure.
Elément span
de structure
- L'élément
span
associé aux balises<span> </span>
est un élément dit neutre (sans rôle particulier) de typeinline
. Les balises<span> </span>
sont aussi des balises dites de structure.
Les balises structurantes de l'HTML5
On peut noter la présence, depuis l'HTML 5, de balises permettent de mieux structurer une page :
Balises | Détails |
---|---|
<main> </main> |
Contenu principal du body |
<section> </section> |
Section générique regroupant un même sujet |
<header> </header> |
Section d'introduction d'une section ou du document entier (en-tête de page) |
<footer> </footer> |
Section de conclusion d'une section (pied de page) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
|