Remi Forax
“HyperText Markup Language, commonly referred to as HTML, is the standard markup language used to create web pages”
source: Wikipedia.org - HTML
“Langage à balises hypertextes, communément appelé HTML, c'est un langage à balise utilisé standard pour créer des pages Web”
source : Wikipedia.org - HTML
HTML | 1991 |
HTML 2.0 | 1995 |
HTML 3.2 | 1997 |
HTML 4.01 | 1999 |
XHTML 1.0 | 2000 |
HTML 5 | 2014 |
Un élément est défini par un tag de début et un tag de fin
Par exemple, pour mettre en gras
on utilise <b> et </b>
Les caractères < et > sont réservés
pour déclarer des éléments
Il faut une façon de dé-spécialiser ces caractères
caractère | entité | description |
---|---|---|
< | < | less than |
> | > | greater than |
& | & | ampersand |
| non-breakable space |
Il est possible d'indiquer des commentaires
entre les balises <!-- et -->
<!--
Ceci est un commentaire dans le HTML qui ne sera pas affiché
-->
Un document est commence par le tag html
le corps du texte est contenu dans body
h1 indique un titre de rubrique
p définit un paragraphe
<html>
<body>
Hello
C'est le premier paragraphe
Et voici le second paragraphe
</body>
</html>
<html>
<body>
Hello
C'est le premier paragraphe
Et voici le second paragraphe
</body>
</html>
Les éléments sont organisés sous forme d'arbre
L'arbre DOM (Document Object Model)
<html>
<body>
Hello
C'est le premier paragraphe
Et voici le second paragraphe
</body>
</html>
Les éléments entrelacés sont interdits
Impossible de créer l'arbre correspondant
Exemple qui ne marche pas
La plupart des browsers supportent quand même les constructions invalides
Certains éléments n'ont pas de balise fermante,
comme <br> par exemple.
Ceci est un paragraphe
sur plusieurs lignes
La norme XHTML permet d'écrire ces balises comme ceci :
<br/>
Certains éléments définissent des attributs
Il existe trois formes d'attributs :
Ceci est un lien
La norme HTML 5 définit beaucoup trop
d'éléments
pour tous les lister
Voici les principaux éléments organisés en catégories :
Élément | commentaire |
---|---|
<b> ou <strong> | en gras (bold) |
<i> ou <em> | en italique |
<small> | en petit |
barré (strike) | |
<sup>/<sub> | exposant/indice |
<code>
| partie de programme |
Élément | commentaire |
---|---|
section | section |
h1, h2, h3, h4, h5, h6 | titre de section (headings) |
p | paragraphe |
pre | comme à la machine à écrire (preformatted) |
blockquote | citation |
Un exemple
Titre du document
<section>
Titre de section
Premier paragraphe
<pre>
Second paragraphe préformaté
</pre>
</section>
<section>
Titre autre section
C'est trop bien le HTML !
</section>
Même exemple vu sous la forme d'un arbre
Les listes ordonnées :
Les listes non-ordonnées :
Les listes de définitions
Les tableaux à 2 dimensions
Azote | N2 |
Oxygène | O2 |
<table>
<tr>
<td>Azote</td><td>N<sub>2</sub></td>
</tr>
<tr>
<td>Oxygène</td><td>O<sub>2</sub></td>
</tr>
</table>
tr= table row, td= table data
Symbole | % dans l'air | |
---|---|---|
Azote | N2 | 78 % |
Oxygène | O2 | 20 % |
<table>
<thead>
<th></th><th>Symbole</th><th>% dans l'air</th>
</thead>
<tbody>
<tr>
<th>Azote</th><td>N<sub>2</sub></td>
</tr><tr>
<th>Oxygène</th><td>O<sub>2</sub></td>
</tr>
</tbody>
</table>
thead= table header, tbody= table body, th= table header
<a href="http://www.w3c.org/">texte</a>
<a id="foo">texte</a>
référence :
<a href="#foo">texte</a>
On peut bien sûr, combiner les deux
<a href="http://www.bar.com/hello.html#foo">texte</a>
Permet d'inclure un document dans un document
<iframe src="images/html/hello.html"
width="400"
height="300">
</iframe>
<img src="images/html/enquire.jpg"
width="361"
height="282"
alt="Enquire, name used by Tim Berners-Lee before the Web">
alt est utilisé par les clients HTML
non graphiques (ex: lecteur braille)
PNG | Bitmap, compression sans perte | |
GIF | Bitmap, compression sans perte, perte si réduction de la palette |
|
JPEG | Bitmap, compression avec perte | |
SVG | Vectoriel |
<audio controls>
Sorry, no audio for you.
</audio>
Le format mp3 est supporté par tous les browsers,
<video width="640"
height="360"
poster="images/html/upem-poster.jpg"
controls>
Sorry, no video for you.
</video>
Le format mp4 est supporté par tous les browsers,
Avant la balise html, on doit indiquer la version du HTML
HTML 5 |
|
XHTML 1.0 |
|
HTML 4.01 |
|
La balise head permet d'indiquer
des propriétés du document
<!DOCTYPE html>
<html>
<head>
<title>Programmation Web</title>
<meta charset="UTF-8">
</head>
</html>
Méta-donnée sur le document
<meta charset="UTF-8">
<meta name="keywords" content="web, html, css, javascript">
<meta name="author" content="Remi Forax">
Et comment on
On ne fait pas ça en HTML, on utilise CSS pour cela !