Le langage HTML/Formulaires
Un formulaire fournit un espace sur la page HTML où l'utilisateur peut entrer des données ; données qui pourront être envoyées au serveur pour être éventuellement traitées. Un formulaire est composé d'un ou plusieurs éléments d'entrée englobés par la balise codice_1. Par exemple :
<form method="post">
 <p>Entrez votre nom : <input type="text" name="nom"></p>
 <p>Entrez votre prénom : <input type="text" name="prenom"></p>
</form>
Attention : la manière dont les données envoyées au serveur seront traitées ne dépendent pas du code HTML, qui peut juste indiquer le type de communication HTTP souhaité : get ou post. Pour traiter les données du formulaire, il faut élaborer une interface capable de les traiter sur le serveur, la plus commune étant un script PHP. Le rôle de l'HTML est d'indiquer la forme que doit avoir la requête HTTP qui sera envoyée par l'agent utilisateur au serveur et comment l'interface doit se comporter du côté client.
La balise codice_1.
codice_1 permet de regrouper plusieurs entrées sous un seul nom, ce qui permettra de les traiter ensemble. Exemple :
<form name="formulaire_1" method="post" action="traitement.php">
 <p>Entrez votre nom : <input type="text" name="nom"></p>
 <input type="submit" value="Envoyer 1" />
</form>
<form name="formulaire_2" method="post" action="traitement.php">
 </p>Entrez votre prénom : <input type="text" name="prenom"></p>
 <input type="submit" value="Envoyer 2">
