Le langage HTML 4.01 - Cours HTML

L'auteur de cette page est : Jean-Baptiste Yunes

Ce document constitue le support d'un cours de normalisation HTML.

Un document conforme à la spécification 4.01 est composé de trois parties :

  1. une ligne permettant d'identifier la version,
  2. une section déclarative délimitée par la balise <HEAD>,
  3. le corps du document délimité par la balise <BODY> ou <FRAMESET>.

Voici un exemple de document dont vous pouvez voir le résultat :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
   <HEAD>
      <TITLE>Super document</TITLE>
   </HEAD>
<BODY>
   <P>Mon premier document
</BODY>
</HTML>

La première ligne permet d'identifier la version du langage utilisée (ici HTML 4.01) ainsi que le type du document. Il en existe trois :

Ensuite on trouve un certain nombre de balises permettant de structurer le texte ou d'identifier certaines propriétés de celui-ci.

<HTML>

Cette balise optionnelle permet d'indiquer ce qui constitue le document lui-même. Elle existe sous la forme ouvrante <HTML> et fermante </HTML>. Elle possède aussi deux attributs optionnels : lang et dir.

L'entête de document

L'entête est normalement délimitée par la paire de balises <HEAD> entête </HEAD> qui sont optionnelles. Elle possède les attributs profile, lang et dir.

À l'intérieur de cette balise on peut trouver les suivantes :

<TITLE>
permet de spécifier le titre du document. Cette balise encadre le titre lui-même, elle est disponible sous forme ouvrante et fermante est est obligatoire. Il est recommandé d'être explicite, donc de préférer Introduction à la démocratie plutôt que Introduction. Par exemple :
<TITLE>Introduction à la reproduction nocturne des manchots en terre Adélie</TITLE>

Elle possède les attributs lang et dir.

<META>
permet de spécifier des informations sur le document lui-même. Cette balise n'existe pas sous forme fermante. Elle possède les attributs lang, dir, http-equiv, name, content et scheme. L'attribut content est obligatoire ainsi qu'un parmi http-equiv ou name. Par exemple :
<META lang="fr" name="Author" content="Jean-Baptiste Yunès">
<META http-equiv="Expires" content="Tue, 14 Nov 2000 16:00:00 GMT">
<META lang="fr" name="keywords" content="manchots, bandits, reproduction, terre adélie">
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<META http-equiv="Content-Script-Type" content="text/javascript">

Dans la première ligne on précise le nom de l'auteur du document. Dans la seconde on spécifie une date d'expiration qui devrait être renvoyée dans l'entête Expires: de la réponse HTTP. La troisième spécifie une liste de mots-clés qui pourront être utilisés par des moteurs de recherche afin d'indexer le document. L'avant dernière permet de renvoyer dans l'entête de la réponse HTTP le champ Content-Type: indiquant qu'il s'agit d'un document HTML utilisant le jeu de caractères Latin-1. La dernière indique au navigateur que le langage de script utilisé par défaut sera du Javascript.

<LINK>
permet d'exprimer des relations entre le documents et d'autres. Cette balise n'existe pas sous forme fermante. Elle possède les attributs suivants lang, dir, id, class, style, title, charset, href, hreflang, type, rel, rev, media ainsi que les tous les évènements. Par exemple :
<LINK rel="Index" href="../index.html">
<LINK rel="Prev" href="a.html">
<LINK rel="Next" href="b.html">
<LINK title="in English" type="text/html" rel="alternate" hreflang="en" href="repro.en.html">
<LINK title="À imprimer" type="application/postscript" rel="alternate" media="print" href="repro.ps">
<LINK title="À voir" type="video/mpeg" rel="alternate" media="tv" href="repro.mpg">

Dans le première ligne on déclare un lien vers l'index logique contenant ce document, la seconde permet d'indiquer un document logiquement situé avant celui-ci dans une navigation linéaire et la troisième le document situé après. Les trois lignes suivantes déclarent des documents alternatifs permettant de choisir ou bien un autre langage (la ligne 4 fournit une version anglaise du document) ou bien une version destinée à un autre support (la ligne 5 fournit une version à imprimer et la ligne 6 un film à visionner).

<BASE>
permet de spécifier la racine des URI relatifs. Cette balise n'a pas d'équivalent fermant. Elle ne possède qu'un seul attribut : href qui permet de spécifier la nouvelle racine. Par exemple :
<BASE href="http://manchots-sex.org/reproduction/hard/">

ainsi une URI relative comme ../soft/images/male.jpg sera résolue en http://manchots-sex.org/reproduction/soft/images/male.jpg.

Le corps du document

Le corps est normalement délimité par les balises optionnelles <BODY> corps </BODY>. Cette balise possède les attributs lang, dir, id, class, style, title, onload, onunload et les évènements.

À l'intérieur de cette balise on habituellement trouve du texte balisé ou non. Certaines balises définissent des blocs de texte (block-level elements) et d'autres un simple marquage( inline elements).

Les groupements

Il existe deux balises génériques de groupement :

<DIV>
qui permet de réaliser un bloc. Cette balise possède une forme fermante obligatoire. Elle possède aussi les attributs lang, dir, id, class, style, title, et les évènements. Par exemple (voir le résultat) :
<DIV class="poeme" id="19532">
<DIV class="bis" id="19533">Voici le mois de mai,<BR>
Où les fleurs volent au vent,</DIV>
Où les fleurs volent au vent, si jolie mignonne,<BR>
Où les fleurs volent au vent si mignonnement.</DIV>

En général un bloc de texte ainsi délimité est représenté en commençant une nouvelle ligne.

<SPAN>
qui ne permet qu'un simple marquage dans le flot linéaire du texte. Cette balise possède une forme fermante obligatoire. Elle possède aussi les attributs lang, dir, id, class, style, title, et les évènements. Par exemple (voir le résultat) :
Les manchots sont des animaux. De plus, ils se <SPAN class="exergue">reproduisent</SPAN> et
sur la <SPAN class="nouveauterme">banquise</SPAN> même.

Les entêtes

Ils permettent de définir des sections du texte. Ces balises structures le texte puisqu'avec leur utilisation on peut segmenter le document en parties, sous-parties, sous-sous-parties (jusqu'au niveau de profondeur 6 très largement suffisant). Non seulement elles permettent de structurer mais en plus un titre est fournit pour chaque segment. Ces balises sont <H1> titre </H1>, <H2> sous-titre </H2>, <H3>sous-sous-titre </H3>, <H4> sous3-titre</H4>, <H5> sous4-titre </H5> et <H6> sous5-titre </H6>. Les attributs de ces différentes balises sont : lang, dir, id, class, style, title, et les évènements. Par exemple (voir le résultat) :

<H1>Première division</H1>
Nous trouvons dans cette division les plus grands clubs sportifs pratiquant le
lancer de cacahuètes à mains nues
<H2>Trifouilly-les-oies</H2>
Célèbre contrée de notre joli pays...
<H2>Pétaouchnok</H2>
Lieu de la mythique bataille des glorieuses troupes grosléonniennes et
crétinoises.
<H1>Deuxième division</H1>
<H2>Toutenstok</H2>
Lieu-dit situé à l'extrémité orientale de la sibérie...

