Le Langage HTML - unidentified
Transcription
Le Langage HTML - unidentified
T-GSI STAGE RENOVATION - HTML.Chapitre 3 - Le Langage HTML, :: Partie 3 :: Sources du document : • • • • • Livre d’Eric Crepin Conception de site Internet Intranet ; Le consortium W3C (texte de référence HTML 4.01 du 18 décembre 1997) ; Le site ALL WEB ; Le site ALL HTML ; Magazine Compétence Micro n° 9 et 16. Autres sources données à titre de bibliographie : • • • • Le site de Didier cabuzel ; Le site devparadise ; Le site WebDeveloper; Magazine Linux Pratique HS juin-juillet 2005, Développement Web. Olivier Mondet http://unidentified-one.net A. Commandes multimédia Les commandes suivantes supposent que le visiteur de la page disposera d’un équipement minimum (carte son, carte vidéo). Lors de leur activation les sons ou les images sont exécutés grâce aux clients multimédias installés : Lecteur multimédia Windows, Real Player, Quick Time Player, ActiveMovie, Winamp pour les plus couramment utilisés. Les formats qui sont Pour la vidéo Pour le son Pour la musique les plus utilisés sont : .avi, .mov, .mpg (mpeg) .wav, .au .mid, .ar, .mp3, .rm, .ram A.1. Les événements déclenchés par les visiteurs (On supposera que les fichiers multimédias sont stockés dans le répertoire /multimédia.) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Pages musicales</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </HEAD> <BODY> <A HREF="multimedia/son.wav">Ecouter mon son</A> <BR /> <A HREF="multimedia/musique.mid">Ecouter ma mélodie</A> <BR /> <A HREF="multimedia/video.avi">Regarder ma video</A> </BODY> Ch.3 - Le Langage HTML, Partie 3.doc page 1 / 22 om (2001-2006) </HTML> Les liens activeront les lecteurs multimédias par défaut il suffira de préciser vouloir ouvrir le fichier à partir de son emplacement actuel. A.2. Les événements automatiques On peut activer automatiquement des effets sans demander l’avis du visiteur. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Pages musicales forcées</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </HEAD> <BODY> <EMBED SRC="multimedia/musik.mid" AUTOSTART=″TRUE″ HIDDEN=″TRUE″ LOOP=″INFINITE″ LOOP=″1000″ /> </BODY> </HTML> SRC="fichier" AUTOSTART= TRUE | FALSE HIDDEN= TRUE | FALSE LOOP=n | INFINITE EMBED Définit l’URL ou le chemin du fichier. Décide si le fichier est lancé automatiquement. Décide si un petit panneau média doit être affiché pendant l’action. Définit le nombre de fois que le fichier doit être réinitialisé. INFINITE signifie sans arrêt dans IE. Lance automatiquement la commande. Avec affichage d’une image formatée du lecteur : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Pages musicales forcées</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </HEAD> <EMBED SRC="multimedia/musik.mid" WIDTH=″145″ HEIGHT=″160″ AUTOSTART=″FALSE″ HIDDEN=″FALSE″ /> </BODY> </HTML> Ch.3 - Le Langage HTML, Partie 3.doc page 2 / 22 om (2001-2006) Exemple avec une image : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Pages avec vidéo</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </HEAD> <EMBED SRC="multimedia/video.avi" WIDTH=″100″ HEIGHT=″100″ AUTOSTART=″TRUE″ LOOP=″1000″ /> </BODY> </HTML> B. Les images réactives En plus des images cliquables HTML offre la possibilité de segmenter une image en plusieurs zones réactives (chacune de ces zones renfermant un lien hypertexte). Ce sont des images dont différentes zones, agissent comme des liens hypertextes. Chaque zone renvoi vers un lien différent. Note : pour réaliser des image-maps, votre logiciel de retouche d'image doit vous fournir les coordonnées en x et y des zones que vous voulez définir (sous Windows, Paint le fait aussi très bien). Ch.3 - Le Langage HTML, Partie 3.doc page 3 / 22 om (2001-2006) B.1. Déclarer une image en image-map Déclarer une image comme utilisant un map est simple : il suffit d'ajouter l'attribut USEMAP="#nomMap" dans la balise <IMG />. Le nom donné au map est libre, mais n'oubliez pas le signe dièse (#) qui le précède (c'est le même principe que pour les ancres). Il suffit d'indiquer au navigateur le chemin pour trouver le map en question. La plupart du temps, on définit le map juste après l'implémentation de l'image-map, ou à la fin du fichier contenant l'imagemap. Soit par exemple une image dont la zone du centre servira de lien hypertexte pour aller sur une autre page (fictive pour notre exemple). Quand le visiteur cliquera sur l’étoile il aura accès à une autre page : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Pages avec zones réactives</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </HEAD> <BODY> <!-- définition des zones réactives --> <MAP NAME="imagemenu"> <AREA SHAPE=″CIRCLE″ COORDS="53,51,35 " HREF="page1.html" TITLE="Menu Principal" /> </MAP> <IMG SRC="images/etoile.jpg" WIDTH=″100″ HEIGHT=″100″ BORDER=″0″ ALIGN=″BOTTOM″ USEMAP="#imagemenu" /> </BODY> </HTML> Ch.3 - Le Langage HTML, Partie 3.doc page 4 / 22 om (2001-2006) En cliquant dans la zone délimitée par le cercle on voit s’afficher le chemin du lien dans le bas de la fenêtre. B.2. Définir le MAP Il vous faut un moyen d'obtenir les coordonnées en x et y pour les différentes zones que vous voulez définir. La plupart des logiciels de graphisme ont aujourd'hui cette option. Il est possible de définir différentes formes de zones actives : Rectangulaire : SHAPE=RECT On définit alors les coordonnées du point en haut à gauche en x puis en y, puis le point en bas à droite en x puis en y. Ce qui donne : COORDS="x1, y1, x2, y2" Cercle : SHAPE=CIRCLE On définit le centre du cercle puis le rayon en pixels. On obtient donc : COORDS="x1, y1, rayon" Polygone : SHAPE=POLY On définit les coordonnées en x et y pour chaque point du polygone (comme pour le rectangle, mais il y a plus de points). Ce qui donne : COORDS="x1, y1, x2, y2,…" Remarque : on peut aussi utiliser les formes suivantes qui ne fonctionnent pas sur tous les navigateurs. OVAL DEFAULT Point supérieur gauche et point inférieur droit du rectangle incluant l’ellipse Concerne le reste de l’image. Les zones réactives ont les options suivantes : HREF="Lien" Hyperlien associé à la zone réactive. TARGET Affiche l’hyperlien. TITLE Affiche une info-bulle pour les zones réactives (avec IE, notamment). ALT Affiche une info-bulle pour mes zones réactives (Netscape). Exemple avec plusieurs zones sur une même image : Ici les zones ont des formes différentes et obligent à utiliser : • Rectangles (RECT), • Cercles (CIRCLE), • et polygones (POLY). Ch.3 - Le Langage HTML, Partie 3.doc page 5 / 22 om (2001-2006) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Pages avec zones réactives</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </HEAD> <BODY> <!-- définition des zones réactives --> <MAP NAME=″Image″> <AREA SHAPE=″RECT″ COORDS=″24,16,162,68″ HREF=″page1.html#jaune″ /> <AREA SHAPE=″CIRCLE″ COORDS=″38,133,27″ HREF=″page1.html#rouge″ /> <AREA SHAPE=″RECT″ COORDS=″19,189,158,237″ HREF=″page1.html#vert″ /> <AREA SHAPE=″POLY″ COORDS=″99,108 124,108 124,77 148,77 148,108 173,108 173,135 148,135 148,163 124,163 124,135 99,135″ HREF=″page1.html#noir″ /> </MAP> <!-- image de référence des zones réactives --> <IMG SRC=″images/image1.jpg" BORDER=″0″ WIDTH=″200″ HEIGHT=″268″ NAME="image cliquable" USEMAP=″#Image″ /> </BODY> </HTML> B.3. Autre exemple un menu Cette image, faite à l’aide d’un logiciel de retouche d’image, comporte plusieurs titres : "Les pages de Michel" "Présentation", "E-mail", "Ca m’intéresse", "Mes liens", "Mes photos". Après avoir noté les références des titres on peut créer la map. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Pages de Michel le retour</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </HEAD> <BODY> <MAP NAME="menu"> <AREA SHAPE=RECT COORDS="8,27,208,60" HREF="lien1.html" /> <AREA SHAPE=RECT COORDS="246,5,327,24" HREF="lien2.html" /> <AREA SHAPE=RECT COORDS="362,23,459,33" HREF="lien3.html" /> <AREA SHAPE=RECT COORDS="496,38,568,48" HREF="lien4.html" /> <AREA SHAPE=RECT COORDS="361,52,427,62" HREF="lien5.html" /> <AREA SHAPE=RECT COORDS="250,67,291,77" HREF="lien6.html" /> </MAP> <DIV ALIGN=″CENTER″> <IMG SRC="images/menu.gif" BORDER=″0″ WIDTH=″580″ HEIGHT=″84″ ALIGN=″BOTTOM″ USEMAP="#menu" /> </DIV> </BODY> </HTML> Ch.3 - Le Langage HTML, Partie 3.doc page 6 / 22 om (2001-2006) C. Référencer et déclarer ses pages C.1. Référencer ses pages grâce aux balises META Face à la taille et à la complexité du World Wide Web il devient fondamental non seulement de développer des sites intéressants et attrayants, mais aussi de veiller à les faire connaître aux surfeurs, et aux moteurs de recherche. HTML permet de référencer chaque document en fonction de différents critères grâce à la balise <META>. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>référence de document</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <META NAME="Author" LANG="fr" CONTENT="Loulou" /> <META NAME="Description" CONTENT="Trucs et astuces en HTML" /> <META NAME="Keywords" CONTENT="Informatique,HTML,WWW,Java,Javascript,VBScript" /> <META HTTP-EQUIV="Expires" CONTENT="Le 1 juin 1998" /> <META HTTP-EQUIV="Refresh" CONTENT="5; URL=javascript04.html" /> </HEAD> <BODY> <CENTER> <FONT SIZE=″+3″>Patience ce fichier est redirigé !</FONT> </CENTER> </BODY> </HTML> Ch.3 - Le Langage HTML, Partie 3.doc page 7 / 22 om (2001-2006) HTTP-EQUIV Author Description Keywords Expires Refresh Robots description définit le nom de l’auteur. définit un texte de description du document. définit les mots clés qui caractérisent le document (chaque mot clé est séparé du suivant par une virgule). définit la date à partir de laquelle le navigateur doit recharger la page à partir du serveur, et ne pas la charger à partir du cache. définit une redirection (au bout de 5 secondes dans notre exemple) vers une autre URL après un temps en seconde (ceci peut être très utile en maintenance de site, et en particulier lors du déplacement de fichiers). On utilise également cet attribut pour rafraichir la page affichée (lorsqu’on a des bandeaux publicitaires par exemple…). indique aux moteurs la façon d’indexer la page (index ou noindex) et si les moteurs doivent suivre ou pas les liens de la page (follow ou nofollow). Les attributs All ou None permettent une indexation totale ou aucune indexation. Il existe beaucoup d'autres balises META (Copyright, Publisher, Generator, Date, Content-Type, Identifier-URL…). En demandant l'affichage des sources des documents que vous consultez, vous en rencontrerez sûrement. Exemple : En-tête du site du Certa : <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <!-- InstanceBeginEditable name="En-tete des Pages" --> <meta name="description" content="Réseau pour l'accompagnement des enseignements d'informatique de gestion"> <meta name="keywords" content="CERTA, réseau, informatique, gestion, ressources"> <meta name="Title" content="Réseau national CERTA"> <!-- InstanceEndEditable --> C.2. Déclarer le type de document HTML La déclaration de la version supportée avec la balise <DOCTYPE> : Cette dernière doit se situer « normalement » au début de tous vos documents, mais on l’oublie dans les trois quarts des cas : La preuve c’est uniquement dans ce chapitre qu’on la mentionne. Cette déclaration est primordiale et a un caractère obligatoire en XHTML et en XML ! <DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> : il s'agit de la version 4, sans support des éléments des versions précédentes ; <DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 TRANSITIONAL//EN" "http://www.w3.org/TR/html4/loose.dtd"> : il s'agit de la version 4 avec support des anciennes versions de html ; <DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 FRAMESET//EN" "http://www.w3.org/TR/html4/frameset.dtd"> : S'applique aux fichiers gérant le multifenêtrage. N.B. : "EN" signifie que le HTML est en anglais Exemple : En-tête du site du Certa : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><!-- InstanceBegin template="/Templates/mod_accueil.dwt" codeOutsideHTMLIsLocked="false" --> Ch.3 - Le Langage HTML, Partie 3.doc page 8 / 22 om (2001-2006) Exemple : Déclaration d’une page en XHTML : <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> D. Les formulaires Comme nous l’avons vu, issu du SGML, le HTML a permis au départ d’échanger des pages dont le contenu était définitivement figé ; pour échanger de l’information dynamique les internautes étaient obligés d’utiliser d’autres services Internet comme la messagerie (e-mail). Cet état de fait n’était en aucun cas satisfaisant en particulier pour une utilisation professionnelle. L’apparition des formulaires HTML a permis de fournir une interface dynamique aux documents du Web, permettant par exemple d’envoyer les informations contenu dans un formulaire vers une messagerie, ou encore vers des programmes exécutables capables d’y répondre, et même d’interroger des bases de données... Afin de collecter des informations et échanger avec les serveurs il faut utiliser des scripts CGI (Common Gateway Interface). Les scripts CGI représentent un lien entre la saisie de l’utilisateur et les programmes qui fonctionnent sur les serveurs Web. Généralement les CGI sont en relation avec une base de données qui permet le stockage physique des informations ou la consultation de données. D.1. Définition d'un formulaire Avant de pouvoir utiliser les différentes sortes de formulaires (ligne de texte, liste déroulante, cases à cocher...), il faut déclarer au navigateur qu'il devra gérer des formulaires et ce qu'il devra en faire. La structure du formulaire est délimitée par les balises HTML : <FORM paramètres> </FORM> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Formulaires HTML</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </HEAD> <BODY> <!-- déclaration d'un formulaire --> <FORM METHOD=″POST″ ACTION="URL d'expédition" ENCTYPE="text/plain" ID=″f1″ NAME=″f1″> ... les formulaires proprement dit ... </FORM> <!—fin du formulaire --> </BODY> </HTML> Les attributs NAME et ID ne sont pas identiques, même s’ils possèdent la même valeur seul l’ID demeurera en XHTML car il s’agit d’un identifiant unique désignant un élément précis. Ch.3 - Le Langage HTML, Partie 3.doc page 9 / 22 om (2001-2006) Les paramètres : METHOD= GET | POST ACTION="URL" ENCTYPE="text/plain" La différence entre ces deux méthodes repose sur la façon dont les données seront transmises au serveur et exploitées par celui-ci. Avec le temps, la méthode post s'est imposée car elle apparaît plus efficace et permet le traitement d'une quantité plus importante de données. METHOD="GET" les informations transmises sont ajoutées à l’URL (paramètres à traiter par la ressource CGI) récupérable par la variable d’environnement QUERY_STRING dont la taille est limitée à 200 caractères. Ou METHOD="POST" les informations sont transmises indépendamment de l’URL sous forme d’envoi de message, la taille en caractère est reçu par la ressource CGI dans la variable d’environnement CONTENT_LENGTH, et les caractères sont récupérés sur l’entrée standard. Spécifie l'adresse d'expédition des données. Dans le cas d'un traitement des données par une CGI, on spécifie le répertoire CGI du serveur et le nom de la CGI. Spécifie l'encodage utilisé pour le contenu du formulaire. Ce paramètre ne peut être utilisé qu'accompagné par la méthode post. Ainsi ENCTYPE="text/plain" encode le contenu du formulaire en format texte lisible par le destinataire. Il n'est pas inutile de prévoir l'attribut NAME="nom" si la page comporte plusieurs formulaires ou des JavaScripts. Remarque : Dans le cas de l'utilisation en interne des formulaires par du Javascript, les attributs METHOD, action et ENCTYPE sont inutiles car on ne fait pas appel au serveur (le Javascript est lancé au niveau du navigateur lui-même). D.2. Zones de formulaire D.2.1. Les zones de texte Les zones de texte sont aussi appelées champs de saisie : INPUT TYPE=TEXT indique un champ de saisie d'une seule ligne. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Formulaires HTML</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </HEAD> <BODY> <FORM> <INPUT TYPE=TEXT NAME="nom" size="50" /> </FORM> </BODY> </HTML> Ch.3 - Le Langage HTML, Partie 3.doc page 10 / 22 om (2001-2006) Remarque : ce formulaire est inutilisable d’un point de vue concret n’ayant pas de bouton de validation. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Formulaires HTML</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </HEAD> <BODY> <FORM ACTION="http://MonServeur.fr/MonRepretoireExecutable/MonFichier.exe" METHOD=″POST″> Zone de texte standard de texte : <INPUT TYPE=″text″ NAME=″z_saisie1″ /> <BR /> Zone de texte formatée : <INPUT TYPE=″text″ NAME=″z_saisie2″ SIZE=″40″ /> <BR /> Zone de texte limitée : <INPUT TYPE=″text″ NAME=″z_saisie3″ MAXLENGTH=″40″ /> <BR /> Zone de texte formatée et limitée : <INPUT TYPE=″text″ NAME=″z_saisie4″ SIZE=″40″ MAXLENGTH=″40″ /> <BR /> Zone de texte (mot de passe) : <INPUT TYPE=″password″ NAME=″mot_de_passe″ SIZE=″10″ MAXLENGTH=″20″ /> </FORM> </BODY> </HTML> Ch.3 - Le Langage HTML, Partie 3.doc page 11 / 22 om (2001-2006) Attributs : NAME="nom_du_champ" ID="identifiant" SIZE=n MAXLENGTH=n TYPE= TEXT | PASSWORD VALUE="valeur" L'attribut est quasiment obligatoire. Le nom va identifier la chaîne de caractères du champ de saisie. De façon schématique, NOM = (ce qui est introduit dans la ligne de texte). Ce nom de champ (ici nom_du_champ) va être transmis avec sa valeur (variable ou identificateur) à la ressource CGI du serveur pour être traités quand l’utilisateur validera le formulaire. Le nom devrait disparaître au profit d’un identifiant unique de champ. En XHTML cet attribut est obligatoire. L'attribut size (optionnel) définit la longueur du champ de saisie (n). Notons que l'on peut introduire un nombre de caractères plus élevé que celui de la longueur. (optionnel) Limite le nombre réel de caractères que l'on peut introduire dans le champ de saisie. TEXT définit une zone de texte en saisie standard ; PASSWORD définit une zone de texte en saisie cachée (utile pour la saisie de mot de passe). Permet de définir une valeur initiale valeur. Remarque : Il peut être important de respecter un certain formalisme dans l’écriture des noms de champ de saisie (variable ou identificateur), en fonction de l’interprétation que doit en faire la ressource CGI. Pour être pris en compte lors de la validation d’un formulaire, et donc dans le message transmis à la ressource CGI du serveur, il est impératif que la déclaration d’une zone texte (ou de tout autre composant) soit à l’intérieur des balises du formulaire. D.2.2. Les composants d’un formulaire Exemple : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Formulaires HTML</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </HEAD> <BODY> Zone de texte standard de texte : <INPUT TYPE=″text″ NAME=″z_saisie1″ /><BR /> <!-- déclaration d'un formulaire --> <FORM ACTION=″http://MonServeur.fr/MonFichier.exe″ METHOD=″POST″> Zone de texte standard de texte : <INPUT TYPE=″text″ NAME=″z_saisie2″ /><BR /> <INPUT TYPE="submit" VALUE="Valider" /> </FORM> </BODY> </HTML> Ch.3 - Le Langage HTML, Partie 3.doc page 12 / 22 om (2001-2006) Même si le navigateur Web permet la visualisation des deux champs de saisie (z_saisie1, et z_saisie2) ; lors de la validation de ce formulaire seul le champ de saisie de nom z_saisie2 sera transmis vers la ressource CGI MonFichier.exe. D.2.3. Les zones de texte multi lignes HTML gère ses zones de texte simple et multi lignes de façon différente. Les zones de texte multi lignes utilise les balises <TEXTAREA déclaration d’option> … </TEXTAREA>. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Formulaires HTML</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </HEAD> <BODY> <FORM> <!-- zone de texte multiligne --> <TEXTAREA NAME=″zone_texte″ COLS=″40″ ROWS=″4″>Votre texte ici</TEXTAREA> <BR /> <INPUT TYPE="submit" VALUE="Valider" /> <INPUT TYPE="reset" VALUE="Effacer" /><BR /> </FORM> </BODY> </HTML> Attributs : NAME="nom_du_champ" COLS=taille ROWS=taille WRAP= VIRTUAL | PHYSICAL | OFF Toute zone de texte multi ligne (champ de saisie) doit être nommée car ce nom de champ (ici nom_du_champ) va être transmis avec sa valeur à la ressource CGI du serveur pour être traités quand l’utilisateur validera le formulaire. Détermine le nombre de colonnes en caractères. Détermine le nombre de lignes de la zone de texte. Ces options sont indispensables pour certains navigateurs. Virtual : rupture de lignes virtuelle (le texte est transmis en une seule phrase) ; Physical : rupture de lignes physique (le texte est transmis avec les sauts de lignes) ; Off : aucun changement de ligne. Il est possible d’initialiser une zone de saisie multi lignes en plaçant le texte d’initialisation entre les balises <TEXTAREA> … </TEXTAREA>. Ch.3 - Le Langage HTML, Partie 3.doc page 13 / 22 om (2001-2006) D.2.4. Les zones de liste déroulante Les zones de liste déroulante sont aussi appelées Combo Box, elles permettent d’effectuer un choix dans une liste de proposition. La balise <SELECT> … </SELECT> indique au navigateur l'usage d'une liste déroulante. Les éléments de la liste sont introduits par la balise <OPTION> ... </OPTION>. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Formulaires HTML</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </HEAD> <BODY> <FORM> <SELECT NAME="nom" SIZE="1"> <OPTION VALUE="Lundi">lundi</OPTION> <OPTION VALUE="Mardi">mardi</OPTION> <OPTION VALUE="Mercredi">mercredi</OPTION> <OPTION VALUE="Jeudi">jeudi</OPTION> <OPTION VALUE="Vendredi">vendredi</OPTION> </SELECT> </FORM> </BODY> </HTML> Si rien n’est spécifié c’est le premier choix de la liste qui est sélectionné. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Formulaires HTML</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </HEAD> <BODY> <FORM> <SELECT NAME="Liste_deroule2"> <OPTION VALUE="1"> Anglais</OPTION> <OPTION VALUE="2"> Economie Droit</OPTION> <OPTION VALUE="3"> Français</OPTION> <OPTION VALUE="4" SELECTED> Informatique</OPTION> <OPTION VALUE="5"> Mathématiques</OPTION> </SELECT> </FORM> </BODY> </HTML> Ch.3 - Le Langage HTML, Partie 3.doc page 14 / 22 om (2001-2006) La balise <SELECT> … </SELECT> : NAME="nom_du_champ" Toute zone de liste déroulante doit être nommée car ce nom de champ (ici nom_du_champ) va être transmis avec sa valeur à la ressource CGI du serveur pour être traités quand l’utilisateur validera le formulaire. L'attribut size détermine le nombre d'éléments de liste affiché dans la boite d'entrée. En fait, size="1" est optionnel car "1" est la valeur par défaut. SIZE=n L’élément <OPTION> … </OPTION> : VALUE=valeur SELECTED La clause VALUE permet de définir la valeur (valeur) qui sera envoyée vers la ressource CGI lors de la validation du formulaire dans le nom_du_champ. Permet de déterminer le choix présélectionné. D.2.5. Les Listes de choix mono-sélection Les listes de choix en mono-sélection ont la même fonction que les zones de listes déroulantes elles permettent d’effectuer un choix dans une liste de proposition, seule la présentation change. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Formulaires HTML</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </HEAD> <BODY> <FORM> <SELECT NAME="Liste_choix" SIZE=″4″> <OPTION VALUE="Anglais"> Anglais</OPTION> <OPTION VALUE="Economie Droit"> Economie Droit</OPTION> <OPTION VALUE="Français"> Français</OPTION> <OPTION VALUE="Informatique"> Informatique</OPTION> <OPTION VALUE="Mathématiques"> Mathématiques</OPTION> </SELECT> </FORM> </BODY> </HTML> Ch.3 - Le Langage HTML, Partie 3.doc page 15 / 22 om (2001-2006) Avec SIZE=4 Avec SIZE=5 La description est quasi identique à celle de la zone de liste déroulante on ajoute simplement la clause SIZE=taille (en nombre de ligne affichable) dans la balise <SELECT ... >. D.2.6. Les Listes de choix multi-sélection Les listes de choix en sélection multiple permettent d’effectuer un ou plusieurs choix dans une liste de proposition. L’utilisation des touches Majuscule ou Contrôle gère la sélection multiple. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Formulaires HTML</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </HEAD> <BODY> <FORM> <SELECT NAME="Liste_choix" MULTIPLE > <OPTION VALUE="1"> Anglais</OPTION> <OPTION VALUE="2"> Economie Droit</OPTION> <OPTION VALUE="3"> Français</OPTION> <OPTION VALUE="4"> Informatique</OPTION> <OPTION VALUE="5"> Mathématiques</OPTION> </SELECT> </FORM> </BODY> </HTML> Ch.3 - Le Langage HTML, Partie 3.doc page 16 / 22 om (2001-2006) La description est quasi identique à celle de la zone de liste déroulante on ajoute simplement la clause MULTIPLE dans la balise <SELECT ... MULTIPLE>. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Formulaires HTML</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </HEAD> <BODY> <FORM> <SELECT NAME="Liste_choix" MULTIPLE SIZE=″5″> <OPTION VALUE="1"> Anglais</OPTION> <OPTION VALUE="2"> Economie Droit</OPTION> <OPTION VALUE="3"> Français</OPTION> <OPTION VALUE="4"> Informatique</OPTION> <OPTION VALUE="5"> Mathématiques</OPTION> </SELECT> </FORM> </BODY> </HTML> D.2.7. Les Boutons d'option (cases d’option) Les boutons d'option, aussi appelés boutons radio, ont comme particularité qu'une seule option à la fois peut être activée (le "ou" exclusif). La syntaxe de base est : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Formulaires HTML</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </HEAD> <BODY> <FORM> <INPUT TYPE=″radio″ NAME=″feux″ VALUE=″rouge″ /> rouge<BR /> <INPUT TYPE=″radio″ NAME=″feux″ VALUE=″orange″ /> orange<BR /> <INPUT TYPE=″radio″ NAME=″feux″ VALUE=″vert″ /> vert<BR /> </FORM> </BODY> </HTML> Ch.3 - Le Langage HTML, Partie 3.doc page 17 / 22 om (2001-2006) On peut définir la sélection d’une option par défaut : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Formulaires HTML</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </HEAD> <BODY> <FORM> <INPUT TYPE="radio" NAME="statut" VALUE="Administratif" /> Administratif <INPUT TYPE="radio" NAME="statut" VALUE="Agent" /> Agent <INPUT TYPE="radio" NAME="statut" VALUE="Enseignant" /> Enseignant <INPUT TYPE="radio" NAME="statut" VALUE="Etudiant" /> Etudiant <INPUT TYPE="radio" NAME="statut" VALUE="Elève" CHECKED /> Elève </FORM> </BODY> </HTML> Il est indispensable de veiller à ce que le même nom de bouton radio soit associé à toutes les options d’un choix. D.2.8. Les Cases à cocher La philosophie des cases à cocher [checkbox] est assez similaire aux boites d'option. Ici, cependant, plusieurs choix simultanés peuvent être réalisés. La syntaxe de base est : <INPUT TYPE="checkbox" NAME="nom" VALUE="valeur attachée au bouton" /> Le TYPE checkbox définit la case à cocher, la clause NAME indique le nom de la case à cocher qui sera utilisé comme variable lors de la validation du formulaire, la clause VALUE indique la valeur qui sera transmise à la variable de la clause NAME si l’option est choisie par l’utilisateur, et le texte à l’extérieur de la balise sera affiché par le navigateur. Ch.3 - Le Langage HTML, Partie 3.doc page 18 / 22 om (2001-2006) Exemple : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Formulaires HTML</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </HEAD> <BODY> <FORM> <INPUT type="checkbox" name="choix1" value="1" /> Toto <INPUT type="checkbox" name="choix2" value="2" /> Titi <INPUT type="checkbox" name="choix3" value="3" /> Tata <INPUT type="checkbox" name="choix4" value="4" /> Tutu </FORM> </BODY> </HTML> Remarque : Les règles pour l'attribut NAME="nom" sont moins précises que pour les boutons d'option. Vous pouvez employer des noms identiques ou des noms différents pour chaque case à cocher. Cependant des noms différents sont nécessaires pour l'utilisation d'un script. L'attribut CHECKED (optionnel) permet de présélectionner une case à cocher. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Formulaires HTML</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-88591" /> </HEAD> <BODY> <FORM> <INPUT TYPE="checkbox" NAME="couleur1" VALUE="1" CHECKED />bleu<BR /> <INPUT TYPE="checkbox" NAME="couleur2" VALUE="4" />orange<BR /> <INPUT TYPE="checkbox" NAME="couleur3" VALUE="2" />rouge<BR /> <INPUT TYPE="checkbox" NAME="couleur4" VALUE="3" />jaune<BR /> <INPUT TYPE="checkbox" NAME="couleur5" VALUE="5" CHECKED />vert </FORM> </BODY> </HTML> Ch.3 - Le Langage HTML, Partie 3.doc page 19 / 22 om (2001-2006) D.3. Les boutons de commande Le bouton de commande sert à placer un bouton, auquel on assignera plus tard une tâche particulière. Pour qu’un formulaire puisse avoir une réelle action il faut non seulement qu’il soit déclaré dans un document HTML par les balises <FORM paramètres> </FORM>, et qu’il soit associé à une ressource exécutable sur le serveur représenté par le paramètre ACTION, mais aussi d’un bouton d’envoi de la requête pour que l’utilisateur du document HTML puisse soumettre la demande au serveur Web. Syntaxe : <INPUT TYPE="button" NAME="nom" VALUE="texte du bouton" /> D.3.1. Les Boutons "Submit" Le bouton SUBMIT a la tâche spécifique de transmettre toutes les informations contenues dans le formulaire à l'URL désignée dans les attributs ACTION et METHOD de la balise <FORM>. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Formulaires avec les boutons HTML</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </HEAD> <BODY> <FORM> <INPUT TYPE="submit" NAME="nom" VALUE="Envoyer" /> </FORM> </BODY> </HTML> D.3.2. Les Boutons "Reset" Le bouton RESET permet d'annuler les modifications apportées aux contrôles d'un formulaire et de restaurer les valeurs par défaut. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Formulaires avec les boutons HTML</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </HEAD> <BODY> <FORM> <INPUT TYPE="reset" NAME="nom" VALUE="Annuler" /> </FORM> </BODY> </HTML> Ch.3 - Le Langage HTML, Partie 3.doc page 20 / 22 om (2001-2006) Les modifications seront peu nombreuses car le bouton RESET a une fonction HTML très spécifique. Seul le texte du bouton pourra être modifié (par défaut RESET). Le TYPE="image" permet de remplacer le bouton SUBMIT par une image. Exemple : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Formulaires avec les boutons HTML</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </HEAD> <BODY> <FORM> <INPUT TYPE="image" NAME="nom" SRC="images/titileft.gif" /> </FORM> </BODY> </HTML> D.3.3. Les boutons d’exécution de script Les documents HTML permettent d’intégrer des fonctions ou procédures écrites en JavaScript (SUN) ou en VBScript (MicroSoft) qui peuvent être déclenchées par des événements de type clic sur un bouton (par exemple). On utilise pour cela la balise <INPUT TYPE ... />. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Formulaires HTML</TITLE> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </HEAD> <!-- déclaration du script déclenché par le bouton --> <SCRIPT LANGUAGE=VBScript> Sub Bonjour_OnClick() Alert ″Bonjour !!!″ End Sub </SCRIPT> <BODY> <!-- déclaration d'un formulaire --> <FORM> <INPUT TYPE=″button″ VALUE=″Executer un script″ NAME=″Bonjour″ /> </FORM> </BODY> </HTML> Ch.3 - Le Langage HTML, Partie 3.doc page 21 / 22 om (2001-2006) Syntaxe : <INPUT TYPE="button" VALUE="Executer un script" NAME="Bonjour" /> le TYPE button définit le bouton, la clause VALUE le texte du bouton, et NAME indique le nom du bouton qui sera réutilisé par les différentes fonctions et procédures qui gère les événements qui lui sont associés. Le clic de l’utilisateur sur le bouton "Executer un script" entraîne l’appel à la procédure Bonjour_OnClick() qui s’exécute en affichant la nouvelle fenêtre à droite. D.3.4. Les entrées cachées Les formulaires HTML offrent la possibilité de gérer des "variables" (noms de champ) invisibles à l’utilisateur et qui permettront le passage de paramètres vers la ressource CGI en fonction des souhaits du concepteur du formulaire. Si par exemple un même formulaire est présent sur plusieurs sites, il peut être intéressant que la requête indique à la ressource CGI l’origine du formulaire. <INPUT TYPE="hidden" NAME="origine" VALUE="site EX001P" /> TYPE hidden définit une entrée cachée, la clause NAME indique le nom de champ qui sera utilisé comme variable lors de la validation du formulaire, la clause VALUE indique la valeur qui sera transmise à la variable de la clause NAME. Olivier Mondet http://unidentified-one.net Ch.3 - Le Langage HTML, Partie 3.doc page 22 / 22 om (2001-2006)