Langage HTML
- HTML - Définition
- Langage HTML
- Le principe du Web
- Standard HTML
- Versions du langage HTML
- HTML 3
- HTML 4
- HTML 5
HTML - Définition
Le HTML (« HyperText Mark-Up Language ») est un langage dit de « marquage » (de « structuration » ou de « balisage ») dont le rôle est de formaliser l'écriture d'un document avec des balises de formatage. Les balises permettent d'indiquer la façon dont doit être présenté le document et les liens qu'il établit avec d'autres documents.
Langage HTML
Le langage HTML permet notamment la lecture de documents sur Internet à partir de machines différentes, grâce au protocole HTTP, permettant d’accéder via le réseau à des documents repérés par une adresse unique, appelée URL.
On appelle World Wide Web (noté WWW) ou tout simplement Web (mot anglais signifiant toile) la "toile virtuelle" formée par les différents documents (appelés « pages web ») liés entre-eux par des hyperliens.
Les pages web sont généralement organisées autour d'une page d'accueil, jouant un point central dans la navigation à l'aide des liens hypertextes. Cet ensemble cohérent de pages web liées par des liens hypertextes et articulées autour d'une page d'accueil commune est appelée site web.
Le Web est ainsi une énorme archive vivante composée d'une myriade de sites web proposant des pages web pouvant contenir du texte mis en forme, des images, des sons, des vidéo, etc.
Le principe du Web
Le web est composé de pages web stockées sur des serveurs web, c'est-à-dire des machines connectées à Internet en permanence et chargées de fournir les pages web demandées. Chacune des pages web, et plus généralement toute ressource en ligne (image, vidéo, musique, animation, etc.), est repérée par une adresse unique appelée URL.
L'élément clé pour la navigation au sein des pages web est le navigateur (en anglais browser, parfois également appelé fureteur, fouineur, feuilleteur ou butineur au Québec), c'est-à-dire le logiciel client capable d'interroger les serveurs web, d'exploiter leurs résultats et de mettre en page les informations grâce aux instructions contenues dans la page HTML.
Parmi les principaux navigateurs utilisés sur Internet, citons notamment les suivants :
- Mozilla Firefox,
- Microsoft Internet Explorer,
- Chrome,
- Safari.
Standard HTML
Il est important de comprendre que le langage HTML est un standard, c'est-à-dire qu'il s'agit de recommandations publiées par un consortium international : le World Wide Web Consortium(W3C).
Les spécifications officielles du HTML décrivent donc les "instructions" HTML mais en aucun cas leur implémentation, c'est-à-dire leur traduction en programmes d'ordinateur, afin de permettre la consultation de pages web indépendamment du système d'exploitation ou de l'architecture de l'ordinateur.
Toutefois, aussi étoffées les spécifications soient-elles, il existe toujours une marge d'interprétation de la part des navigateurs, ce qui explique qu'une même page web puisse s'afficher différemment d'un navigateur Internet à l'autre.
De plus, il arrive parfois que certains éditeurs de logiciels ajoutent des instructions HTML propriétaires, c'est-à-dire ne faisant pas partie des spécifications du W3C. Ainsi des pages web contenant ce type d'instruction pourront être parfaitement affichées sur un navigateur et seront totalement ou en partie illisibles sur les autres, d'où la nécessité de créer des pages web respectant les recommandations du W3C afin de permettre leur consultation par le plus grand nombre.
Versions du langage HTML
Le langage HTML a été mis au point par Tim Berners-Lee, alors chercheur au CERN, à partir de 1989. Celui-ci annonça officiellement la création du web sur Usenet en août 1991. Ce n'est cependant qu'à partir de 1993 que l'on considère l'état du HTML suffisamment avancé pour parler de langage (HTML est alors baptisée symboliquement HTML 1.0). Le navigateur internet utilisé à l'époque était nommé NCSA Mosaïc.
Le RFC 1866, daté de novembre 1995 représente la première version officielle de HTML, c'est-à-dire le HTML 2.0.
HTML 3
Après la brève apparition d'un HTML 3.0, qui ne vit jamais officiellement le jour, le HTML 3.2 devint le standard officiel le 14 janvier 1997. Les apports les plus marquants du HTML 3.2 étaient la standardisation des tableaux ainsi que d'un grand nombre d'éléments de présentation.
HTML 4
Le 18 décembre 1997, le HTML 4.0 a été publié. La version 4.0 du langage HTML standardise notamment les feuilles de style et les cadres (frames). La version HTML 4.01, apparue le 24 décembre 1999 apporte quelques modifications mineures au HTML 4.0.
HTML 5
Le HTML 5.0 est en cours de spécification en 2012. La version 5.0 du langage HTML définit deux syntaxes de DOM : HTML5 et XHTML5. Cette version apporte de nouvelles possibilités en terme de création d' « applications Web riches » bénéficiant de l'intégration d'éléments multimédias et d'interactivité, à l'image de ce que permettent Adobe Flash ou Microsoft Silverlight.
Balises HTML
Balise HTML
Le HTML n'est pas un langage de programmation. Il s'agit d'un langage permettant de décrire la mise en page et la forme d'un contenu rédigé en texte simple.
Une page HTML est ainsi un simple fichier texte contenant des balises (parfois appelées marqueurs ou repères ou tags en anglais) permettant de mettre en forme le texte, les images, etc.
Comment utiliser les balises HTML ?
Une balise est un élément de texte (un nom) encadrée par le caractère inférieur (<) et le caractère supérieur (>). par exemple « <H1> ».
Les balises HTML ne sont pas sensibles à la casse, c'est-à-dire qu'elles peuvent être saisies indifféremment en minuscules ou en majuscules !
Les balises HTML fonctionnent par paire afin d'agir sur les éléments qu'elles encadrent. La première est appelée « balise d'ouverture » (parfois balise ouvrante) et la seconde « balise de fermeture» (ou fermante).
La balise fermante est précédé du caractère /) :
<marqueur> Votre texte formaté </marqueur>
A titre d'exemple, les balises <b> et </b> permettent de mettre en gras le texte qu'elles encadrent :<b> Ce texte est en gras </b>
Les balises HTML peuvent parfois être uniques : la balise <br> représente par exemple un retour à la ligne.
Afin d'être le plus proche possible du standard XHTML (beaucoup plus stricte que le standard HTML), il est conseillé d'utiliser la notation suivante : <br />.
Imbrication des balises
Les balises HTML ont la particularité de pouvoir être imbriquées de manière hiérarchique afin de permettre le cumul de leur propriétés. En contrepartie le chevauchement de balises n'est pas toléré par le standard HTML.
Voici un exemple de texte formaté avec des balises imbriquées :
<i><u>Comment ça Marche</u>, encyclopédie informatique libre</i>
L'exemple ci-dessus donne le résultat suivant :Comment ça Marche, encyclopédie informatique libre
En contrepartie l'exemple ci-dessous n'est pas correct :<i><b>Comment ça Marche</i>, encyclopédie informatique libre</b>
Attribut HTML
Un attribut est un élément, présent au sein de la balise ouvrante, permettant de définir des propriétés supplémentaires. Les attributs se présentent la plupart du temps comme une paire clé=valeur, mais certains attributs ne sont parfois définis que par la clé.
Voici un exemple d'attribut pour la balise <p> (balise définissant un paragraphe), permettant de spécifier que le texte doit être aligné sur la droite :
<p align="right">Exemple de paragraphe</p>
Chaque balise peut comporter un ou plusieurs attributs, chacun pouvant avoir (aucune,) une ou plusieurs valeurs.Espaces, saut de ligne et tabulations
Le langage HTML ne tient pas compte des espaces, des tabulations et des sauts de ligne (ci-après appelés) ou plus exactement il considère une suite d'un ou plusieurs espaces/tabulations/saut de ligne comme une seule espace. Cela permet notamment d'indenter le code HTML pour plus de lisibilité, sans modifier l'apparence de la page HTML dans le navigateur.
- A noter: il existe une exception pour le code contenu dans des balises<PRE>, dont l'objectif est justement de conserver le formatage du texte (espaces, sauts de lignes, etc.) !
Exemple de
code
HTML
Exemple de code HTML
Le langage HTML possède par contre des éléments permettant expressément de définir chacun de ces éléments de mise en forme :
Espace insécable HTML
Espace insécable : il s'agit d'une espace ne pouvant être brisée par une fin de ligne. Sa représentation en HTML est .
Saut de ligne HTML
Saut de ligne manuel : il s'agit d'un saut de ligne explicite. Sa représentation en HTML est <br>(<br /> pour être conforme au XHTML).
- A noter: La balise <NOBR> </NOBR> permet à l'inverse d'empêcher le retour automatique à la ligne réalisé par le navigateur !
Commentaires HTML
Il est possible d'ajouter des éléments d'information dans une page web sans que ceux-ci soient affichés à l'écran grâce à un jeu de balises spécifique, appelé balises de commentaires.
<!-- Voici un commentaire -->
Les balises de commentaires permettent de mettre en commentaire du texte mais peuvent également servir à commenter du code HTML.- A noter: il existe une exception pour le code contenu dans des balises <PRE>, dont l'objectif est justement de conserver le formatage du texte (espaces, sauts de lignes, etc.) !
Structure d'un document HTML
Notion de document HTML
Voici par exemple une page HTML minimaliste :
Déclaration du type de document
Une page HTML est un simple fichier contenant du texte formaté avec des balises HTML. Par convention l'extension donnée au fichier est .htm ou .html, mais une page web peut potentiellement porter n'importe quelle extension.
Une page web peut être construite à partir du plus basique des éditeurs de texte (une application bloc-note par exemple), mais il existe des éditeurs beaucoup plus évolués.
Les éditeurs WYSIWYG («What You See Is What You Get», littéralement «ce que vous voyez est ce que vous obtenez») sont des éditeurs graphiques permettant de travailler sur une page web telle qu'elle sera affichée sur un navigateur à quelques détails près. Grâce à ce genre d'éditeurs il est possible d'ajouter des balises par simple clic et d'en modifier les attributs en éditant leur propriétés dans un formulaire. Pour autant, afin d'utiliser au mieux ce genre d'éditeur, une connaissance préalable du HTML est tout de même très utile.
Il existe également des éditeurs permettant d'éditer le code HTML en affichant les balises, les attributs et leurs valeurs avec différentes couleurs pour une meilleure lecture et proposant parfois des outils pour vérifier la validité du code HTML.
Par convention l'extension donnée à une page HTML est .htm ou .html mais une page web peut potentiellement porter n'importe quelle extension notamment les suivantes :
- .asp pour une page générée dynamiquement en ASP (Active Server Pages) ;
- .cgi pour une page générée dynamiquement avec des CGI (Common gateway Interface) ;
- .php, pour une page générée dynamiquement en PHP ;
- .pl pour une page générée dynamiquement en Perl (Practical Extraction and Report Language) ;
- etc....
Un document HTML commence par la balise <HTML> et finit par la balise </HTML>. Il contient également un en-tête décrivant le titre de la page, puis un corps dans lequel se trouve le contenu de la page.
L'en-tête est délimité par les balises <HEAD> et </HEAD>. Le corps est délimité par les balises<BODY> et </BODY>.
<HTML>
<HEAD>
<TITLE>Titre de la page</TITLE>
</HEAD>
<BODY>
Contenu de la page
</BODY>
</HTML>
Déclaration du type de document
Il est conseillé d'indiquer dans la page HTML le prologue du type de document, c'est-à-dire une référence à la norme HTML utilisée, afin de spécifier le standard utilisé pour le codage de la page.
Cette déclaration se fait par une ligne du type :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>...</HEAD>
<BODY>Contenu de la page</BODY>
</HTML>
La déclaration du document indique la DTD (Document Type Definition) utilisée, c'est-à-dire la référence des caractéristiques du langage utilisé.
Le tableau ci-dessous récapitule les déclarations pour les principales version du langage HTML :
Le tableau ci-dessous récapitule les déclarations pour les principales version du langage HTML :
| Version | Déclaration |
|---|---|
| HTML 2.0 | <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> |
| HTML 3.2 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> |
| HTML 4.01 |
|
| XHTML 1.0 |
|
| XHTML 1.1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
Caractères spéciaux HTML
Codage des caractères spéciaux
Le standard HTML demande de respecter le codage des caractères ASCII 7 bits, c'est-à-dire que les caractères accentués ne sont pas autorisés. Il faut pour cela utiliser un codage particulier.
Pour coder un caractère accentué, il suffit de saisir une combinaison précédée du caractère & et terminée par un point-virgule (;).
Voici la liste représentations HTML des caractères ASCII de 128 à 255 :| Caractère | Code ISO | Code HTML |
|---|---|---|
"
|
"
|
"
|
&
|
&
|
&
|
€
|
€
|
€
|