qui produit le résultat :

Première division

Nous trouvons dans cette division les plus grands clubs sportifs pratiquant le lancer de cachuètes à mains nues

Trifouilly-les-oies

Célèbre contrée de notre joli pays...

Pétaouchnok

Lieu de la mythique bataille des glorieuses troupes grosléonniennes et crétinoises.

Deuxième division

Toutenstok

Lieu-dit situé à l'extrémité orientale de la sibérie...

Les adresses

La balise <ADDRESS> texte </ADDRESS> doit être utilisée pour fournir au lecteur toute information permettant d'indentifier ou contacter l'auteur du document (ou d'une partie importante du document comme un formulaire). Les attributs possibles sont : lang, dir, id, class, style, title, et les évènements. Par exemple :

<ADDRESS>Jean-Baptiste Yunès, LIAFA, Université Paris 7 - Denis Diderot</ADDRESS>

qui produit le résultat :

Jean-Baptiste Yunès, LIAFA, Université Paris 7 - Denis Diderot

Le texte

Le texte est constitué de mots séparés par une suite de caractères d'espacement, comme tout texte habituellement constitué. Mais pour HTML les caractères d'espacement sont ASCII(0x20), ASCII(0x09), ASCII(0x0C) et Unicode(0x200B). De plus la longueur de la suite peut ne pas compter. L'interprétation minimale d'une telle suite est simplement de délimiter les mots sauf pour la balise <PRE>.

Il existe plusieurs balises permettant de distinguer les éléments d'une phrase. Celles-ci définissent un marquage linéaire ne brisant pas le flot du texte :

<EM>
de la forme <EM> texte </EM> (balise fermante obligatoire). Elle sert à spécifier une mise en évidence. Par exemple :
C'est <EM>a priori</EM> définit.

produit le résultat :

C'est a priori définit.

Elle possède les attributs lang, dir, id, class, style, title et les évènements.

<STRONG>
de la forme <STRONG> texte </STRONG> (balise fermante obligatoire). Elle sert à spécifier une mise en évidence renforçée. Par exemple :
Que dire de plus! La conversation est <STRONG>close</STRONG>.

produit le résultat :

Que dire de plus! La conversation est close.

Elle possède les attributs lang, dir, id, class, style, title et les évènements.

<CITE>
de la forme <CITE> texte </CITE> (balise fermante obligatoire). Elle sert à citer un auteur ou une source. Par exemple :
Comme a pu le dire <CITE>Jean-Sébastien Bach</CITE> : il ne faut pas fuguer.

produit le résultat :

Comme a pu le dire Jean-Sébastien Bach : il ne faut pas fuguer.

Elle possède les attributs lang, dir, id, class, style, title et les évènements.

<DFN>
de la forme <DFN> texte </DFN> (balise fermante obligatoire). Elle permet d'inclure des définitions. Par exemple :
Les manchots <DFN>(animaux modernes)</DFN> ne sont pas à confondre
avec les machos <DFN>(hommes préhistoriques)</DFN>.

produit le résultat :

Les manchots (animaux modernes) ne sont pas à confondre avec les machos (hommes préhistoriques).

Elle possède les attributs lang, dir, id, class, style, title et les évènements.

<CODE>
de la forme <CODE> texte </CODE> (balise fermante obligatoire). Elle permet d'exhiber des fragments de code source. Par exemple :
Voici comment déclarer un entier et l'initialiser : <CODE>int i=0;</CODE>

produit le résultat :

Voici comment déclarer un entier et l'initialliser : int i=0;

Elle possède les attributs lang, dir, id, class, style, title et les évènements.

<SAMP>
de la forme <SAMP> texte </SAMP> (balise fermante obligatoire). Elle permet d'exhiber des graments de résultats produit par des applications. Par exemple :
Voici le résultat de <CODE>printf("Bonjour\n");</CODE> : <SAMP>Bonjour</SAMP>

produit le résultat :

Voici le résultat de printf("Bonjour\n"); : Bonjour

Elle possède les attributs lang, dir, id, class, style, title et les évènements.

<KDB>
de la forme <KBD> texte </KBD>(balise fermante obligatoire). Elle permet d'indiquer ce que l'utilisateur doit donner en entrée d'un programme. Par exemple :
Pour lancer la commande "ls", attendez l'invite <SAMP>$ </SAMP>,
puis tapez <KBD>ls</KBD>

qui produit le résultat :

Pour lancer la commande "ls", attendez l'invite $, puis tapez ls

Elle possède les attributs lang, dir, id, class, style, title et les évènements.

<VAR>
de la forme <VAR> texte </VAR> (balise fermante obligatoire). Elle permet de spécifier une variable ou un argument. Par exemple :
Pour déclarer une variable <VAR>i</VAR> de type entier,
c'est <CODE>int i;</CODE>

qui produit le résultat :

Pour déclarer une variable i de type entier, c'est int i;

Elle possède les attributs lang, dir, id, class, style, title et les évènements.

<ABBR>
de la forme <ABBR> texte </ABBR> (balise fermante obligatoire). Elle permet de spécifier une forme abrégée. Par exemple :
L'abréviation de Massachusett est <ABBR>Mass.</ABBR>

produit le résultat :

L'abréviation de Massachusett est Mass.

Elle possède les attributs lang, dir, id, class, style, title et les évènements.

<ACRONYM>
de la forme <ACRONYM> texte </ACRONYM> (balise fermante obligatoire). Elle permet de spécifier un acronyme. Par exemple :
Tout le monde sait que <ACRONYM>radar</ACRONYM> c'est l'acronyme
de <DFN>radio detection and ranging</DFN>.

produit le résultat :

Tout le monde sait que radar c'est l'acronyme de radio detection and ranging.

Elle possède les attributs lang, dir, id, class, style, title et les évènements.

Il est possible de définir des éléments permettant de citer un texte :

<BLOCKQUOTE>
dont la forme est <BLOCKQUOTE> texte </BLOCKQUOTE> (balise fermante obligatoire). Elle permet de citer un texte en définissant un nouveau bloc. Par exemple :
Comme l'a dit <CITE>Jean-Sebastien Bach</CITE>
<BLOCKQUOTE>Il ne sert a rien de fuguer<BR>
surtout si l'on est mal tempéré</BLOCKQUOTE>

qui produit le résultat :

Comme l'a dit Jean-Sebastien Bach
Il ne sert a rien de fuguer
surtout si l'on est mal tempéré

Les attributs sont lang, dir, class, id, style, title, cite et les évènements.

<Q>
dont la forme est <Q> texte </Q> (balise fermante obligatoire). Elle permet de citer un texte court en ne romptant pas la linéarité du texte. Par exemple :
Comme l'a dit <CITE>Jean-Sebastien Bach</CITE>
<Q>il ne sert a rien de fuguer</Q>.

qui produit le résultat :

Comme l'a dit Jean-Sebastien Bachil ne sert a rien de fuguer.

Les attributs sont lang, dir, class, id, style, title, cite et les évènements.

Il existe aussi deux balises permettant de placer du texte en exposant (superscript) ou en indice (subscript) :
<SUB>
dont la forme est <SUB> texte </SUB> (balise fermante obligatoire). Elle permet de placer le texte en indice. Par exemple :
Savez-vous ce que représente H<SUB>2</SUB>O ?

qui produit le résultat :

Savez-vous ce que représente H2O ?

Les attributs sont lang, dir, id, class, style, title et les évènements.

<SUP>
dont la forme est <SUP> texte </SUP> (balise fermante obligatoire). Elle permet de placer le texte en exposant. Par exemple :
M<SUP>elle</SUP> Françoise Dupont

produit le résultat :

Melle Françoise Dupont

Les attributs sont lang, dir, id, class, style, title et les évènements.

La notion de paragraphe est représentée par la balise <P> dont la forme fermante </P> est optionelle. Un paragraphe ne contient pas d'élément de type bloc, dont toute tentative de définition d'un bloc en son sein termine implicitement le paragraphe. Par exemple :

<P>Ceci est un paragraphe de texte.

Ici nous sommes dans le même paragraphe. Les sauts de ligne ne représentent rien d'autre
qu'un espacement habituel.</P>
<P>Voici un autre paragraphe</p>

produit le résultat suivant :

Ceci est un paragraphe de texte. Ici nous sommes dans le même paragraphe. Les sauts de ligne ne représentent rien d'autre qu'un espacement habituel.

Voici un autre paragraphe.

Les attributs de la balise <P> sont : lang, dir, title, id, class, style et les évènements.

Il est possible de forcer la fin de ligne à la manière d'un retour chariot des textes ASCII purs. Pour cela la balise <BR> (dont la forme fermante n'existe pas) est définie. Par exemple :