</form>
Ici, si vous cliquez sur « Envoyer 2 », les données saisies dans « nom » ne seront pas récupérées car le bouton « Envoyer 2 » ne porte que sur le formulaire dans lequel il se trouve (en l'occurrence « formulaire_2 »).
La balise codice_1 sert également à spécifier via l'attribut codice_5 l'URI du programme destiné à traiter les données validées, le protocole utilisé lors de la transaction HTTP, soit get, soit post via l'attribut codice_6 et enfin via l'attribut codice_7 l'encodage de caractères qui doit être accepté par le serveur pour manipuler ce formulaire.
L'attribut codice_8 permet de spécifier l'encodage pour un envoi de type POST. En particulier la valeur codice_9 permet l'envoi de fichiers au serveur, en utilisant un champ de type fichier (codice_10). Sans l'utilisation de cet encodage, un champ fichier n'envoie que le nom du fichier au serveur, sans son contenu.
La balise codice_11.
codice_11 est la balise la plus utilisée dans les formulaires. Elle permet par exemple de demander à l'utilisateur de la page des informations textuelles (par exemple son nom), un choix entre plusieurs options ou même de sélectionner un fichier à envoyer.
L'attribut codice_13.
Cet attribut sert à retrouver un objet (ici la balise codice_11) afin de l'exploiter en JavaScript . Il est également utilisé lors de l'envoi du formulaire vers un serveur afin d'extraire les données saisies par l'utilisateur.
L'attribut codice_15.
Comme l'attribut codice_13, codice_15 sert à nommer un objet dans une page web. Cependant, contrairement à l'attribut codice_13, tous les codice_15 doivent être uniques dans toute la page. Ils servent également à la balise <label></code> que nous présenterons plus loin.
L'attribut codice_20.
Le rôle de la balise est déterminée par l'attribut codice_20. Voici une liste des possibilités qui s'offrent à vous :
Si l'attribut codice_20 est omis, le type codice_26 est utilisé par défaut.
L'attribut codice_27.
Cet attribut permet de spécifier la valeur par défaut d'un champ.
Exemple :
<form name="formulaire" method="post">
 <p>Un champ texte : <input type="text" name="nom" id="nom"> </p>
 <p>Un mot de passe : <input type="password" name="pass" id="pass"> </p>
 <p><input type="checkbox" name="choix_simple" id="choix_simple"> Une case à cocher </p>
 <p><input type="radio" name="choix_multiple" value="choix1"> Premier choix </p>
 <p><input type="radio" name="choix_multiple" value="choix2"> Deuxième choix </p>
 <p><input type="radio" name="choix_multiple" value="choix3"> Troisième choix </p>
 <p>Un fichier à mettre sur le serveur :<input type="file" name="fichier" id="fichier"> </p>
 <p>Un champ que l'utilisateur ne pourra pas modifier ni même voir : <input type="hidden" name="champ_cache" id="champ_cache" value="coucou"> </p>
 <p><input type="submit" /><input type="reset" /></p>
</form>
L'attribut codice_28.
Les champs à sélectionner ayant cet attribut (qui s'utilise sans valeur) le sont par défaut.
L'attribut codice_29.
Les champs ayant cet attribut (qui s'utilise sans valeur) ne sont jamais envoyé lors de la soummission.
La balise codice_30.
L'habitude courante lors du développement d'un formulaire web consiste à placer le texte associé au champs d'entrée à côté de ces champs sans préciser explicitement qu'ils sont associés.
Ce n'est pas un gros problème pour l'utilisateur moyen car en visualisant la page, il associe directement ces deux informations et remplit aisément le formulaire.
Par contre, pour un utilisateur ayant un handicap, cette association peut ne pas être aussi facile.
Il est donc recommandé d'utiliser un label c'est à dire la balise codice_30 permettant d'associer une légende à un champ d'entrée.
De plus, un clic sur un label donne le focus au champ correspondant.
Ainsi, tous les utilisateurs pourront utiliser votre formulaire sans problème.
L'attribut codice_32.
Cet attribut sert à spécifier l'identifiant du champ d'entrée (attribut codice_15) dont le label est la légende.
<form name="formulaire" method="post">
 <p><label for="nom1">Un champ texte : </label> <input type="text" name="nom" id="nom1"> </p>
 <p><label for="nom2">Un autre champ texte : </label> <input type="text" name="nom" id="nom2"> </p>
 <p><input type="submit"></p>
</form>
La balise codice_34.
Cette balise sert à regrouper plusieurs champs qui ont un rapport entre eux comme par exemple un groupe de cases d'options. Le but de cette balise est le même que celui de codice_30 car elle permet d'indiquer explicitement la fonction d'un groupe de champs.
La balise codice_36.
On doit placer cette balise dans un bloc de codice_37. Elle permet de donner une légende au groupe de champs. 
Exemple :
<form id="" action="" method="post">
 <fieldset>
 <legend>Voici une liste de cases à cocher</legend>
 <p>
 <input type="radio" name="choix_multiple" id="choix_multiple_1" value="choix1">
 <label for="choix_multiple_1">Premier choix </label>
 </p>
 <p>
 <input type="radio" name="choix_multiple" id="choix_multiple_2" value="choix2">
 <label for="choix_multiple_2">Deuxième choix </label> 
 </p>
 <p>
 <input type="radio" name="choix_multiple" id="choix_multiple_3" value="choix3">
 <label for="choix_multiple_3">Troisième choix </label>
 </p>
 </fieldset>
</form>
La balise codice_38.
Génère des zones de texte multilignes.
<textarea rows="nombre de lignes -1" name="commentaires" />
Par exemple, pour créer une zone de saisie de six lignes :
<textarea rows="5" name="suggestions">
 Entrer ici vos suggestions
</textarea>
Pour faire en sorte que le texte affiché s'efface lorsque l'utilisateur remplit la zone :
<textarea rows="5" name="suggestions" placeholder="Entrer ici vos suggestions">
</textarea>
La balise codice_39.
Cette balise affiche un menu déroulant cliquable. Exemple pour choisir une des trois propositions :
 <select name="Selection">
 <option value="1">Choix 1</option>
 <option value="2" selected>Choix 2</option>
 <option value="3">Choix 3</option>
 </select>
Pour passer ce menu en lecture seule, ajoute l'attribut : codice_40 (on ne peut alors plus voir les options non sélectionnées).
multiple.
L'attribut "multiple" d'une balise "select" indique que l'utilisateur peut effectuer un choix multiple :
 <select name="Selection2" multiple="multiple">
 <option value="1">Choix 1</option>
 <option value="2">Choix 2</option>
 <option value="3">Choix 3</option>
 </select>

Programmation Java
Ce livre s'adresse aux personnes qui ont quelques bases en programmation et qui souhaiteraient apprendre le langage Java.