| ||
'
|
‚
| |
ƒ
|
ƒ
| |
"
|
„
| |
…
|
…
| |
+
|
†
| |
#
|
‡
| |
^
|
ˆ
| |
‰
|
‰
| |
Š
|
Š
| |
<
|
‹
|
<
|
Œ
|
Œ
| |
|

| |
Z
|
Ž
| |

| ||

| ||
'
|
‘
| |
'
|
’
| |
"
|
“
| |
"
|
”
| |
*
|
•
| |
-
|
–
| |
--
|
—
| |
~
|
˜
| |
™
|
™
| |
š
|
š
| |
>
|
›
|
>
|
oe
|
œ
|
œ
|

| ||
z
|
ž
| |
Y
|
Ÿ
|
Ÿ
|
Space
|
 
|
|
¡
|
¡
|
¡
|
¢
|
¢
|
¢
|
£
|
£
|
£
|
¤
|
¤
|
¤
|
¥
|
¥
|
¥
|
¦
|
¦
|
¦
|
§
|
§
|
§
|
¨
|
¨
|
¨
|
©
|
©
|
©
|
ª
|
ª
|
ª
|
«
|
«
|
«
|
¬
|
¬
|
¬
|
­
|
­
| |
®
|
®
|
®
|
¯
|
¯
|
&masr;
|
°
|
°
|
°
|
±
|
±
|
±
|
²
|
²
|
²
|
³
|
³
|
³
|
'
|
´
|
´
|
µ
|
µ
|
µ
|
¶
|
¶
|
¶
|
·
|
·
|
·
|
¸
|
¸
|
¸
|
¹
|
¹
|
¹
|
º
|
º
|
º
|
»
|
»
|
»
|
¼
|
¼
|
¼
|
½
|
½
|
½
|
¾
|
¾
|
¾
|
¿
|
¿
|
¿
|
À
|
À
|
À
|
Á
|
Á
|
Á
|
Â
|
Â
|
Â
|
Ã
|
Ã
|
Ã
|
Ä
|
Ä
|
Ä
|
Å
|
Å
|
Å
|
Æ
|
Æ
|
&Aelig
|
Ç
|
Ç
|
Ç
|
È
|
È
|
È
|
É
|
É
|
É
|
Ê
|
Ê
|
Ê
|
Ë
|
Ë
|
Ë
|
Ì
|
Ì
|
Ì
|
Í
|
Í
|
Í
|
Î
|
Î
|
Î
|
Ï
|
Ï
|
Ï
|
Ð
|
Ð
|
ð
|
Ñ
|
Ñ
|
Ñ
|
Ò
|
Ò
|
Ò
|
Ó
|
Ó
|
Ó
|
Ô
|
Ô
|
Ô
|
Õ
|
Õ
|
Õ
|
Ö
|
Ö
|
Ö
|
×
|
×
|
×
|
Ø
|
Ø
|
Ø
|
Ù
|
Ù
|
Ù
|
Ú
|
Ú
|
Ú
|
Û
|
Û
|
Û
|
Ü
|
Ü
|
Ü
|
Ý
|
Ý
|
Ý
|
Þ
|
Þ
|
þ
|
ß
|
ß
|
ß
|
à
|
à
|
à
|
á
|
á
|
á
|
â
|
â
|
â
|
ã
|
ã
|
ã
|
ä
|
ä
|
ä
|
å
|
å
|
å
|
æ
|
æ
|
æ
|
ç
|
ç
|
ç
|
è
|
è
|
è
|
é
|
é
|
é
|
ê
|
ê
|
ê
|
ë
|
ë
|
ë
|
ì
|
ì
|
ì
|
í
|
í
|
í
|
î
|
î
|
î
|
ï
|
ï
|
ï
|
ð
|
ð
|
ð
|
ñ
|
ñ
|
ñ
|
ò
|
ò
|
ò
|
ó
|
ó
|
ó
|
ô
|
ô
|
ô
|
õ
|
õ
|
õ
|
ö
|
ö
|
ö
|
÷
|
÷
|
÷
|
ø
|
ø
|
ø
|
ù
|
ù
|
ù
|
ú
|
ú
|
ú
|
û
|
û
|
û
|
ü
|
ü
|
ü
|
ý
|
ý
|
ý
|
þ
|
þ
|
þ
|
ÿ
|
ÿ
|
ÿ
|
Certains caractères ont une signification particulière en HTML, ayant une incidence forte sur le formatage de la page; il s'agit des caractères <, >, " et &<ital></ital>. Le caractère < possède une importance particulière, dans la mesure où il représente pour le navigateur l'ouverture d'une nouvelle balise HTML.
Lorsque ces caractères sont utilisés dans un texte contenu dans une page web, il est donc impératif de les coder en HTML, au risque sinon de provoquer une erreur d'affichage dans le navigateur.
| Caractère | Code ISO | Code HTML |
|---|---|---|
"
|
"
|
"
|
&
|
&
|
&
|
<
|
‹
|
‹
|
>
|
›
|
›
|
- A noter: Notez toutefois que les navigateurs actuels reconnaissent les caractères accentués, ainsi vous pouvez entrer des caractères accentués directement sous votre éditeur de texte, mais votre page HTML risque d'être illisible depuis l'étranger ou à partir de certains navigateurs.
Titres en HTML
Niveaux de titre
Le langage HTML définit 6 niveaux de titre (en anglais heading), afin de définir une structuration hiérarchique des paragraphes dans un texte :
| Balise | Effet Visuel |
| H1 | Test |
| H2 | Test |
| H3 | Test |
| H4 | Test |
| H5 | Test |
| H6 | Test |
Les attributs
Les attributs suivants peuvent être placés dans les balises de structure afin de permettre une disposition plus précise des éléments HTML :
| Attribut | Valeur | Effet Visuel |
| ALIGN | LEFT RIGHT CENTER JUSTIFY |
Texte aligné à gauche
Texte aligné à droite
Texte centré
Texte justifié Texte justifié Texte justifié Texte justifié Texte justifié Texte justifié Texte justifié Texte justifié Texte justifié Texte justifié Texte justifié Texte justifiéTexte justifié Texte justifié Texte justifié Texte justifié
|
| NOWRAP | Interdit au navigateur d'effectuer un saut de ligne. | |
| ID | Attribue un identifiant à la balise. Cet attribut est notamment utile pour la programmation en JavaScript | |
| LANG | Spécifie un langage différent | |
| CLASS | Assigne une classe au contenu (pour les feuilles de style). | |
| CLEAR | Utilisé dans le cas d'un texte entourant une image. Il permet de descendre dans la page aussi loin qu'il est nécessaire pour atteindre une marge libre |
Voici un exemple d'en-tête :
<H1 ALIGN=JUSTIFY> Texte justifié </H1>
Paragraphes en HTML
Paragraphes
Le langage HTML considère les paragraphes comme des blocs de texte. Les navigateurs répartissent au mieux leur contenu dans la fenêtre à moins qu'=un attribut NOWRAP ou NOBR soit spécifié explicitement.
Espaces
A l'intérieur d'un paragraphe, les espaces, tabulations et retours chariot comptent pour un seul espace.
La mise en page par blocs de texte est réalisée par l'intermédiaire de la paire de balises <p> et </p>. Cette balise accepte n'importe lequel des attributs vus précédemment.
Le retour chariot (retour à la ligne simple) est réalisé grâce à la balise
<br>
On peut aussi insérer une ligne horizontale grâce à la balise <hr>.| Balise | Attribut | Effet Visuel |
|---|---|---|
| <br> | retour à la ligne | |
| <p> et </p> | paragraphe | |
| <hr size=5 width=20% align=left> | SIZE WIDTH ALIGN | Séparateur horizontal |
Conteneurs
Les balises servant à indenter le texte sont appelées des conteneurs.
| Conteneur | Effet Visuel |
|---|---|
| <blockquote> et </blockquote> | Texte indenté |
| <address> et </address> | Pour écrire une adresse |
| <note> et </note> | Permet de rédiger une note |
| <fn> et </fn> | Permet de réaliser une note de fin de page |
| <banner> et </banner> | Fixe un bloc de texte par rapport à la page |
| <pre> et </pre> | Permet d'écrire un texte préformatté en conservant les espaces, les retours à la ligne et les tabulations. |
Listes en HTML
Liste HTML
Une liste est un paragraphe structuré contenant une suite d'articles. Le langage HTML définit trois types de listes :
- La liste ordonnée ;
- La liste non ordonnée ;
- La liste de définition.
Liste ordonnée
Conteneur
|
Type de liste
|
Effet Visuel
|
|---|---|---|
<ol>
<li> article 1 </li> <li> article 2 </li> <li> article 3 </li> </ol> |
Liste ordonnée
| 1.article 1 2.article 2 3.article 3 |
Liste non ordonnée
Conteneur
|
Type de liste
|
Effet Visuel
|
|---|---|---|
<ul>
<li> article 1 </li> <li> article 2 </li> <li> article 3 </li> </ul> |
Liste ordonnée
|
|
Liste de définition
Conteneur
|
Type de liste
|
Effet Visuel
|
|---|---|---|
<dl>
<dt>Terme 1</dt> <dd>définition 1</dd> <dt>Terme 2</dt> <dd>définition 2</dd> </dl> |
Liste de définition
|
<dl>
<dt>Terme 1</dt> <dd>définition 1</dd> <dt>Terme 2</dt> <dd>définition 2</dd> </dl> |
Attributs
Il existe des attributs spécifiques aux listes:
Attribut
|
Valeur
|
Effet Visuel
|
|---|---|---|
COMPACT
|
resserre l'interligne
| |
PLAIN
|
supprime les puces
| |
SEQNUM
|
définit le premier numéro
| |
START
|
définit le premier numéro
| |
CONTINUE
|
repart du numéro où il s'était arrété
à la liste précédente | |
TYPE (pour les listes ordonnées)
|
1
A
a
I
i
|
numérotation chiffrée (par défaut)
numérotation en capitales
numérotation en bas de casse
numérotation en chiffres romains (I, II, III, IV ...)
numérotation en chiffres romains en bas de casse
|
TYPE (pour les listes non-ordonnées)
|
circle
square
disc
|
puce circulaire
puce carrée puce en disque |
Tableaux en HTML
Il est souvent utile de présenter des informations mieux structurées qu'avec des listes. Les tableaux permettent de les afficher en lignes et en colonnes. Les tableaux sont définis comme étant des suites de lignes.
Tableaux HTML
Ce code donne le résultat suivant :
Attributs
Un tableau doit respecter les quelques règles suivantes :
Le tableau est encadré par les balises <TABLE> et </TABLE>. Le titre du tableau est encadré par<CAPTION> </CAPTION>. Chaque ligne est encadrée par <TR> </TR> (Table Row, traduisez par ligne du tableau). Les cellules d'en-tête sont encadrées par <TH> </TH> (pour Table Header : En-tête de tableau). Enfin, les cellules de valeur sont encadrées par <TD> </TD> (Table Data: Donnée de tableau).
Voici un exemple de tableau HTML :
<TABLE BORDER="1"> <CAPTION> Voici le titre du tableau </CAPTION> <TR> <TH> Titre A1 </TH> <TH> Titre A2 </TH> <TH> Titre A3 </TH> <TH> Titre A4 </TH> </TR> <TR> <TH> Titre B1 </TH> <TD> Valeur B2 </TD> <TD> Valeur B3 </TD> <TD> Valeur B4 </TD> </TR> </TABLE>
Ce code donne le résultat suivant :
| Titre A1 | Titre A2 | Titre A3 | Titre A4 |
|---|---|---|---|
| Titre B1 | Valeur B2 | Valeur B3 | Valeur B4 |
Attributs
| Attribut | Balises auxquelles il s'applique | Valeur | Effet Visuel |
|---|---|---|---|
| ALIGN | THEAD TBODY TH TR TD | CENTER LEFT RIGHT JUSTIFY | centré Gauche Droite Justifié |
| CAPTION | TOP BOTTOM | Au-dessus
En-dessous
| |
| VALIGN (alignement vertical) | THEAD TBODY TH TR TD | TOP MIDDLE BOTTOM | En haut Au milieu En bas |
| BORDER=n | TABLE | Taille de la bordure | |
| CELLPADDING=n | TABLE | Espacement de n pixels entre le contenu des cellules et la bordure | |
| CELLSPACING=n | TABLE | Epaisseur de la grille intérieure | |
| FLOAT | TABLE | RIGHT LEFT | Position du texte qui suivra </TABLE> |
| COLS=n | TABLE | Nombre de colonnes | |
| FRAME
(contrôle les éléments individuels d'encadrement du tableau)
| TABLE | NONE TOP BOTTOM TOPBOT SIDES ALL | Aucun Au-dessus En bas Tout en haut Sur les cotés Tous |
| RULES
(contrôle les éléments de la grille des cellules)
| TABLE | NONE BASIC ROWS COLS ALL | Aucun basique Ligne Colonne Tous |
| COLSPAN | THEAD TBODY TH TR TD | Débordement des cellules sur les colonnes adjacentes | |
| ROWSPAN | THEAD TBODY TH TR TD | Débordement des cellules sur les lignes adjacentes |
Liens hypertextes et ancres en HTML
Liens hypertextes
Les liens hypertextes (ancrages) sont des éléments d'une page HTML (soulignés lorsqu'il s'agit de texte) permettant aux internautes de naviguer vers une nouvelle adresse lorsque l'on clique dessus. Ce sont les liens hypertextes qui permettent de lier des pages Web entre elles. Ils permettent notamment de naviguer :
vers un autre endroit du document.
vers un fichier HTML situé à un emplacement différent sur la machine qui héberge la page.
vers une autre machine.
L'attribut principal des ancrages est href. Il s'écrit sous la forme suivante :
Un lien externe est un lien vers une page pointée par son URL. Par exemple :
On peut créer un lien vers une page située sur le même ordinateur en remplaçant l'URL par le fichier cible. Ce lien peut être fait de façon relative, en repérant le fichier cible par rapport au fichier source. Si le fichier cible est "index.html" situé dans le répertoire parent, son lien s'écrira:
Il est également possible de créer une ancre dans une page, c'est-à-dire marquer un endroit précis d'une page pour s'y rendre par un lien hypertexte. Les ancres se définissent grâce à l'attribut NAME ou ID. La syntaxe est la suivante :
Les liens hypertextes (ancrages) sont des éléments d'une page HTML (soulignés lorsqu'il s'agit de texte) permettant aux internautes de naviguer vers une nouvelle adresse lorsque l'on clique dessus. Ce sont les liens hypertextes qui permettent de lier des pages Web entre elles. Ils permettent notamment de naviguer :
vers un autre endroit du document.
vers un fichier HTML situé à un emplacement différent sur la machine qui héberge la page.
vers une autre machine.
L'attribut principal des ancrages est href. Il s'écrit sous la forme suivante :
<a href="Adresse ou URL"> .. </a>
Lien externeUn lien externe est un lien vers une page pointée par son URL. Par exemple :
<a href="http://www.commentcamarche.net"> Comment ça marche? </a>
Lien localOn peut créer un lien vers une page située sur le même ordinateur en remplaçant l'URL par le fichier cible. Ce lien peut être fait de façon relative, en repérant le fichier cible par rapport au fichier source. Si le fichier cible est "index.html" situé dans le répertoire parent, son lien s'écrira:
<a href="../index.html"> ... </a>
Ce lien peut aussi être défini de façon absolue, en écrivant l'adresse du fichier cible de façon locale:<a href="file:///lecteur:/répertoire/index.html"> ... </a>
AncresIl est également possible de créer une ancre dans une page, c'est-à-dire marquer un endroit précis d'une page pour s'y rendre par un lien hypertexte. Les ancres se définissent grâce à l'attribut NAME ou ID. La syntaxe est la suivante :
<balise id="ancre"> ... </balise>
L'appel d'une ancre se fait de la manière suivante :<a href="#ancre"> ... </a>
Il est ainsi possible de permettre à l'utilisateur de se déplacer au sein d'une même page ou bien d'accéder à une section particulière d'une autre page :<a href="url/nom_du_fichier.html#ancre"> ... </a>
Images en HTML
- Comment afficher des images sur une page web?
- Comment afficher des images sur une page web?
- Texte enveloppant une image
- Les images réactives ("images MAP")
Comment afficher des images sur une page web?
Quelques images sur un site Web peuvent le rendre plus attractif et plus convivial, cependant il est important de ne pas sombrer dans l'excès car les images peuvent impliquer un temps de chargement assez long et peuvent dans certains cas nuire à la lisibilité.
La balise IMG du langage HTML permet d'insérer des images dans une page HTML. L'image peut être située sur le même serveur que la page dans laquelle elle est insérée mais également sur un autre serveur en spécifiant son URL complète.
Seuls les formats d'images suivants sont acceptés en standard dans les spécifications du W3C :
Les images JPEG : les images ayant un grand nombre de couleurs seront bien compressées, c'est-à-dire qu'elles prendront moins de place, donc nécessiteront un temps de chargement moindre)
Les images PNG : Leur taille est faible dans le cas d'images avec peu de couleurs avec des tons uniformes, ce format permet en outre d'avoir des images entrelacées (qui s'affichent progressivement) avec une profondeur de couleurs de 24 bits et des images dont on définit une couleur comme transparente.
Les images GIF : Elles possèdent les mêmes atouts que les images PNG, si ce n'est que le format GIF est limité à 256 couleurs maximum et que ce format n'est pas totalement libre.
Comment afficher des images sur une page web?
Les principaux attributs de la balise IMG sont les suivants :
SRC: Indique l'emplacement de l'image (il est obligatoire)
ALIGN: Spécifie l'alignement de l'image par rapport au texte adjacent. Il peut prendre les valeurs: TOP, MIDDLE, et BOTTOM (au-dessus, au milieu et en-dessous)
ALT: Permet d'afficher un texte alternatif lorsque l'image ne s'affiche pas.
TITLE: Permet d'afficher une infobulle lors du survol de l'image par le curseur.
WIDTH: Permet de spécifier la largeur de l'image.
HEIGHT: Permet de spécifier la hauteur de l'image.
Ainsi pour insérer une image, il faudra saisir une balise du type suivant :
<IMG SRC="url_de_l_image"ALT="Texte remplaçant l'image"TITLE="Texte à afficher">
| Attribut | Valeur | Résultat | Effet Visuel |
|---|---|---|---|
| ALIGN | bottom center left middle top right | Alignement de l'image. bas centrer gauche milieu haut droite | |
| ALT | Texte alternatif au cas où l'image ne s'affiche pas. | ||
| BORDER | Nombre entier | Nombre de pixels de la bordure. La couleur de la bordure peut être définie par l'attribut LINK ou TEXT de la balise <BODY>. Par défaut l'attribut BORDER vaut 1 ce qui crée un petit cadre autour de l'image. Pour ne pas avoir ce désagrément pensez à le définir comme étant égal à 0. | |
| HEIGHT | Nombre entier | Hauteur de l'image (en pixels ou en %). Lorsque cet attribut précise une dimension différente de la dimension originale du graphique, le navigateur la redimensionne dynamiquement, ce qui peut provoquer un affichage de moins bonne qualité. | |
| HSPACE | Nombre entier | Nombre de pixels d'ajustement entre l'image et le texte adjacent (horizontalement). | |
| LONGDESC | URL de la description de l'image. | ||
| LOWSRC | URL | Image alternative (généralemnt plus petite) affichée le temps que la vraie image soit chargée par le navigateur. | |
| NAME | Permet de définir un nom pour l'image. Cet attribut est notamment utile pour la gestion des images en JavaScript. | ||
| SRC | URL | URL de l'image | |
| TITLE | Texte alternatif au cas où l'image ne s'affiche pas. | ||
| USEMAP | URL ou nom de l'ancre définissant l'image réactive. | ||
| VSPACE | Nombre de pixels d'ajustement entre l'image et le texte (verticalement). | Essai de texte | |
| WIDTH | Nombre entier | Largeur de l'image (en pixels ou en %). Lorsque cet attribut précise une dimension différente de la dimension originale du graphique, le navigateur la redimensionne dynamiquement, ce qui peut provoquer un affichage de moins bonne qualité. |
Texte enveloppant une image
Les images s'insèrent dans le texte comme un caractère, ainsi il semble impossible de faire s'écouler du texte le long d'une image.
Il existe en fait plusieurs façons, nous allons en voir deux :
La première consiste à créer un tableau avec une ligne et deux colonnes, dans lesquelles on met l'image et le texte.
La seconde (moins précise) consiste à aligner l'image à gauche ou à droite avec l'attribut ALIGN puis de taper son texte. Il suffit, pour arrêter cet enveloppement de mettre l'attribut CLEAR.
Les images réactives
Il est possible de créer des zones cliquables à l'intérieur même d'une image grâce à l'attribut USEMAP utilisé conjointement avec la balise MAP.
L'attribut USEMAP de la balise <IMG> pointe vers une balise <MAP> contenant la description du découpage de l'image en zones cliquables.
La balise <MAP> a un attribut NAME définissant son nom (NAME="nom") et contient les zones cliquables déclarées grâce à des balises AREA.
| Balise | Attribut | Valeur | Effet Visuel |
|---|---|---|---|
| MAP | NAME | ||
| AREA | SHAPE | RECT
CIRCLE
POLY
| Rectangle (ses coordonnées sont: "abscisse sup gauche, ordonnée sup gauche, abscisse inf droit, ordonnée inf droit")
Cercle (ses coordonnées sont:
"abscisse centre, ordonnée centre, rayon")
Polygone (ses coordonnées sont:
"la suite des coordonnées séparées par des virgules") |
| HREF | URL | Lien vers l'URL | |
| COORDS | "XX,XX,XX,XX" | Contient les coordonnées de la zone cliquable, séparées par des virgules. |
Voici ci-dessous un exemple d'image réactive :
<IMG SRC="images/image.gif" WIDTH=150 HEIGHT=70 <USEMAP="#Map"> <MAP NAME="Map"> <AREA SHAPE="rect"HREF="debut.html" COORDS="0,0,48,28"> <AREA SHAPE="circle" HREF="precedent.html" COORDS="50,30,10"> <AREA SHAPE="poly" HREF="suivant.html" COORDS="60,50,80,30,100,40,50,100"> </MAP>
Les arrière-plans en HTML
Insérer une image en fond
Il est possible de définir une image d'arrière-plan pour la page web grâce aux attributs de la balise <BODY> :
| Attribut | Effet Visuel |
|---|---|
| BACKGROUND="image" | Affiche l'image en arrière-plan |
| BGCOLOR="nom_de_la_couleur ou #XXXXXX" | Affiche la couleur demandée en arrière-plan |
| LINK="couleur" | Couleur des liens hypertexte |
| ALINK="couleur" | Couleur du lien actif |
| VLINK="couleur" | Couleur des liens déjà visités |
| TEXT="couleur" | Couleur du texte par défaut |
Les couleurs sont définies selon la notation #RRVVBB, où RR, VV et BB représentent respectivement un nombre hexadécimal entre 00 et FF pour le Rouge, le Vert et le Bleu.
Codes couleur HTML
Le codage des couleurs
Les couleurs en HTML sont définies par 3 nombres hexadécimaux représentant les tons de Rouge, de Vert et de Bleu (selon le codage RGB (Red Green Blue, en français : RVB) de la couleur choisie. Ainsi la syntaxe de codage d'une couleur en HTML est la suivante :
RR, VV et BB représentent respectivement un nombre hexadécimal entre 00 et FF pour le Rouge, le Vert et le Bleu.
couleur="#RRVVBB"
Ainsi, plus de 16 millions de couleurs sont disponibles pour colorer les pages web. Toutefois, étant donné que tous les navigateurs ne reconnaissent pas les couleurs de la même façon, le W3C conseille l'utilisation des couleurs ci-dessous, pour lesquelles un nom intelligible a été donné. Il est donc possible (et conseillé) d'appeler une couleur de la façon suivante :
couleur="nom_de_la_couleur"
| Nom de la couleur | Aperçu | Codage RVB |
|---|---|---|
| aliceblue | ███████ aliceblue | #F0F8FF |
| antiquewhite | ███████ antiquewhite | #FAEBD7 |
| aqua | ███████ aqua | #00FFFF |
| aquamarine | ███████ aquamarine | #7FFFD4 |
| azure | ███████ azure | #F0FFFF |
| beige | ███████ beige | #F5F5DC |
| bisque | ███████ bisque | #FFE4C4 |
| black | ███████ black | #000000 |
| blanchedalmond | ███████ blanchedalmond | #FFEBCD |
| blue | ███████ blue | #0000FF |
| blueviolet | ███████ blueviolet | #8A2BE2 |
| brown | ███████ brown | #A52A2A |
| burlywood | ███████ burlywood | #DEB887 |
| cadetblue | ███████ cadetblue | #5F9EA0 |
| chartreuse | ███████ chartreuse | #7FFF00 |
| chocolate | ███████ chocolate | #D2691E |
| coral | ███████ coral | #FF7F50 |
| cornflowerblue | ███████ cornflowerblue | #6495ED |
| cornsilk | ███████ cornsilk | #FFF8DC |
| crimson | ███████ crimson | #DC143C |
| cyan | ███████ cyan | #00FFFF |
| darkblue | ███████ darkblue | #00008B |
| darkcyan | ███████ darkcyan | #008B8B |
| darkgoldenrod | ███████ darkgoldenrod | #B8860B |
| darkgray | ███████ darkgray | #A9A9A9 |
| darkgreen | ███████ darkgreen | #006400 |
| darkkhaki | ███████ darkkhaki | #BDB76B |
| darkmagenta | ███████ darkmagenta | #8B008B |
| darkolivegreen | ███████ darkolivegreen | #556B2F |
| darkorange | ███████ darkorange | #FF8C00 |
| darkorchid | ███████ darkorchid | #9932CC |
| darkred | ███████ darkred | #8B0000 |
| darksalmon | ███████ darksalmon | #E9967A |
| darkseagreen | ███████ darkseagreen | #8FBC8F |
| darkslateblue | ███████ darkslateblue | #483D8B |
| darkslategray | ███████ darkslategray | #2F4F4F |
| darkturquoise | ███████ darkturquoise | #00CED1 |
| darkviolet | ███████ darkviolet | #9400D3 |
| deeppink | ███████ deeppink | #FF1493 |
| deepskyblue | ███████ deepskyblue | #00BFFF |
| dimgray | ███████ dimgray | #696969 |
| dodgerblue | ███████ dodgerblue | #1E90FF |
| firebrick | ███████ firebrick | #B22222 |
| floralwhite | ███████ floralwhite | #FFFAF0 |
| forestgreen | ███████ forestgreen | #228B22 |
| fuchsia | ███████ fuchsia | #FF00FF |
| gainsboro | ███████ gainsboro | #DCDCDC |
| ghostwhite | ███████ ghostwhite | #F8F8FF |
| gold | ███████ gold | #FFD700 |
| goldenrod | ███████ goldenrod | #DAA520 |
| gray | ███████ gray | #808080 |
| green | ███████ green | #008000 |
| greenyellow | ███████ greenyellow | #ADFF2F |
| honeydew | ███████ honeydew | #F0FFF0 |
| hotpink | ███████ hotpink | #FF69B4 |
| indianred | ███████ indianred | #CD5C5C |
| indigo | ███████ indigo | #4B0082 |
| ivory | ███████ ivory | #FFFFF0 |
| khaki | ███████ khaki | #F0E68C |
| lavender | ███████ lavender | #E6E6FA |
| lavenderblush | ███████ lavenderblush | #FFF0F5 |
| lawngreen | ███████ lawngreen | #7CFC00 |
| lemonchiffon | ███████ lemonchiffon | #FFFACD |
| lightblue | ███████ lightblue | #ADD8E6 |
| lightcoral | ███████ lightcoral | #F08080 |
| lightcyan | ███████ lightcyan | #E0FFFF |
| lightgoldenrodyellow | ███████ lightgoldenrodyellow | #FAFAD2 |
| lightgreen | ███████ lightgreen | #90EE90 |
| lightgrey | ███████ lightgrey | #D3D3D3 |
| lightpink | ███████ lightpink | #FFB6C1 |
| lightsalmon | ███████ lightsalmon | #FFA07A |
| lightseagreen | ███████ lightseagreen | #20B2AA |
| lightskyblue | ███████ lightskyblue | #87CEFA |
| lightslategray | ███████ lightslategray | #778899 |
| lightsteelblue | ███████ lightsteelblue | #B0C4DE |
| lightyellow | ███████ lightyellow | #FFFFE0 |
| lime | ███████ lime | #00FF00 |
| limegreen | ███████ limegreen | #32CD32 |
| linen | ███████ linen | #FAF0E6 |
| magenta | ███████ magenta | #FF00FF |
| maroon | ███████ maroon | #800000 |
| mediumaquamarine | ███████ mediumaquamarine | #66CDAA |
| mediumblue | ███████ mediumblue | #0000CD |
| mediumorchid | ███████ mediumorchid | #BA55D3 |
| mediumpurple | ███████ mediumpurple | #9370DB |
| mediumseagreen | ███████ mediumseagreen | #3CB371 |
| mediumslateblue | ███████ mediumslateblue | #7B68EE |
| mediumspringgreen | ███████ mediumspringgreen | #00FA9A |
| mediumturquoise | ███████ mediumturquoise | #48D1CC |
| mediumvioletred | ███████ mediumvioletred | #C71585 |
| midnightblue | ███████ midnightblue | #191970 |
| mintcream | ███████ mintcream | #F5FFFA |
| mistyrose | ███████ mistyrose | #FFE4E1 |
| moccasin | ███████ moccasin | #FFE4B5 |
| navajowhite | ███████ navajowhite | #FFDEAD |
| navy | ███████ navy | #000080 |
| oldlace | ███████ oldlace | #FDF5E6 |
| olive | ███████ olive | #808000 |
| olivedrab | ███████ olivedrab | #6B8E23 |
| orange | ███████ orange | #FFA500 |
| orangered | ███████ orangered | #FF4500 |
| orchid | ███████ orchid | #DA70D6 |
| palegoldenrod | ███████ palegoldenrod | #EEE8AA |
| palegreen | ███████ palegreen | #98FB98 |
| paleturquoise | ███████ paleturquoise | #AFEEEE |
| palevioletred | ███████ palevioletred | #DB7093 |
| papayawhip | ███████ papayawhip | #FFEFD5 |
| peachpuff | ███████ peachpuff | #FFDAB9 |
| peru | ███████ peru | #CD853F |
| pink | ███████ pink | #FFC0CB |
| plum | ███████ plum | #DDA0DD |
| powderblue | ███████ powderblue | #B0E0E6 |
| purple | ███████ purple | #800080 |
| red | ███████ red | #FF0000 |
| rosybrown | ███████ rosybrown | #BC8F8F |
| royalblue | ███████ royalblue | #4169E1 |
| saddlebrown | ███████ saddlebrown | #8B4513 |
| salmon | ███████ salmon | #FA8072 |
| sandybrown | ███████ sandybrown | #F4A460 |
| seagreen | ███████ seagreen | #2E8B57 |
| seashell | ███████ seashell | #FFF5EE |
| sienna | ███████ sienna | #A0522D |
| silver | ███████ silver | #C0C0C0 |
| skyblue | ███████ skyblue | #87CEEB |
| slateblue | ███████ slateblue | #6A5ACD |
| slategray | ███████ slategray | #708090 |
| snow | ███████ snow | #FFFAFA |
| springgreen | ███████ springgreen | #00FF7F |
| steelblue | ███████ steelblue | #4682B4 |
| tan | ███████ tan | #D2B48C |
| teal | ███████ teal | #008080 |
| thistle | ███████ thistle | #D8BFD8 |
| tomato | ███████ tomato | #FF6347 |
| turquoise | ███████ turquoise | #40E0D0 |
| violet | ███████ violet | #EE82EE |
| wheat | ███████ wheat | #F5DEB3 |
| white | ███████ white | #FFFFFF |
| whitesmoke | ███████ whitesmoke | #F5F5F5 |
| yellow | ███████ yellow | #FFFF00 |
| yellowgreen | ███████ yellowgreen | #9ACD32 |
Formulaires HTML
Les formulaires interactifs permettent aux auteurs de pages Web de doter leur page web d'éléments interactifs permettant par exemple un dialogue avec les internaute, à la manière des coupons-réponse présents dans certains magazines.
Intérêt d'un formulaire
La balise FORM
A l'intérieur de la balise FORM...
Envoi des données
La balise INPUT
La balise TEXTAREA
La balise SELECT
Un exemple de formulaire
Attributs de la balise FORM et types d'entrées
A lire
Intérêt d'un formulaire
Le lecteur saisit des informations en remplissant des champs ou en cliquant sur des boutons, puis appuie sur un bouton de soumission (submit) pour l'envoyer soit à un URL, c'est-à-dire de façon générale à une adresse e-mail ou à un script de page web dynamique tel que PHP, ASP ou un script CGI.
La balise FORM
Les formulaires sont délimités par la balise <FORM> ... </FORM>, une balise qui permet de regrouper plusieurs éléments de formulaire (boutons,champs de saisie,...) et qui possède les attributs obligatoires suivants :
- METHOD indique sous quelle forme seront envoyées les réponses « POST » est la valeur qui correspond à un envoi de données stockées dans le corps de la requête, tandis que « GET » correspond à un envoi des données codées dans l'URL, et séparées de l'adresse du script par un point d'interrogation (pour plus de renseignement sur les méthodes POST et GET, consultez l'article sur le protocole HTTP)
- ACTION indique l'adresse d'envoi (script CGI ou adresse email (mailto:adresse.email@machine))
La balise FORM possède comme attribut facultatif ENCTYPE qui spécifie le codage des données dans l'URL, toutefois il n'est pas nécessaire de le préciser car la valeur attribuée par défaut (application/x-www-form-urlencoded) est la seule valeur valide. L'attribut facultatif ACCEPT permet de définir les types MIME des données pouvant être envoyées par le formulaire.
Voici la syntaxe de la balise FORM :
<FORM METHOD="POST" ou "GET" ACTION="url" ENCTYPE="x-www-form-urlencoded">
...
</FORM>
Voici quelques exemples de balises FORM :
<FORM METHOD=POST ACTION="mailto:webmaster@commentcamarche.net">
<FORM METHOD=GET ACTION="http://www.commentcamarche.net/cgi-bin/script.cgi">
A l'intérieur de la balise FORM...
La balise FORM constitue en quelque sorte un conteneur permettant de regrouper des éléments qui vont permettre à l'utilisateur de choisir ou de saisir des données, ensemble de données qui seront envoyées à l'URL indiqué dans l'attribut ACTION de la balise FORM par la méthode indiquée par l'attribut METHOD.
Il est possible d'insérer n'importe quel élément HTML de base dans une balise FORM(textes,boutons,tableaux,liens,...) mais il est surtout
intéressant d'insérer des éléments interactifs. Ces éléments interactifs sont :
- La balise INPUT: un ensemble de boutons et de champs de saisie
- La balise TEXTAREA: une zone de saisie
- La balise SELECT: une liste à choix multiples
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Envoi des données
Lorsqu'un formulaire est soumis (appui sur le bouton de soumission), les données
présentes dans le formulaire sont envoyées au script CGI sous forme de paires nom/valeur, c'est-à-dire un ensemble de données représentées par le nom de l'élément de formulaire, le caractère "=", puis la valeur associée. L'ensemble de ces paires nom/valeur étant séparées entre elles par des esperluettes (caractère &). Les données envoyées ressembleront donc à ceci :
présentes dans le formulaire sont envoyées au script CGI sous forme de paires nom/valeur, c'est-à-dire un ensemble de données représentées par le nom de l'élément de formulaire, le caractère "=", puis la valeur associée. L'ensemble de ces paires nom/valeur étant séparées entre elles par des esperluettes (caractère &). Les données envoyées ressembleront donc à ceci :
champ1=valeur1&champ2=valeur2&champ3=valeur3
Dans le cas de la méthode GET (envoi des données à travers l'URL), l'URL ressemblera à une chaîne du genre :
http://www.commentcamarche.net/cgi-bin/script.cgi?champ1=val1&champ2=val2
La balise INPUT
La balise INPUT est la balise essentielle des formulaires, car elle permet
de créer un bon nombre d'éléments "interactifs". La syntaxe de cette balise est la suivante :
<INPUT type="Nom du champ" value="Valeur par défaut" name="Nom de l'élément">
L'attribut name est essentiel car il permettra au script CGI de connaître le
champ associé à la paire nom/valeur, c'est-à-dire que le nom du champ sera suivi du caractère "=" puis de la valeur entrée par l'utilisateur, ou dans le cas contraire de la valeur par défaut repéré par l'attribut value.
L'attribut type permet de préciser le type d'élément que représente la balise INPUT, voici les valeurs que ce champ peut prendre :
- checkbox: il s'agit de cases à cocher pouvant admettre deux états : checked (coché) et unchecked(non coché). Lorsque la case est cochée la paire nom/valeur est envoyée au CGI.
- hidden: il s'agit d'un champ caché. Ce champ non visible sur le formulaire permet de préciser un paramètre fixe qui sera envoyé au CGI sous forme de paire nom/valeur.
- file: il s'agit d'un champ permettant à l'utilisateur de préciser
l'emplacement d'un fichier qui sera envoyé avec le formulaire. Il faut dans ce cas préciser
le type de données pouvant être envoyées grâce à l'attribut ACCEPT de la balise FORM.
- image: il s'agit d'un bouton de soumission personnalisé, dont l'apparence est l'image situé à l'emplacement précisé par son attribut SRC
- password: il s'agit d'un champ de saisie, dans lequel les caractères saisis apparaissent sous forme d'astérisques afin de camoufler la saisie de l'utilisateur.
- radio: il s'agit d'un bouton permettant un choix parmi plusieurs proposés (l'ensemble des boutons radios devant porter le même attribut name. La paire nom/valeur du bouton radio sélectionné sera envoyé au CGI. Un attribut checked pour un des boutons permet de préciser le bouton sélectionné par défaut.
- reset: il s'agit d'un bouton de remise à zéro permettant uniquement de rétablir l'ensemble des éléments du formulaire à leurs valeurs par
défaut.
- submit: il s'agit du bouton de soumission permettant l'envoi du formulaire. Le texte du bouton peut être précisé grâce à l'attribut value.
- text: il s'agit d'un champ de saisie permettant la saisie d'une ligne de texte.
La taille du champ peut être définie à l'aide de l'attribut size et la taille maximale du texte saisi grâce à l'attribut maxlength.
La balise TEXTAREA
La balise TEXTAREA permet de définir une zone de saisie plus vaste par rapport à la simple ligne de saisie que propose la balise INPUT. Cette balise possède les attributs suivants :
- cols: représente le nombre de caractères que peut contenir une ligne
- rows: représente le nombre de lignes
- name: représente le nom associé au champ, c'est le nom qui permettra d'identifier le champ dans la paire nom/valeur
- readonly: permet d'empêcher l'utilisateur de modifier le texte entré par défaut dans le champ
- value: représente la valeur qui sera envoyée par défaut au script si le champ de saisie n'est pas modifié par une frappe de l'utilisateur
La balise SELECT
La balise SELECT permet de créer une liste déroulante d'éléments (précisés par des balises OPTIONà l'intérieur de celle-ci). Les attributs de cette balise sont :
- name: représente le nom associé au champ, c'est le nom qui permettra d'identifier le champ dans la paire nom/valeur
- disabled: permet de créer une liste désactivée, c'est-à-dire affichée en grisée
- size: représente le nombre de lignes dans la liste (cette valeur peut être plus grande que le nombre d'éléments effectifs dans la liste)
- multiple: marque la possibilité pour l'utilisateur de choisir plusieurs champs dans la liste
Un exemple de formulaire
Les formulaires peuvent être mis en page à l'aide de tableaux (cela est même
conseillé pour avoir une mise en page soignée). Voici un exemple récapitulant
les points ci-dessus et montrant comment mettre en page un formulaire à l'aide d'un tableau :
conseillé pour avoir une mise en page soignée). Voici un exemple récapitulant
les points ci-dessus et montrant comment mettre en page un formulaire à l'aide d'un tableau :
<FORM method=post action="cgi-bin/script.pl">
Enregistrement d'un utilisateur
<TABLE BORDER=0>
<TR>
<TD>Nom</TD>
<TD>
<INPUT type=text name="nom">
</TD>
</TR>
<TR>
<TD>Prénom</TD>
<TD>
<INPUT type=text name="prenom">
</TD>
</TR>
<TR>
<TD>Sexe</TD>
<TD>
Homme : <INPUT type=radio name="sexe" value="M">
<br>Femme : <INPUT type=radio name="sexe" value="F">
</TD>
</TR>
<TR>
<TD>Fonction</TD>
<TD>
<SELECT name="fonction">
<OPTION VALUE="enseignant">Enseignant</OPTION>
<OPTION VALUE="etudiant">Etudiant</OPTION>
<OPTION VALUE="ingenieur">Ingénieur</OPTION>
<OPTION VALUE="retraite">Retraité</OPTION>
<OPTION VALUE="autre">Autre</OPTION>
</SELECT>
</TD>
</TR>
<TR>
<TD>Commentaires</TD>
<TD>
<TEXTAREA rows="3" name="commentaires">
Tapez ici vos commentaires</TEXTAREA>
</TD>
</TR>
<TR>
<TD COLSPAN=2>
<INPUT type="submit" value="Envoyer">
</TD>
</TR>
</TABLE>
</FORM>
Voici le résultat de ce code HTML :
<FORM method=post action="javascript:alert('L\'envoi du formulaire a bien évidemment été bloqué <:)');">
Enregistrement d'un utilisateur
| Nom | <INPUT type="text" name="nom"> |
| Prénom | <INPUT type="text" name="prenom"> |
| Sexe | Homme : <INPUT type="radio" name="sexe" value="M"> Femme : <INPUT type="radio" name="sexe" value="F"> |
| Fonction | <SELECT name="fonction"> <OPTION VALUE="enseignant">Enseignant</OPTION> <OPTION VALUE="etudiant">Etudiant</OPTION> <OPTION VALUE="ingenieur">Ingénieur</OPTION> <OPTION VALUE="retraite">Retraité</OPTION> <OPTION VALUE="autre">Autre</OPTION> </SELECT> |
| Commentaires | <TEXTAREA rows="3" name="commentaires">Tapez ici vos commentaires</TEXTAREA> |
<INPUT type="submit" value="Envoyer"> | |
</FORM>
Attributs de la balise FORM et types d'entrées
| <b>Balise<b> | <b>Attribut<b> | <b>Valeur<b> | <b>Résultat<b> | <b>Effet Visuel<b> |
|---|---|---|---|---|
| <FORM> ... </FORM> | METHOD | POST GET | ||
| ACTION | envoie à l'adresse indiquée | |||
| ENCTYPE | spécifie le type de codage utilisé | |||
| <INPUT> | TYPE | submit | effectue l'ACTION dans le balise <FORM> | <form><input type="submit" name="B1" value="Envoyer"></form> |
| text | simple ligne de texte dont la longueur est donnée par l'attribut size | <form><input type="text" size="20" name="T1"></form> | ||
| reset | efface le contenu du formulaire | <form><input type="reset" name="B2" value="Rétablir"></form> | ||
| radio | bouton radio | <form><input type="radio" checked name="R1" value="V1"></form> | ||
| checkbox | case à cocher | <form><input type="checkbox" name="C1"></form> | ||
| NAME | Nom | |||
| SIZE | Taille du texte | |||
| <TEXTAREA> ... </TEXTAREA> | NAME | Zone de texte | <form><textarea name="S1" rows="2" cols="20"></textarea></form> | |
| ROWS | ||||
| COLS | ||||
<SELECT>
</SELECT> | NAME | <form><select name="D2" size="1"> <option selected>Choix 1</option> <option>Choix 2</option> <option>Choix 3</option> <option>Choix 4</option> </select></form> | ||
| MULTIPLE | Plusieurs choix possibles | <form><select name="D1" multiple size="1"> <option>Choix 1</option> <option>Choix 2</option> <option>Choix 3</option> <option>Choix 4</option> </select></form> | ||
| <OPTION> ... </OPTION> | SELECTED | Option par défaut | <form><select name="D3" multiple size="3"> <option selected>Choix 1</option> <option>Choix 2</option> <option>Choix 3</option> <option selected>Choix 4</option> </select></form> | |
| VALUE | Valeur forcée |
Aucun commentaire :
Enregistrer un commentaire