<P>Voici un paragraphe contenant du texte. Maintenant je vais poser un saut de ligne :<BR>
Mais nous sommes encore dans le même paragraphe.</P>
<P>Voici un autre paragraphe</P>

produit le résultat suivant :

Voici un paragraphe contenant du texte. Maintenant je vais poser un saut de ligne :
Mais nous sommes encore dans le même paragraphe.

Voici un autre paragraphe.

Les attributs de la balise <BR> sont : title, id, class, style et les évènements.

Sachant que l'application chargée du rendu du document est libre de choisir la position de la coupure d'une ligne dans le texte courant (son choix peut se porter sur n'importe quel espacement), il est parfois nécessaire de l'empêcher de couper à certains endroits précis. Pour cela HTML 4.01 définit le caractère d'espacement insécable &nbsp ou &#160; ou encore &#xA0;. Par exemple :

Il n'est pas permis de couper entre HTML et 4.01 : HTML&nbsp;4.01

De plus il est aussi nécessaire de permettre la césure de certains mots. C'est le rôle du caractère &shy; ou &#173; ou encore &#xAD;.

La balise de texte préformaté <PRE> dont la balise fermante </PRE> est obligatoire, permet de faire appraître du texte comme il est spécifié : c'est-à-dire de conserver ses propriétés de formatage. Par exemple :

Du texte.

Encore du   texte.
<PRE>Du texte.

Encore    du    texte.</PRE>

produit le résultat suivant :

Du texte. Encore du texte.

Du texte.

Encore    du    texte.

Les attributs de la balise <PRE> sont : lang, dir, title, id, class, style et les évènements.

Il existe deux balises permettant de faire apparaître des parties qui auraient pu apparaître ou disparaître lors d'une modification du texte. C'est très utile pour rendre visible des chagements notables. Les balises sont :

<INS>
dont la forme est <INS> texte </INS> (balise fermante obligatoire). Qui permet de mettre en exergue une nouvelle partie du texte.

Les attributs de la balise <INS> sont : lang, dir, title, id, class, style, cite, datetime et les évènements.

<DEL>
dont la forme est <DEL> texte </DEL> (balise fermante obligatoire). Qui permet de mettre en exergue une anciennt partie du texte.

Les attributs de la balise <DEL> sont : lang, dir, title, id, class, style, cite, datetime et les évènements.

Par exemple :

Nous <DEL>(Joe, Jack, William, Averell)</DEL> <INS>(Ma et ses fils)</INS> avons décidé
d'attaquer la banque à <DEL>trois</DEL> <INS>deux</INS> heures.

produit le résultat suivant :

Nous (Joe, Jack, William, Averell) (Ma et ses fils) avons décidé d'attaquer la banque à trois deux heures.

Les listes

Il existe trois types de listes : non ordonnées, ordonnées et de définitions. Chaque liste pouvant contenir d'autres listes.

Les listes ordonnées ou non

Elles sont définies en utilisant les balises suivantes :

<UL>
dont la forme est <UL> liste </UL> (balise fermante obligatoire). Elle permet de définir une liste d'éléments non ordonnés. Les attributs sont : lang, dir, id, class, title, style et les évènements.
<OL>
dont la forme est <OL> liste </OL> (balise fermante obligatoire). Elle permet de définir une liste d'éléments ordonnés. Les attributs sont : lang, dir, id, class, title, style et les évènements.

Les éléments de ces deux types de liste sont définis par la balise <LI> dont la forme fermante </LI> est optionnelle. Les attributs sont : lang, dir, id, class, title, style et les évènements. Par exemple :

<H1>Le coq au vin blanc</H1>
<H2>Ingrédients</H2>
Pour huit personnes :
<UL>
  <LI>1 coq d'environ 2,5 kg découpé
  <LI>250 g. de parures et os de volaille
  <LI>8 tomates
  <LI>250 g. de champignons de Paris
  <LI>3 échalottes
  <LI>&frac12; botte de persil
  <LI>&frac12; botte de cerfeuil
  <LI>&frac12; botte d'estragon
  <LI>150 g. de beurre
  <LI>20 cl. d'huile
  <LI>35 cl. de vin blanc sec
  <LI>2 cuillère à soupe de Cognac
  <LI>1 cuillère à soupe de farine
  <LI>sel
  <LI>poivre
</UL>
<H2>Temps</H2>
Préparation : 35 mn.<BR>
Cuisson : 2 heures.
<H2>Procédure</H2>
<OL>
  <LI>Faites chauffer 10 cl. d'huile et 60 g. de beurre dans une cocotte,
  <LI>Dès que le beurre chante, faites-y revenir le cou, les ailerons et les os de volaille.
  <LI>Laisser dorer 10 mn. en retournant les morceaux plusieurs fois
  <LI>Saupoudrez de farine, mélangez et laissez roussir légèrement la farine
  <LI>Recouvrez d'eau, couvrez et laisser mijoter 45 mn. à feu doux
  <LI>Passez le bouillon dans une fine passoire afin de le récupérer
  <LI>Après incision, plongez quelques secondes les tomates dans de l'eau bouillante
     et retirez-en la peau puis les graines
  <LI>Hachez la pulpe
  <LI>Lavez le persil, le cerfeuil et l'estragon, puis hachez les finement
  <LI>Pelez et hachez les échalottes
  <LI>Assaisonnez de sel et poivre les cuisses et filets du coq
  <LI>Faites chauffer 10cl. d'huile et 60 g. de beurre dans une sauteuse
  <LI>Faites-y dorer les cuisses environ 20 mn. en les retournant régulièrement
  <LI>Ajoutez les filets et faites-les dorer de tous côtés
  <LI>Laissez cuire 25 mn. en surveillant bien la cuisson
  <LI>Lavez puis émincez les champignons
  <LI>Ajoutez-les dans la cocotte avec les échalottes
  <LI>Mélangez en versant 30 cl. de vin ainsi que le Cognac
  <LI>Laissez réduire le jus de moitié avant de rajouter le bouillon filtré
  <LI>Déposez les morceaux de coq dans un plat de service
  <LI>Ajoutez le restant de beurre au jus, ainsi qu'un trait de vin
  <LI>Fouettez puis ajoutez les fines herbes
  <LI>Nappez le coq de sauce bien chaude et servez...
</OL>

qui produit le résultat suivant :

Le coq au vin blanc

Ingrédients

Pour huit personnes :

Temps

Préparation : 35 mn.
Cuisson : 2 heures.

Procédure

  1. Faites chauffer 10 cl. d'huile et 60 g. de beurre dans une cocotte,
  2. Dès que le beurre chante, faites-y revenir le cou, les ailerons et les os de volaille.
  3. Laisser dorer 10 mn. en retournant les morceaux plusieurs fois
  4. Saupoudrez de farine, mélangez et laissez roussir légèrement la farine
  5. Recouvrez d'eau, couvrez et laisser mijoter 45 mn. à feu doux
  6. Passez le bouillon dans une fine passoire afin de le récupérer
  7. Après incision, plongez quelques secondes les tomates dans de l'eau bouillante et retirez-en la peau puis les graines
  8. Hachez la pulpe
  9. Lavez le persil, le cerfeuil et l'estragon, puis hachez les finement
  10. Pelez et hachez les échalottes
  11. Assaisonnez de sel et poivre les cuisses et filets du coq
  12. Faites chauffer 10cl. d'huile et 60 g. de beurre dans une sauteuse
  13. Faites-y dorer les cuisses environ 20 mn. en les retournant régulièrement
  14. Ajoutez les filets et faites-les dorer de tous côtés
  15. Laissez cuire 25 mn. en surveillant bien la cuisson
  16. Lavez puis émincez les champignons
  17. Ajoutez-les dans la cocotte avec les échalottes
  18. Mélangez en versant 30 cl. de vin ainsi que le Cognac
  19. Laissez réduire le jus de moitié avant de rajouter le bouillon filtré
  20. Déposez les morceaux de coq dans un plat de service
  21. Ajoutez le restant de beurre au jus, ainsi qu'un trait de vin
  22. Fouettez puis ajoutez les fines herbes
  23. Nappez le coq de sauce bien chaude et servez...

Les listes de définitions

La paire de balise <DL> liste </DL> permet de définir une liste de termes chacun associé à sa définition. Il faut pour cela utiliser <DT> (balise fermante optionelle) pour le terme puis <DD> (balise fermante optionnelle) pour sa définition. Toutes ces balises possèdent les attributs : lang, dir, id, class, title, style et les évènements. Par exemple :

<DL>
  <DT>Janvier
  <DL>est le premier mois de l'année
  <DT>Février
  <DL>est le deuxième mois de l'année
</DL>

produit le résultat suivant :

Janvier
est le premier mois de l'année
Février
est le deuxième mois de l'année

Les tableaux

Il est parfois utile de présenter des fragments de texte HTML sous forme de tableau. Pour cela il existe la balise <TABLE> tableau </TABLE> qui possède les attributs suivants : lang, dir, id, class, style, title, summary, width, border, frame, rules, cellspacing, cellpadding et les évènements. La description d'un tableau fait intervenir de nombreuses balises :

<CAPTION>
dont la forme est <CAPTION> légende </CAPTION> (balise fermante obligatoire) permet de définir une légende associée. Ses attributs sont : lang, dir, id, class, title, style et les évènements. Cet élément ne devrait apparaître qu'une fois et en tête de la description.
<THEAD>
dont la balise fermante </THEAD> est optionnelle permet de définir un entête au corps du tableau. Les attributs sont : lang, dir, id, class, title, style, align, char, charoff, valign et les évènements.
<TFOOT>
dont la balise fermante </TFOOT> est optionnelle permet de définir un bas de tableau. Les attributs sont : lang, dir, id, class, title, style, align, char, charoff, valign et les évènements. Cette balise doit apparaître avant la définition du corps.
<TBODY>
dont la forme est <TBODY> corps </TBODY> (les deux balises étant optionnelles) permet de définir un corps de tableau. Les attributs sont : lang, dir, id, class, title, style, align, char, charoff, valign et les évènements.
<COLGROUP>
dont la forme est <COLGROUP> colonnes </COLGROUP> (balise fermante optionnelle) permet de regrouper logiquement un ensemble de colonnes. Ses attributs sont : lang, dir, id, class, title, style, align, char, charoff, valign, span, width et les évènements.
<COL>
pour laquelle il n'existe pas de balise fermante permet de grouper des spécifications d'attributs pour un ensemble de colonnes. Les attributs sont : lang, dir, id, class, title, style, align, char, charoff, valign, span, width et les évènements.
<TR>
dont la forme est <TR> ligne </TR> (balise fermante optionnelle) permet de définir une nouvelle ligne. Ses attributs sont : lang, dir, id, class, title, style, align, char, charoff, valign et les évènements.
<TH>
dont la forme est <TH> cellule d'entête </TH> (balise fermante optionnelle) permet de définir une cellule d'entête. Ses attributs sont : lang, dir, id, class, title, style, align, char, charoff, valign, abbr, axis, headers, scope, rowspan, colspan et les évènements.
<TD>
dont la forme est <TD> cellule </TD> (balise fermante optionnelle) permet de définir une cellule de données. Ses attributs sont : lang, dir, id, class, title, style, align, char, charoff, valign, abbr, axis, headers, scope, rowspan, colspan et les évènements.

Par exemple :

<TABLE border="1" frame="box" rules="groups">
  <CAPTION>Résultats du sondage</CAPTION>
  <COLGROUP align="center" span="2">
  <COLGROUP align="center" span="3">
  <THEAD valign="top">
    <TR><TH>Nom<TH>Prénom<TH>Attaque<BR>banque<TH>Attaque<BR>diligence<TH>Attaque<BR>épicerie
  <TBODY>
    <TR><TD>Dalton<TD>Joe<TD>o<TD>o<TD>n
    <TR><TD>Dalton<TD>Jack<TD>o<TD>o<TD>n
    <TR><TD>Dalton<TD>William<TD>o<TD>o<TD>n
    <TR><TD>Dalton<TD>Averell<TD>o<TD>o<TD>o
</TABLE>

qui produit le résultat suivant :

Résultat du sondage
Nom Prénom Attaque
banque
Attaque
diligence
Attaque
épicerie
Dalton Joe oui oui non
Dalton Jack oui oui non
Dalton William oui oui non
Dalton Averell oui oui oui

Les liens

Les relations hypertexte utilisent la balise d'ancrage <A> texte </A> (balise fermante obligatoire). Le graphe de l'hypertexte utilise donc des liens dirigés : arc sortant (lien vers un document ou un point dans un document) et point d'ancrage à l'intérieur d'un document. Les attributs sont : lang, dir, id, class, style, title, charset, type, name, href, hreflang, rel, rev, accesskey, shape, coords, tabindex, onfocus, onblur et les évènements. Par exemple :

<P>Si vous voulez passer directement à la suite, cliquez sur ce <A rel="Next" href="#suite">lien</A>.
Pour voir la page du W3C suivez <A rel="Bookmark" href="http://www.w3.org/">celui-ci</A>.
<P><A name="suite">V</A>oici la suite du texte.

qui produit le résultat suivant :

Si vous voulez passer directement à la , cliquez sur ce lien. Pour voir la page du W3C suivez celui-ci.

Voici la suite du texte.

Les images et hypercartes

Jusqu'à présent les documents ne contenaient que du texte structuré. Le premier part vers des documents multimédia peut être fait en permettant d'inclure dans le flôt du texte des images. C'est le rôle de la balise <IMG> qui ne possède pas de version fermante. Elle possède les attributs : lang, dir, id, class, style, title, src, alt, longdesc, name, height, width, usemap, ismap et les évènements. Les images font partie du flôt du texte, elles ne définissent pas à elles seules un bloc. Par exemple :

Vous devez reconnaître la marque du démon :
<IMG alt="La signature de ZORGLUB" src="http://www.liafa.univ-paris-diderot.fr/~yunes/images/zorglub.xbm">

qui produit le résultat suivant :

Vous devez reconnaître la marque du démon : La signaure de ZORGLUB

Il est recommandé d'include systématiquement un texte de remplacement dans l'attribut alt.

Il est parfois utile de définir des zones sensibles à l'intérieur de l'image afin de lier chacun d'elle à un autre fragment de document. C'est le rôle des balises suivantes :

<MAP>
dont la forme est <MAP> zones </MAP> (balise fermante obligatoire) permet de définir un ensemble de zones sensibles. Ses attributs sont : lang, dir, id, class, style, title, name et les évènements.
<AREA>
sans balise fermante associée permet de définir une zone sensible. Ses attributs sont : lang, dir, id, class, style, title, shape, coords, href, nohref, alt, tabindex, accesskey, onfocus, onblur, et les évènements.
Par exemple :
Essayez de cliquer sur les différentes zones de l'image :
<IMG alt="Image magique" src="image.png" usemap="carte">
<MAP name="carte">
<AREA shape="rect" coords="0,0,49,49" href="rouge.html" alt="zone rouge">
<AREA shape="rect" coords="0,50,49,99" href="bleu.html" alt="zone bleue">
<AREA shape="rect" coords="50,0,99,99" href="vert.html" alt="zone verte">
</MAP>

qui produit le résultat suivant :

zone rouge zone bleue zone verte

Essayez de cliquer sur les différentes zones de l'image : Image magique

Les objets

HTML 4.01 définit maintenant une balise d'inclusion générique d'objets permettant d'intégrer dans le document a-priori n'importe quel type d'objet. C'est le rôle de la balise <OBJET> (balise fermante obligatoire) possédant les attributs : lang, dir, id, class, style, title, declare, classid, codebase, data, type, codetype, archive, standby, height, width, usemap, name, tabindex et les évènements. Par exemple l'inclusion d'une image peut être réalisée ainsi :

Voici une image : <OBJECT data="image.jpg" type="image/jpeg"
standby="Attendez je charge l'image">Dommage, c'est une image pleine de couleurs...</OBJECT>

qui produit le résultat suivant :

Voici une image : Dommage, c'est une image pleine de couleurs...

Cette balise permet aussi de définir des alternatives lorsque le client n'est pas capable d'interpréter le type spécifié. Par exemple :

<OBJECT type="image/jpg" data="image.jpg" standby="Chargement d'une image JPEG">
  <OBJECT type="image/png" data="image.png" standby="Chargement de la version PNG">
  Votre navigateur ne supporte ni PNG, ni JPEG, à moins qu'il ne sache pas
  correctement interpréter les balises OBJECT.  
  </OBJECT>
</OBJECT>

produit le résultat suivant (selon votre navigateur vous aurez en priorité la version JPEG, PNG ou le texte) :

Votre navigateur ne supporte ni PNG, ni JPEG, à moins qu'il ne sache pas correctement interpréter les balises OBJECT.

Les objets pouvant recevoir des paramètres, il existe une balise permettant de les spécifier <PARAM> (sans forme fermante) possédant les attributs suivants : id, name, value, valuetype, type. Par exemple :

<OBJECT codebase="/~yunes/cours/annexes/java/codebase/"
classid="Essai.class" type="application/java"
width="100" height="100">
<PARAM name="nom" value="par Object">
  <APPLET codebase="/~yunes/cours/annexes/java/codebase/"
  code="Essai.class" width="100" height="100">
  <PARAM name="nom" value="par Applet">
  Java ne semble pas fonctionner.
  </OBJECT>
</OBJECT>

qui produit le résultat suivant :

Java ne semble pas fonctionner.

Les formulaires

Un formulaire est un fragment de document contenant en plus du texte structuré ou des objets habituels certains éléments particuliers permettant à l'utilisateur de spécifier certaines données qu'il peut ensuite envoyer vers un serveur a des fins de traitement. Ces éléments particuliers sont appellés éléments de contrôle.

La création d'un formulaire passe par l'utilisation de la balise <FORM> formulaire </FORM> (balise de fin obligatoire). Ses attributs sont : lang, dir, id, class, style, title, action, accept-charset, method, enctype, accept, name, onsubmit, onreset, et les évènements.

Les contrôles INPUT

Ils sont nombreux mais tous créés avec la balise <INPUT> (sans balise fermante). Elle possède les attributs : lang, dir, id, class, style, title, type, name, value, checked, disabled, readonly, size, maxlength, src, alt, usemap, ismap, tabindex, accesskey, onfocus, onblur, onselect, onchange, accept et les évènements. Par exemple :

<FORM method="get">
  Identité : <INPUT type="text" name="identite" size="8" maxlength="8"><BR>
  Mot de passe : <INPUT type="passwd" name="motdepasse" size="8" maxlength="8"><BR>
  <INPUT type="reset" value="Annuler"> <INPUT type="submit" value="Valider">
</FORM>

produit le résultat suivant :

Identité :
Mot de passe :

ou encore

<FORM method="get">
  Votre nom : <INPUT type="text" name="nom" size="20" maxlength="30"><BR>
  Votre sexe : <LABEL for="jby01">Masculin :</LABEL>
               <INPUT id="jby01" type="radio" name="sexe" value="Masculin">
               <LABEL for="jby02">Féminin :</LABEL>
               <INPUT id="jby02" type="radio" name="sexe" value="Féminin" checked><BR>
  Utilisez-vous un rasoir électrique ? <INPUT type="checkbox" name="rasoir">
</FORM>
Votre nom :
Votre sexe :
Utilisez-vous un rasoir électrique ?

Les boutons

Il faut utiliser la balise <BUTTON> contenu </BUTTON> (balise fermante obligatoire) et possède les attributs : lang, dir, id, class, style, title, name, value, type, disabled, tabindex, accesskey, onfocus, onblur et les évènements. On peut remarquer que cette balise permet de réaliser des boutons plus généraux que ceux définis par <INPUT>. Par exemple :

<FORM method="get">
  <BUTTON type="button" name="monbouton">Mon bouton <IMG src="image.jpg" height="20" width="100"></BUTTON>
</FORM>

produit le résultat suivant :

Les menus de sélection

Il existe trois balises permettant de créer des sélections par menu :

<SELECT>
dont la forme est <SELECT> liste </SELECT> (balise fermante obligatoire) possède les attributs : lang, dir, id, class, style, title, name, size, multiple, disabled, tabindex, onfocus, onblur, onchange et les évènements.
<OPTGROUP>
dont la forme est <OPTGROUP> groupe <OPTGROUP> (balise fermante obligatoire) permet de regrouper logiquement des options. Elle possède les attributs : lang, dir, id, class, style, disabled, label et les évènements.
<OPTION>
dont la forme est <OPTION> choix </OPTION> (balise fermante optionnelle) permet de définir un choix dans la sélection. Elle possède les attributs : lang, dir, id, class, style, title, selected, disabled, label, value et les évènements.
Par exemple :
<FORM method="get">
  <SELECT name="qui">
    <OPTGROUP label="Frères">
      <OPTION selected="selected" label="Joe" value="JoeD">Joe Dalton</OPTION>
      <OPTION label="Jack" value="JackD">Jack Dalton</OPTION>
      <OPTION label="William" value="WilliamD">William Dalton</OPTION>
      <OPTION label="Averell" value=AverellD">Averell Dalton</OPTION>
    </OPTGROUP>
    <OPTGROUP label="Famille">
      <OPTION label="Ma" value="MaD">Ma Dalton</OPTION>
    </OPTGROUP>
  </SELECT>
</FORM>

qui produit le résultat suivant :

Le texte libre

La balise <TEXTAREA> texte </TEXTAREA> permet de définir une zone de saisie de texte large. Ses attributs sont : lang, dir, id, class, style, title, name, rows, cols, disabled, readonly, tabindex, accesskey, onfocus, onblur, onselect, onchange et les évènements. Par exemple :

<FORM method="get">
  <TEXTAREA name="letexte" rows="3" cols="10">
  Bonjour
  Ca va ?
  </TEXTAREA>
</FORM>

produit le résultat suivant :

Les étiquettes

On peut ajouter une étiquette aux objets de contrôle qui n'en possède pas. La forme de la balise est <LABEL> texte </LABEL> et ses attributs sont : lang, dir, id, class, style, title, for, accesskey, onfocus, onblur et les évènements.

Les formulaires structurés

On peut ajouter un minimum de structure aux formulaires :

<FIELDSET>
dont la forme est <FIELDSET> texte </FIELDSET> (balise fermante obligatoire) permet de grouper logiquement une partie du formulaire. Ses attributs sont : lang, dir, id, class, style, title et les évènements.
<LEGEND>
dont la forme est <LEGEND> texte </LEGEND> (balise fermante obligatoire) permet de spécifier une légende pour un groupe d'éléments d'un formulaire. Ses attributs sont : lang, dir, id, class, style, title, accesskey et les évènements.
Par exemple :
<FORM method="get">
  <FIELDSET>
    <LEGEND>Identification</LEGEND>
    Votre nom : <INPUT name="nom" type="text"><BR>
    Votre prénom : <INPUT name="prenom" type="text">
  </FIELDSET>
  <FIELDSET>
    <LEGEND>Vos commentaires</LEGEND>
    Qu'avez-vous à dire : <TEXTAREA name="commentaire" rows="5" cols="40"></TEXTAREA>
  </FIELDSET>
</FORM>

produit le résultat suivant :

IdentificationVotre nom :
Votre prénom :
Vos commentaires

Qu'avez vous à dire :

Les polices

<TT>, <I>, <B>, <BIG> et <SMALL> dont les balises fermantes sont obligatoires permettent de spécifier un type de rendu désiré pour du texte en ligne soit respectivement : police à chasse fixe, italique, gras, gros et petit. Les attributs sont : lang, dir, id, class, style, title et les évènements. Par exemple :

Voici une police <TT>à chasse fixe</TT>, du texte <I>en italique</I>, un peu de <B>gras</B>.
Si vous lisez avec un peu de difficultés ceci devrait vous ravir : <BIG>Bonjour!</BIG>
Si vous possédez une loupe : <SMALL>n'hésitez pas!</SMALL>

produit le résultat suivant :

Voici une police à chasse fixe, du texte en italique, un peu de gras. Si vous lisez avec un peu de difficultés ceci devrait vous ravir : Bonjour! Si vous possédez une loupe : n'hésitez pas!

La règle

<HR> qui ne possède pas de balise fermante associée, permet de tirer un trait horizontal dans le document. Les attributs sont : lang, dir, id, class, style, title et les évènements.

Les scripts

La balise <SCRIPT> (balise fermante </SCRIPT> obligatoire) permet de placer un script à l'intérieur d'un document. Ces attributs sont : charset, type, src et defer.

La balise <NOSCRIPT> texte </NOSCRIPT> permet de faire apparaître du texte dans le cas où l'agent utilisateur se révèle incapable d'exécuter des scripts. Ces attributs sont : lang, dir, id, class, style, title et les évènements.

Les attributs

lang
permet de préciser la langue de référence du contenu balisé. Ses valeurs possible sont spécifiées par la RFC 1766. Par exemple <HTML lang="fr"> pour la langue française ou <HTML lang="en-US"> pour la langue anglaise en usage aux États-Unis.
dir
permet d'indiquer le sens de lecture ou d'écriture du texte. Les deux valeurs possibles sont LTR (de gauche à droite) et RTL (de droite à gauche). Par exemple : <HTML lang="he" dir="RTL"> pour de l'hébreu.
profile
permet de spécifier une liste d'URL désignant des documents contenant des profils de meta-informations.
http-equiv
permet de spécifier le champ d'entête HTTP que l'on désire transmettre. Les valeurs possibles sont définies par le protocole.
name
permet de spécifier le nom d'une propriété pour la balise <LINK>. Il n'existe pas de normalisation des valeurs de cet attribut. Certains robots utilisent : keywords, description, author, copyright ou date. Pour les images <IMG> cet attribut permet de nommer l'objet, mais c'est uniquement pour des raisons de compatibilité. Pour les hypercartes cela permet aussi de les nommer. Dans le cas des éléments de formulaire cela permet de les désigner et retrouver leur valeur associée.
content
permet de spécifier la valeur d'une propriété définie par name ou http-equiv. Par exemple : <META name="keywords" content="chiens, canidés"> ou <META http-equiv="Expires" content="Mon, 20 Nov 2000 12:30:00 GMT">.
scheme
permet de spécifier un schéma d'interprétation pour les valeurs des propriétés. Les valeurs de cet attribut ne sont pas spécifiées. On peut imaginer par exemple : <META name="date" content="10 09 2000" scheme="DD MM YYYY">.
id
permet d'identifier de façon unique (dans le document) le fragment de texte correspondant. L'identifiant ne devrait comporter que des caractères alphanumériques, tiret -, souligné _, deux points : ou point .. Cet attribut est en général créé par le logiciel de composition. Il permet : aux feuilles de style de désigner l'élément en particulier, d'être utilisé comme cible d'ancrage dans les hyperliens, de désigner l'élément dans un script ou d'être utilisé par des parsers désireux de transcrire le document en un autre format.
class
permet de spécifier une liste de classes auxquelles l'élément appartient afin d'être utilisé par des feuilles de style ou pour des indexations automatiques. Par exemple : <SPAN class="warning">Attention : tenez compte de ce qui suit !</SPAN>.
style
permet de spécifier des propriétés de style directement attachés à l'élément. Par exemple : <SPAN style="font-size:8pt;">Tout petit texte.</SPAN>produit : Tout petit texte..
title
permet de spécifier un minimum d'information liée à l'élément. Les agents utilisateurs utilisent parfois cet attribut pour générer des"postits".
charset
permet de spécifier le codage du jeu de caractères employé. S'il n'est pas spécifié sa valeur par défaut est ISO-8859-1 (jeu de caractères Latin-1 qui contient les caractères employés en français). Les valeurs possibles sont définies dans Character Sets.
href
permet de spécifier la localisation d'une resource. La valeur est une URI (Universal Resource Identifier) définie par la RFC 1630. Les URL (Uniform Resource Locator) sont des URI particulières : RFC 1738 et RFC 1808. Par exemple : <A href="http://www.liafa.univ-paris-diderot.fr/">Laboratoire d'Informatique et Algorithmique: Fondements et Applications</A> produit Laboratoire d'Informatique et Algorithmique: Fondements et Applications.
hreflang
permet de spécifier la langue d'un document spécifié par l'attribut href. Les valeurs possibles sont sépcifées par la RFC 1766.
type
permet de spécifier le type du contenu désigné. Ses valeurs possibles sont des types MIME définis par MIME Types et les RFC 2045 et RFC 2046. Par exemple : <A type="text/html" hreflang="en" href="http://www.gnu.org>Les gnous</A>. Pour les éléments <INPUT> des formulaire cet attribut définit le type d'élément, les valeurs possibles sont alors :
text
qui permet de saisir une simple ligne de texte libre.
password
qui permet de saisir un mot de passe (texte libre invisible).
checkbox
qui permet d'activer ou non une option.
radio
qui permet d'activer une option dans une liste d'option et ce de manière exclusive.
submit
qui permet de créer un bouton activant la transmission des données du formulaire.
image
qui permet de créer un bouton graphique activant la transmission des données du formulaire.
reset
qui permet de créer un bouton que l'on peut utiliser afin de repositionner l'ensemble des éléments du formulaire à leur valeur par défaut.
button
qui permet de créer un simple bouton.
hidden
qui permet de créer des éléments cachés.
file
qui permet de sélectionner des fichiers.

Pour les éléments <BUTTON> des formulaires cet attribut définit le genre de bouton désiré, les valeurs possibles sont : submit, button et reset.

rel
permet de spécifier le type de la relation entre le document courant et le document spécifié par href. Les valeurs possibles sont:
Alternate
qui permet de désigner une version de remplacement du document. Lorsque l'attribut lang est aussi spécifié c'est une traduction et lorsque l'attribut media est spécifié il s'agit d'une version pour un support différent.
Stylesheet
indique que le document pointé est une feuille de style.
Start
indique que le document pointé est le premier de la collection dont fait partie le document courant.
Next
indique que le document pointé est le suivant dans la collection.
Prev
indique que le document pointé est le précédent dans la collection.
Contents (synonyme ToC)
indique que le document pointé est une table des matières.
Index
indique que le document pointé est une liste d'index.
Glossary
indique que le document pointé est un glossaire des termes employés dans le document courant.
Copyright
indique que le document pointé contient des informations de droits de reproduction.
Chapter
indique que le document pointé est un chapitre de la collection.
Section
indique que le document pointé est une section (sous partie d'un chapitre).
Subsection
indique que le document pointé est une sous-section (sous partie d'une section).
Appendix
indique que le document pointé est une annexe.
Help
indique que le document pointé contient de l'aide ou de l'information additionnelle.
Bookmark
indique que le document pointé est un simple lien. Plusieurs liens de ce type peuvent apparaître dans un document.
rev
permet de spécifier un lien arrière, c'est la fonctionnalité symétrique à rel.
media
permet de spécifier le type du medium attendu pour interpréter le lien. Les valeurs possibles sont :
screen
pour les terminaux graphiques
tty
pour les terminaux dits ASCII
tv
pour les écrans de télévision
projection
pour les projecteurs sur écran
handheld
pour des équipements à faible capacité (petite taille, monochrome, faible débit)
print
pour spécifier un équipement d'impression
braille
pour les équipements tactiles
aural
pour les synthétiseurs de voix
all
pour n'importe quel périphérique.
cite
permet de spécifier l'URI du document d'où la citation est extraite (voir <BLOCKQUOTE> ou <Q> ou encore <INS> ou <DEL>).
datetime
permet de spécifier la date et l'heure de la modification (voir <INS> ou <DEL>).
align
permet de spécifier l'alignement et la justification à employer. Les valeurs possibles sont :
left
pour caler le texte vers la gauche
center
pour centrer le texte
right
pour caler le texte vers la droite
justify
pour justifier le texte
char
pour caler le texte sur un caractère donné
char
permet de spécifier le caractère qui devra être employé pour l'alignement.
charoff
permet de spécifier la position d'alignement lors d'un alignement sur caractère.
valign
permet de spécifier l'alignement vertical. Les valeurs possibles sont :
top
le texte est calé vers le haut
middle
le texte est centré verticalement
bottom
le texte est calé vers le bas
baseline
le texte est calé horizontalement sur une même ligne imaginaire.
span
permet de spécifier un nombre colonne dans un groupe (voir <COLGROUP> ou <COL>).
width
permet de spécifier la taille par défaut à utiliser pour chaque colonne d'un groupe (voir <COLGROUP> ou <COL>).
abbr
permet de spécifier une alternative abbrégée du contenu de la cellule pour un tableau (void <TH> ou <TD>).
axis
permet de placer la cellule comme étant placé sur un axe particulier d'un espace à plusieurs dimensions. On peut imaginer interroger le tableau à l'aide d'un langage de requête afin d'en extraire les informations voulues (void <TH> ou <TD>).
headers
permet de spécifier les entêtes <TH> relatifs à la cellule concernée.
scope
permet de spécifier la portée des entêtes. Les valeurs possibles sont :
row
pour indiquer que la celulle est un entête pour le reste de la ligne
col
pour indiquer que la cellule est un entête pour le reste de la colonne
rowgroup
pour indiquer qu'il s'agit d'un entête pour le reste du groupe de lignes
rowcol
pour indiquer qu'il s'agit d'un entête pour le reste du groupe de colonnes.
rowspan
permet de spécifier la couverture de la cellule courante (exprimée en nombre de lignes).
colspan
permet de spécifier la couverture de la cellule courante (exprimée en nombre de colonnes).
accesskey
permet de spécifier un raccourci clavier.
shape
permet de spécifier la forme d'une région pour les hypercartes. Les valeurs possibles sont :
default
toute l'image
rect
un rectangle
circle
un cercle
poly
un polygone
coords
permet de spécifier les dimensions et positions ou coordonnées d'une région. Les valeurs sont pour un rectangle : xmin,ymin,xmax,ymax, pour un cercle x,y,rayon et pour un polygone la suite des x,y.
tabindex
permet de spécifier la position de l'élément dans la séquence de parcours par le clavier.
alt
permet de spécifier une alternative textuelle pour une image.
src
permet de spécifier l'URI d'une image.
longdesc
permet de spécifier une description longue pour une image.
height
permet de spécifier la hauteur de rendu désirée pour l'image.
width
permet de spécifier la largeur de rendu désirée pour l'image.
usemap
permet de spécifier l'URI de la description de l'hypercarte.
ismap
permet d'indiquer que l'image est associée à une hypercarte côté serveur.
classid
permet d'identifier un objet (peut être utilisé avec ou en remplaçement de data).
codebase
permet de spécifier un URI pour résoudre les URI relatifs.
codetype
permet de spécifier la nature des données attendues. C'est un type MIME.
data
permet de spécifier la localisation des données de l'objet (par exemple pour les images).
archive
permet de spécifier des archives de ressources liées à la ressource.
declare
permet de déclarer l'objet sans l'intancier.
standby
permet de spécifier un message à afficher durant le chargement.
valuetype
permet de spécifier le type de la valeur d'un paramètre. Les valeurs possibles sont :
data
les données seront passées en tant que string.
ref
c'est une URI
object
fait référence à un objet du document.
object
permet de spécifier une version sérialisée d'une applet.
action
permet de spécifier l'agent de traitement des données d'un formulaire. Sa valeur est une URI.
method
permet de spécifier la méthode de transmission des données d'un formulaire. Les valeurs possibles sont :
get
la transmission s'effectue par ajout des données à l'URI spécifiée par action.
post
la transmission des données s'effectue par envoi d'un corps de message.
enctype
spécifie le type d'encodage utilisé pour transmettre les données par la méthode post. La valeur par défaut est application/x-www-form-urlencoded. Lorsque des fichiers sont transmis la valeur doit être multipart/form-data.
accept-charset
permet de spécifier les jeu de caractères supportés par l'agent de traitement des données.
accept
spécifie les types de données supportés par l'agent de traitement.
checked
cet attribut n'est utile que pour les <INPUT> de type radio ou checkbox et spécifie l'état de sélection par défaut. Cet attribut n'a pas de valeur associée.
value
permet de spécifier la valeur d'un élément de formulaire.
disabled
indique que l'élément est désactivé afin d'empêcher l'utilisateur d'agir dessus. Cet attribut n'a pas de valeur associée.
readonly
indique que l'utilisateur est empêché d'agir sur cet élément dont le rôle n'est qu'informationnel. Cet attribut n'a pas de valeur associée.
size
spécifie la dimension d'un élément de contrôle. La valeur est exprimée en pixels sauf pour les éléments de type text ou password. Lorsque l'élément est une sélection <SELECT> cela permet de spécifier le nombre de lignes d'affichage si la sélection est représentée ainsi.
maxlength
qui permet de contrôler la longueur maximale de saisie autorisée pour un élément de contrôle de type text ou password.
multiple
permet d'indiquer que la sélection multiple est activée. Cet attribut ne possède pas de valeur associée.
label
permet de spécifier le nom d'un groupe d'options ou le texte à afficher pour une option.
rows
permet de spécifier le nombre de lignes visibles désiré pour une zone de saisie
cols
permet de spécifier le nombre de colonnes visibles désiré pour une zone de saisie.
for
permet d'associer une étiquette à un élément de contrôle.
defer
permet d'indiquer que le script ne génère pas de contenu (pas de document.write() en JavaScript par exemple). L'interprétation peut alors être différée.

Les évènements

Ces attributs particuliers permettent d'associer à un élément du document une expression d'un langage de script en réponse à un évènement. Pour en savoir plus consultez le cours sur JavaScript.

Les évènements sont les suivants :

onload
cet évènement se produit lorsque le navigateur a terminé le chargement de la fenêtre (balise <BODY> uniquement).
onunload
cet évènement se produit lorsque le navigateur supprime le document de l'affichage (balise <BODY> uniquement).
onclick
se produit lorsque l'on clique sur l'élément
ondblclick
se produit lorsque l'on "double" clique sur l'élément
onmousedown
se produit lorsque l'on appuie sur un bouton de la souris positionnée sur l'élément
onmouseup
se produit lorsque l'on relâche un bouton de la souris
onmouseover
se produit lorsque la souris se positionne sur l'élément
onmousemove
se produit lorsque la souris se déplace sur l'élément
onmouseout
se produit lorsque la souris sort de l'élément
onfocus
se produit lorsque l'élément est prêt à recevoir les entrées clavier (éléments <A>, <AREA>, <LABEL>, <INPUT>, <SELECT>, <TEXTAREA> et <BUTTON>).
onblur
se produit lorsque l'élément n'est plus prêt à recevoir les entrées clavier.
onkeypress
se produit lorsqu'une touche du clavier est pressée puis relâchée sur un élément.
onkeydown
se produit lorsqu'une touche du clavier est pressée sur un élément.
onkeyup
se produit lorsqu'une touche du clavier est relâchée sur un élément.
onsubmit
se produit lorsqu'un formulaire est envoyé (balise <FORM>)
onreset
se produit lorsqu'un formulaire est réinitialisé (balise <FORM>)
onselect
se produit lorsqu'une sélection est réalisée (balises <INPUT> et <TEXTAREA>)
onchange
se produit lorsqu'un élément n'est plus prêt à recevoir le clavier et que son contenu a été modifié (éléments <INPUT>, <SELECT> et <TEXTAREA>)