Académique Documents
Professionnel Documents
Culture Documents
HTML5
IFNTI L1
23 Avril 2023
Table des matières
1 Historique
2 HTML et XHTML
3 HTML5 et XHTML5
Nouvelles API, nouveaux éléments et nouveaux attributs
Suppression de certains éléments et d’attributs
Le rôle de HTML5 et Types de logiciels dans sa manipulation
4 Organiser son texte
Les paragraphes et les titres
Mettre en valeur
Les listes
Les liens
Les Image
5 Fonctionnalités évoluées
Tableaux
Formulaire
Audio/Vidéo
6 Élément de section
Historique HTML et XHTML HTML5 et XHTML5 Organiser son texte Fonctionnalités évoluées Élément de section
Historique
HTML 1 : c’est la toute première version créée par Tim Berners-Lee en 1991.
HTML 2 : la deuxième version du HTML apparaı̂t en 1994 et prend fin en 1996
avec l’apparition du HTML 3.0. C’est cette version qui posera en fait les bases
des versions suivantes du HTML. Les règles et le fonctionnement de cette
version sont donnés par le W3C (tandis que la première version a été créée par
un seul homme).
HTML 3 : apparue en 1996, cette nouvelle version du HTML rajoute de
nombreuses possibilités au langage comme les tableaux, les applets, les scripts,
le positionnement du texte autour des images, etc.
HTML 4 : il s’agit de la version la plus répandue du HTML (plus précisément, il
s’agit de HTML 4.01). Elle apparaı̂t pour la première fois en 1998 et propose
l’utilisation de frames (qui découpent une page web en plusieurs parties), des
tableaux plus complexes, des améliorations sur les formulaires, etc. Mais surtout,
cette version permet pour la première fois d’exploiter des feuilles de style, notre
fameux CSS !
HTML 5 : c’est la dernière version. Encore assez peu répandue, elle fait
beaucoup parler d’elle car elle apporte de nombreuses améliorations comme la
possibilité d’inclure facilement des vidéos, un meilleur agencement du contenu,
de nouvelles fonctionnalités pour les formulaires, etc. C’est cette version que
nous allons découvrir ensemble.
Sani KOUMOI MOUHAMAM 3 / 41
Historique HTML et XHTML HTML5 et XHTML5 Organiser son texte Fonctionnalités évoluées Élément de section
Après la publication du HTML 4, en 1998, le W3C décida qu’il ne ferait plus évoluer
HTML. Le futur, d’après eux (et les acteurs de ce livre), était représenté par XML :
HTML fut donc figé dans sa version 4.01 et une nouvelle spécification, appélée
XHTML, vit le jour. XHTML est une version XML de HTML : elle exige par
conséquent le respect des règles syntaxiques de XML (valeurs des attributs
systématiquement entre guillemets, utilisation de marqueurs autofermants, etc.). Il en
existe deux variantes (en fait trois si vous tenez compte des frames HTML, qui ont
disparu de HTML 5) : XHTML transitionnel et XHTML strict, la première ayant été
conçue pour faciliter le passage de HTML vers le standard que représente la seconde
variante. En 2006, le W3C admit qu’il avait été peut-être un trop optimiste quand au
passage à XML (et, par extension, à XHTML 2.0). En 2009, le W3C cessa ses travaux
sur XHTML 2.0 et redirigea ses ressoursces vers HTML 5 : il devint alors clair que
HTML5 avait gagné la bataille des philosophies.
<html>
<head>
<title>sans titre< /title>
<meta http-equiv=”content-type” content=”text/html ;charset=utf-8” / >
< /head>
<body>
<p>
<h1> Titre < /h1>
Je suis un paragraphe
< /p>
< /body>
< /html>
Une page web est constituée de deux parties :
L’en-tête <head> : cette section donne quelques informations générales sur la
page comme son titre (balise title), l’encodage (pour la gestion des caractères
spéciaux), etc. Cette section est généralement assez courte. Les informations
que contient l’en-tête ne sont pas affichées sur la page, ce sont simplement des
informations générales à destination de l’ordinateur. Elles sont cependant très
importantes.
Le corps <body> : c’est là que se trouve la partie principale de la page. Tout ce
que nous écrirons ici sera affiché à l’écran. C’est à l’intérieur du corps que nous
écrirons la majeure partie de notre code.
Sani KOUMOI MOUHAMAM 6 / 41
Historique HTML et XHTML HTML5 et XHTML5 Organiser son texte Fonctionnalités évoluées Élément de section
Comme nous l’avons dit, le W3C voulait une version XML de HTML qui est XHMTL.
La différence est qu’un code XHTML peut être vérifier sur le plan syntaxe car il
respecte toutes les régles syntaxiques de XML. Voici un exemple de code
<!DOCTYPE html PUBLIC ”-//W3C//DTD XHTML 1.0 Strict//EN”
”http ://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
<html xmlns=”http ://www.w3.org/1999/xhtml” xml :lang=”en” lang=”en”>
<head>
<title>sans titre< /title>
<meta http-equiv=”content-type” content=”text/html ;charset=utf-8” / >
< /head>
<body>
<p>
<h1> Titre du paragraphe < /h1>
Je suis un paragraphe
< /p>
< /body>
< /html>
Couche application
HTML5 n’est pas seulement un langage. Il contient également une couche application
et un algorithme pour les mauvaises écritures syntaxique (Ex : <p> <h1> Titre
< /p>< /h1>). La partie application est composée de huit nouvelles API qui
pourront aider à créer des applications web et qui peuvent être utilisées ensemble avec
de nouveaux éléments introduits pour les applications.
Éléments
main : définit le contenu principal de la page, il doit être unique dans la page.
header : spécifie une introduction, ou un groupe d’éléments de navigation pour
le document.
footer : définit le pied de page d’un article ou un document. Contient
généralement le nom de l’auteur, la date à laquelle le document a été écrit et /
ou ses coordonnées.
nav : définit une section dans la navigation.
Sani KOUMOI MOUHAMAM 9 / 41
Historique HTML et XHTML HTML5 et XHTML5 Organiser son texte Fonctionnalités évoluées Élément de section
Attributs
media : permet de spécifier pour quel média ou appareil il est
optimisé.(balise a)
type : définit le MIME de la cible URL. (balise a)
form : spécifie à quel formulaire le bouton appartient. (balise
button)
manifest : URL de déclaration (manifest) des fichiers pour un
usage hors ligne. (balise html)
etc ...
Élément
basefont
big
center
font
etc ...
Attributs
charset (balise a)
accept (balise form)
profile (balise head)
version (balise html)
etc ...
Importance de HTML5
HTML5 permet de réaliser des sites web (une page constituée de texte, d’image, des
ressources multimédias et des liens vers d’autres pages) et des applications web
(application au même titre que les applications bureau mais utilisées en ligne que ça
soit intranet ou internet).
Paragraphes et Titres
Paragraphes
La plupart du temps, lorsqu’on écrit du texte dans une page web, on le fait à
l’intérieur de paragraphes. Le langage HTML propose justement la balise <p> pour
délimiter les paragraphes.
<p> Je suis un paragraphe < /p>
vous pouvez plusieurs paragraphes successives sur une page ou séparés par d’autres
balise.
Titres
Lorsque le contenu de votre page va s’étoffer avec de nombreux paragraphes, il va
devenir difficile pour vos visiteurs de se repérer. C’est là que les titres deviennent
utiles. En HTML, on est verni, on a le droit d’utiliser six niveaux de titres différents.
Je veux dire par là qu’on peut dire Ceci est un titre très important , Ceci est un
titre un peu moins important , Ceci est un titre encore moins important , etc.
On a donc six balises de titres différentes :
<h1> < /h1> : signifie titre très important . En général, on s’en sert pour
afficher le titre de la page au début de celle-ci
<h2> < /h2> : signifie titre important
Paragraphes et Titres
Titres
<h3> < /h3> : pareil, c’est un titre un peu moins important (on peut dire un
sous-titre
NOTES
Attention : ne confondez pas avec la balise <title> ! La balise <title> affiche le titre
de la page dans la barre de titre du navigateur comme nous l’avons vu. Les titres
<h1> et compagnie, eux, servent à créer des titres qui seront affichés dans la page
web.
Mettre en valeur
Mettre en valeur
Pour mettre un peu en valeur votre texte, vous devez utiliser la balise de votre choix.
Les balises
<em> < /em> : elle permet de mettre le texte en italique
<strong> < /strong> : permet de mettre en gras texte
<u> < /u> : permet de surligner le texte
Exemple
<!DOCTYPE html> <html>
<head>
<meta charset=”utf-8” / >
<title>Paragraphes< /title>
< /head>
<body>
<p>
Bienvenue sur <strong>mon site< /strong>.
Je suis un <em>developpeur< /em>.
<em><strong><mark>
utilisation simultanée des trois balises < /mark>< /strong>< /em>
< /p>
< /body>
Sani KOUMOI MOUHAMAM 15 / 41
Historique HTML et XHTML HTML5 et XHTML5 Organiser son texte Fonctionnalités évoluées Élément de section
Les listes
Listes
Les listes nous permettent souvent de mieux structurer notre texte et d’ordonner nos
informations. Nous allons découvrir ici deux types de listes :
Les liens
Liens
Un lien est un texte sur lequel on peut cliquer pour se rendre sur une autre page. On
peut faire un lien d’une page a.html vers une page b.html, mais on peut aussi faire un
lien vers un autre site (par exemple, http://www.alaza.tg). Dans les deux cas, nous
allons voir que le fonctionnement est le même. Il est facile de reconnaı̂tre les liens sur
une page : ils sont écrits d’une façon + différente (par défaut, en bleu et soulignés) et
un curseur en forme de main apparaı̂t lorsqu’on pointe dessus.
Exemples
<!– Lien vers un site –>
<a href=”http ://www.alaza.tg”> Side de Alaza < /a>
<!– Lien vers une page autre page de mon site –>
<a href=”page2.html> Page 2 < /a>
<!– Lien vers une autre page de mon site qui se trouve dans un autre dossier –>
<a href=”IFNTI/page2.html”> Page 2 se trouvant dans le dossier IFNTI < /a>
Les liens
NOTE
Pour afficher un infobulle sur un lien, on utilise l’attribut title dont la valeur sera le
texte que vous voulez afficher lorsque l’utilisateur pointera le souris sur le lien.
Les Image
NOTE
Pour afficher un infobulle sur une image, on utilise l’attribut title dont la valeur sera le
texte que vous voulez afficher lorsque l’utilisateur pointera la souris sur le lien.
Sani KOUMOI MOUHAMAM 19 / 41
Historique HTML et XHTML HTML5 et XHTML5 Organiser son texte Fonctionnalités évoluées Élément de section
Tableaux
Les tableaux
Ils sont indispensables pour organiser les informations. Nous allons commencer par
construire des tableaux basiques, puis nous les complexifierons au fur et à mesure. La
balise qui permet de créer un tableau est table. Pour ajouter une ligne dans le tableau,
on utilise la balise tr. Pour mettre du contenu dans les cellules, on utilise la balise td.
La différenciation des cellules d’en-tête avec les autres se fait avec la balise th. Et
enfin la balise caption permet de un titre au tableau.
Exemple
<table>
<caption> Mon tableau < /caption>
<tr>
<th> Prénom < /th>
<th> Âge < /th>
< /tr>
<tr>
<td> Anna < /td>
<td> 25 ans < /td>
< /tr>
< /table>
Tableaux
Fusion de cellule
Dans certains tableaux complexes, vous aurez besoin de fusionner des cellules
entre elles. Pour effectuer une fusion, on rajoute un attribut à la balise <td>. Il faut
savoir qu’il existe deux types de fusion :
Tableaux
Fusion de cellule
Formulaire
Toute page HTML peut être enrichie de formulaires interactifs, qui invitent vos
visiteurs à renseigner des informations : saisir du texte, sélectionner des options, valider
avec un bouton. . . tout est possible. Ceci (formulaire) se crée avec la balise form. En
attendant, nous avons un grand nombre de nouvelles balises HTML à découvrir.
Exemple
<h1> Mon formulaire < /h1>
<form>
<!– code de mon formulaire –>
< /form>
Formulaire
On va prendre un exemple pour que les choses soient claires. Supposons que votre
visiteur vienne de taper un commentaire dans votre formulaire, par exemple un
message qu’il aimerait publier sur vos forums. Ce message doit être envoyé pour que
vous puissiez le recevoir et l’afficher pour vos autres visiteurs.
Problèmes
1 Comment envoyer le texte saisi par le visiteur ? Par quel moyen ?
2 Une fois que les données ont été envoyées, comment les traiter ? Souhaitez-vous
recevoir le message automatiquement par mail ou préférez-vous qu’un
programme se charge de l’enregistrer quelque part, puis de l’afficher sur une
page visible par tout le monde ?
Formulaire
Formulaire
Élément du formulaire
Prenons un étudiant de IFNTI. Il a ses coordonnées qui sont nom, , date de naissance,
sexe, Nombre de frère et sœur, Tel, code secret et email. Et en plus il a des
informations personnelles par rapport à IFNTI (les UE validées et commentaire sur le
fonctionnement de IFNTI). Pour récupérer un champ, nous avons besoin de la balise
input. Et pour dire que c’est du texte qu’on veut récupérer, on donne la valeur text à
l’attribut type.
Exemple
<h1> Mon formulaire < /h1>
<form method=”post” action=”traitement.php”>
<input type=”text”/ >
< /form>
Le résultat de ce code donne un champ de saisie seul. Pour avoir le libellé (Nom : ),
nous allons utiliser la balise label.
Exemple
<h1> Mon formulaire < /h1>
<form method=”post” action=”traitement.php”>
<label> Nom < /label> : <input type=”text”/ >
< /form>
Formulaire
Élément du formulaire
Nous voyons que, nous avons ce que nous voulons, mais pas totalement. Car pour
saisir, nous devons obligatoirement cliquer dans la zone de saisie. Pour avoir la
possibilité de saisir en cliquant sur le label, nous devons utiliser l’attribut for de la
balise label. Cet attribut doit avoir la même valeur que l’attribut id de la balise input.
Exemple
<h1> Mon formulaire < /h1>
<form method=”post” action=”traitement.php”>
<label for=”nom”> Nom < /label> : <input type=”text” id=”nom”/ >
< /form>
Exemple
<h1> Mon formulaire < /h1>
<form method=”post” action=”traitement.php”>
<label for=”nom”> Nom < /label> : <input type=”text” id=”nom”
name=”nom”/ >
< /form>
Formulaire
Élément du formulaire
Pour dire que ce champ est obligatoire, on utilise l’attribut required (sans valeur). Et
pour donner une indication sur le contenu qu’il faut écrire, on utilise l’attribut
placeholder.
Exemple
<h1> Mon formulaire < /h1>
<form method=”post” action=”traitement.php”>
<label for=”nom”> Nom < /label> :
<input type=”text” id=”nom” name=”nom” placeholder=”Exemple : KOUMOI”
required/ >
< /form>
Formulaire
Élément du formulaire
Exemple
<h1> Mon formulaire < /h1>
<form method=”post” action=”traitement.php”>
<label for=”nom”> Nom < /label> :
<input type=”text” id=”nom” name=”nom” placeholder=”Exemple : KOUMOI”
required/ >
<br/ >
<label for=”prenom”> Prenom < /label> :
<input type=”text” name=”prenom” id=”prenom” placeholder=”Exemple :
Azia” required/ >
< /form>
La balise <br/ > signifie aller à la ligne.
Formulaire
Élément du formulaire
Exemple
<h1> Mon formulaire < /h1>
<form method=”post” action=”traitement.php”>
...
<label for=”dateNaissance”> Date Naissance < /label> :
<input type=”date” name=”dateNaissance” id=”dateNaissance” required/ >
< /form>
Formulaire
Élément du formulaire
Pour le sexe, l’utilisateur ne fera qu’un seul choix parmi deux choses. Donc nous allons
utiliser les boutons radio.
Exemple
<h1> Mon formulaire < /h1>
<form method=”post” action=”traitement.php”>
...
<input type=”radio” name=”sexe” id=”masculin” value=”Masculin”/ >
<label for=”masculin”> Masculin < /label>
<br/ >
<input type=”radio” name=”sexe” id=”feminin” value=”Feminin”/ >
<label for=”feminin”> Feminin < /label>
< /form>
La différence avec ce qu’on a déjà vu est que la valeur de l’attribut type est radio et
qu’on a un nouvel attribut qui est value avec pour valeur le nom du sexe.
Formulaire
Élément du formulaire
Nombre de frère et soeur. La valeur de l’attribut type doit être number. Nous pouvons
limiter le nombre minimal à 0 et le nombre maximal 100
Exemple
<h1> Mon formulaire < /h1>
<form method=”post” action=”traitement.php”>
...
<label for=”nombreFS”> Nombre de frères et sœurs < /label> :
<input type=”number” name=”nombreFS” id=”nombreFS”/ >
< /form>
Exemple
<h1> Mon formulaire < /h1>
<form method=”post” action=”traitement.php”>
...
<label for=”telephone”> Téléphone < /label> :
<input type=”tel” name=”telephone” id=”telephone”/ >
< /form>
Formulaire
Élément du formulaire
Supposons que l’étudiant doit avoir un code secret. La valeur de l’attribut type doit
être password
Exemple
<h1> Mon formulaire < /h1>
<form method=”post” action=”traitement.php”>
...
<label for=”code”> Password < /label> :
<input type=”password” name=”code” id=”code”/ >
< /form>
On suppose aussi que chaque étudiant à un e-mail. La valeur de l’attribut type doit
être email
Exemple
<h1> Mon formulaire < /h1>
<form method=”post” action=”traitement.php”>
...
<label for=”email”> E-mail < /label> :
<input type=”email” name=”email” id=”email”/ >
< /form>
Formulaire
Élément du formulaire
Vous remarquerez que lorsqu’on saisie une chose qui ne ressemble pas à un e-mail, le
navigateur dit que ce n’est pas un e-mail. Or nous n’avons pas écrit une ligne de
Javascript. C’était ce qui se faisait en HTML4. C’est une des raisons du choix de
HTML5.
Si nous remarquons bien les informations que nous voulons recupérer, elles sont
scindées en deux catégories :
les coordonnées de l’étudiant (c’est la partie qui est déjà faite)
les informations de l’étudiant par rapport à IFNTI (réalisation futur proche)
Pour que cette séparation soit visible sur le formulaire, on utilise la balise fieldset. Et
pour donner une légende (à peu près un titre), on utilise la balise legend
Exemple
<h1> Mon formulaire < /h1>
<form method=”post” action=”traitement.php”>
<fieldset> <legend> Vos coordonnées< /legend> < /fieldset>
<fieldset> <legend> Vos informations par rapport à IFNTI < /legend>
< /fieldset>
< /form>
Formulaire
Élément du formulaire
Les UE validées par l’étudiant. Ici, il est question de faire 0 ou plusieurs choix parmi
une multitude de chose. Donc ce sont des cases à cocher. Rien ne changer, sauf que la
valeur de l’attribut type doit être ”checkbox”.
Exemple
<h1> Mon formulaire < /h1>
<form method=”post” action=”traitement.php”>
...
<fieldset>
<legend> Vos informations par rapport à IFNTI < /legend>
Cochez les UE que vous avez validées <br/ >
<input type=”checkbox” name=”dap” id=”dap”/ >
<label for=”dap”> DAP < /label>
<br/ >
<input type=”checkbox” name=”BD” id=”bd”/ >
<label for=”bd”> BD < /label>
<br/ >
<input type=”checkbox” name=”anglais” id=”anglais”/ >
<label for=”anglais”> Anglais < /label>
<br/ >
< /fieldset>
< /form>
Sani KOUMOI MOUHAMAM 35 / 41
Historique HTML et XHTML HTML5 et XHTML5 Organiser son texte Fonctionnalités évoluées Élément de section
Formulaire
Élément du formulaire
Donner son avis sur le fonctionnement de IFNTI. L’avis peut être une ou plusieurs
phrases. Par conséquent il nous faut balise qui peut contenir plusieurs lignes. Cette
balise est textarea
Exemple
<h1> Mon formulaire < /h1>
<form method=”post” action=”traitement.php”>
...
<fieldset>
<legend> Vos informations par rapport à IFNTI< /legend>
...
<label for=”avis”> Donner votre avis sur le fonctionnement de IFNTI < /label>
<textarea name=”avis” id=”avis”>< /textarea>
< /fieldset>
< /form>
Formulaire
Exemple
<h1> Mon formulaire < /h1>
<form method=”post” action=”traitement.php”>
...
<input type=”submit” value=”Envoyer”/ >
<input type=”reset” value=”Annuler”/ >
< /form>
Audio/Vidéo
Audio/Vidéo
Nom Détails
Section d’introduction d’un article, d’une
<header> autre section ou du document entier (en-
tête de page).
Section de conclusion d’une section ou
<footer> d’un article, voire du document entier
(pied de page).