GUIDEGRATUIT.COM

Apprenez à créer un site en HTML simplement et progressivement...
Accueil
Introduction importante
Le HTML c'est quoi ?
Notre projet
Equipez vous
Votre première page
Gérer le texte
Mise en page
Images
Tableaux
Liens
Couleurs
Formulaires
Hébergeurs de sites
Mise en ligne FTP
Frames
Autres cours
Résumé des balises
Le dico du site
Vos questions (F.A.Q.)
Le Forum
Liens utiles
Contact webmaster
Copyright
FORMULAIRES
Les formulaires permettent de créer un contact simple avec vos visiteurs. Ils peuvent être composés de plusieurs types de champs à remplir (textes, cases à cocher, boutons radio...). Nous allons donc les voir un par un pour que vous puissiez faire un formulaire adapté à vos besoins...
Le cours peut paraître long mais sachez que c'est juste bien aérer :), vous ne lirez peut être pas tout mais essayez de lire le maximum pour bien comprendre le principe de fonctionnement.

Petit détail : il est possible que certains exemples fournies ne fonctionnent pas sur votre navigateur... En effet, à force de mettre des bouts de code de formulaire par ci par là certains navigateurs perdent les pédales et ne réagissent plus correctement... Soyez prévénu et ne m'en voulez pas (chez moi tout marche bien :) ...) !

Déclarer un formulaire :

Les formulaires ont tous un point en commun : ils doivent être "déclarer"... Cette déclaration a une utilité majeure : dire à partir de quand comment le formulaire et quand il finit mais également vers quelle adresse e-mail le résultat du formulaire doit être envoyé.
Pour déclarer un formulaire, on utilise la balise <FORM> (l'abrégé de formulaire) en y ajoutant un certain nombre d'attributs.

Pour vous simplifier la tache je vais vous fournir la configuration habituelle de la balise <FORM>, celle que vous recopierez quasiment à l'identique :

<FORM METHOD="post" ACTION="mailto:votrepseudo@votreprovider.com" ENCTYPE="TEXT/PLAIN">
Ici seront insérés les différents champs à remplir que nous verrons dans le prochain paragraphe... Patience...
</FORM>

Décryptons une fois de plus ensemble un nouveau code HTML barbare mais tellement utile :

- FORM : signifie donc, comme nous l'avons vu précedemment, qu'ici débute le formulaire...

- METHOD="post" : cela indique la "méthode d'envoi"... Retenez juste que la méthode utilisée le plus fréquemment est "post" (sans E surtout !!!) pour l'envoi de données par mail.

- ACTION="mailto:votrepseudo@votreprovider.com" : indique au navigateur quelle action celui-ci doit effectuer. Ici, il doit envoyer un mail (mailto:) contenant les résultats du formulaire à votrepseudo@votreprovider.com (à remplacer par votre e-mail bien évidemment)...

- ENCTYPE="TEXT/PLAIN" : un petit attribut qui a de l'importance : le type d'encodage (ENCTYPE) ! Ici on demande TEXT/PLAIN ce qui veut dire d'envoyer les résultats du formulaire en format texte dans le corps du mail (comme quand vous écrivez un message classique).
Sans cet attribut, le navigateur insérerait les résultats du formulaire dans un fichier attaché à un mail vide (vous pouvez tester si ça vous interesse) ! C'est un peu génant et stupide de recevoir un mail vide avec un fichier attaché (que l'on devra ouvrir avec le bloc notes de Windows pour le lire) alors on gardera en tête TEXT/PLAIN sans parler des autres options pour le moment...

- </FORM> : Très important !!! Après les champs de saisie, quand votre formulaire est fini : fermez le !

Des champs pour les textes :

Maintenant que nous savons comment déclarer notre formulaire, il nous faut insérer des champs à l'intérieur de celui-ci, c'est à dire des espaces vides de texte que l'utilisateur devra remplir ou des cases à cocher, etc... En effet, si on veut recevoir une réponse il faut peut être au moins poser une question n'est ce pas ?

Le champ le plus connu est le champ de texte... Il peut prendre deux formes principales :

Les champs ligne simple
Les champs multi-lignes

Les champs ligne simple :

Nous allons volontairement mettre le maximum d'attributs dans la balise du champ de ligne simple afin que vous soyez au courant de tout :

<INPUT TYPE="text" NAME="son nom" SIZE="25" MAXLENGTH="50" VALUE="Entrez ici votre nom">

Pour mieux comprendre, voyons comment ce code est composé :

- INPUT : on indique au navigateur qu'on insére un champ (INPUT=entrée de données en anglais).

- TYPE="text" : (attribut obligatoire) le type de données demandées sera du texte (sans E surtout, on parle anglais !!!).

- NAME="XXX" : (obligatoire) Complétement invisible aux visiteurs, cet attribut vous sera très utile. En effet, quand vous recevrez par mail la réponse à votre formulaire ce que vous écrirez dans NAME="blablabla" sera inséré avant la réponse de votre visiteur.

Exemple : Si le visiteur inscrit Benjamin dans le champ texte et envoie le formulaire, vous recevrez un mail avec : son nom:Benjamin si vous avez mis comme attribut NAME="son nom"... Vous comprenez l'utilité de ce NAME ? Noubliez pas de l'utiliser afin de savoir à quelle question répondait le visiteur sans avoir à regarder sur votre site (surtout si vous posez une dizaine de questions ou plus !).

- SIZE="25" : (optionnel) SIZE signifie "taille" en anglais. C'est en fait la taille en caractère de votre champ...
Exemple : un champ de texte de SIZE="5" donnera ce résultat : alors qu'un champ de SIZE="25" donnera ceci : !

- MAXLENGTH="50" : (optionnel) cet attribut définie combien de caractère l'utilisateur pourra inscrire dans le champ... Si vous ne le définissez le nombre de caractère sera illimitée ce qui peut être parfois génant... Faites attention en réduisant le nombre de caractères pour le nom ou prénom : n'oubliez pas les longs prénoms composés...
Exemple : essayez d'écrire du texte dans ce champ de MAXLENGTH="3" et maintenant dans celui-ci de MAXLENGTH="20" .

- VALUE="Entrez ici votre nom" : (optionnel) Grâce à cet attribut vous pouvez définir un texte inscrit par défaut dans le champ ! Si vous n'utilisez pas cet attribut le champ sera vide...
Exemple : un champ sans VALUE : et un champ avec VALUE="Entrez votre nom" .

Les champs multi-lignes :

Les champs multi-lignes se présentent ainsi (avec le maximum d'attributs utiles) :

<TEXTAREA NAME="son adresse" ROWS="3" COLS="25" WRAP="PHYSICAL">Entrez ici votre adresse</TEXTAREA>

- TEXTAREA : (obligatoire) on indique au navigateur qu'on insére un champ multi-lignes (TEXTAREA=Champ de texte).

- NAME="son adresse"
: (obligatoire) même utilité que pour les champs de ligne simple ci-dessus.

- ROWS="3" : (optionnel) Indique le nombre de lignes du champs. Si vous ne l'indiquez pas le champ fera 2 lignes.
Exemple : voici un champ de ROWS="3"

et un champ de ROWS="5"

- COLS="25" : (optionnel) Indique le nombre de "colonnes" du champ, en fait le nombre de caractères que l'on peut insérer sur une ligne. Si vous ne l'indiquez pas le champ fera 20 "colonnes".

- WRAP="PHYSICAL" : (très optionnel) Indique quel type de retour à la ligne devra être appliqué au champ de texte... Sans cet attribut le passage à la ligne se fera automatiquement. Mais vous pourrez utiliser cet attribut pour supprimer le passage à la ligne (WRAP="OFF"), passer à la ligne du coté du visiteur mais recevoir la réponse sur une ligne (WRAP="VIRTUAL") ou passer à la ligne automatiquement coté utilisateur et du mail que vous recevrez (WRAP="PHYSICAL") ce que je conseille.

- </TEXTAREA> : (obligatoire) N'oubliez pas de fermer le champ de textes multi-lignes avec ce code ! Si vous écrivez du texte juste avant cette fermeture celui-ci sera affiché dans le champ (comme pour l'option VALUE du champ ligne simple)...

Bouton d'envoi du formulaire.

Vous avez déclaré un formulaire, vous savez comment y ajouter des champs à remplir mais... mais... Vous ne savez pas comment permettre à l'utilisateur de d'envoyer le formulaire rempli !!!
C'est simple, il suffit d'inscrire la balise :

<INPUT TYPE="submit" NAME="Submit" VALUE="A répondu à mon formulaire">

Cette balise contient les ordres suivant :

- INPUT : on indique au navigateur qu'on insére un "champ" (oui un champ de données pour un bouton ça peut paraitre byzarre, il faut le prendre dans le sens où l'utilisateur peut cliquer ou ne pas cliquer... Donc entrer une donnée ou non).

- TYPE="submit" : (obligatoire) Indique que le type de données est en fait un "submit" c'est à dire une soumission d'information...

- NAME="A répondu à mon formulaire" : (obligatoire) nous l'avons vu précedemment, vous recevrez le mot entre guillemets dans votre mail... Ici vous recevrez "A répondu à mon formulaire"... Bon peu d'interêt pour un formulaire mais on peut considérer ça comme le "A voter !" des élections ! C'est comme ça et pas autrement ! Par contre, dans le cas où vous avez plusieurs formulaires quasi-identiques sur votre site cela permettra de les différencier en notant par exemple : NAME="A répondu à mon formulaire d'inscription" ou NAME="A répondu à mon formulaire de renseignement".

- VALUE="Envoyer" : (obligatoire) Ici vous insérez le mot qui s'affichera sur le bouton (que vous recevrez également par mail après le NAME)...
Exemple d'une VALUE="On peut tout mettre sur un bouton" (n'essayez pas de cliquer sur ce bouton, il s'agit juste d'un exemple, il n'envoie rien !)

Bravo, vous avez résisté et maintenant vous savez faire un formulaire... Je suis conscient que c'est beaucoup d'informations et nous allons tout de suite les mettre en pratique...
Vous allez créer une nouvelle page HTML que vous enregistrerez sous le nom "formulaire.html" (je ne vous fais pas l'affront de vous re-expliquer comment) avec un formulaire pour votre CV demandant la société, le nom, prénom et adresse ainsi qu'un petit message de votre futur employeur :))))... Vous pouvez regarder mon code ci-dessous pour vous aider mais ne copiez pas tout, tentez des expériences vous ne risquez rien puisque tout arrivera sur votre mail !

Si vous copiez mon code n'oubliez pas de remplacer ACTION="mailto:votrepseudo@votreprovider.com" par votre mail afin de recevoir les réponses de votre formulaire !

<HTML>
<HEAD>
<TITLE>Mon formulaire</TITLE>
</HEAD>
<BODY>

Merci de me laisser vos coordonnées si mon C.V. vous intéresse.
<br>

<FORM METHOD="post" ACTION="mailto:votrepseudo@votreprovider.com" ENCTYPE="TEXT/PLAIN">

Votre société : <input type="text" name="Nom de la société" size="25">
<br> <br>
Votre prénom : <input type="text" name="Prénom du contact" size="25">
<br> <br>
Votre nom : <input type="text" name="Nom du contact" size="25">
<br> <br> <br>
Votre adresse : <textarea name="Adresse de la société" cols="35" rows="4"></textarea>
<br> <br>
Votre message : <textarea name="Message du contact" cols="35" rows="5" wrap="VIRTUAL">Merci de me laisser la description du poste proposé.</textarea>
<br> <br>
<input type="submit" name="A répondu à mon formulaire" value="Envoyer le formulaire">

</FORM>

</BODY>
</HTML>

Si vous cliquez sur le bouton "envoyer le formulaire" que vous avez fait, n'oubliez pas d'envoyer le mail de réponse au formulaire par la suite (en effet le formulaire utilise votre boîte mail pour s'envoyer au destinataire) puis, moins d'une minute plus tard, rapatriez vos mails afin de recevoir votre mail...

Cliquez ici pour voir le résultat de ma page de formulaire... Bien évidemment n'essayez pas d'envoyer le formulaire car l'adresse mail est mauvaise et vous recevriez un message d'erreur quelques minutes plus tard.

Soignez l'apparence de votre formulaire : Maintenant que vous avez réussi un formulaire, essayez de soigner la présentation afin d'obtenir un résultat plus correct visuellement. Faites, par exemple, un tableau à deux colonnes et insérez vos textes dans la première et vos champs dans la deuxième... Jouez ensuite sur les alignements afin de tout caler correctement... N'oubliez pas de laisser tout ce tableau encadré par les balises <FORM METHOD="post" ACTION="mailto:votrepseudo@votreprovider.com" ENCTYPE="TEXT/PLAIN"> et </FORM> !

Volontairement je ne le ferais pas dans les exercices afin de ne pas alourdir les exemples de code source que je vous fournis et de ne pas embrouiller les plus réticents au HTML ! Mais, pour information, le résultat pourrait être celui-ci (avec une bordure sur le tableau pour que vous puissiez mieux voir l'astuce et faire mieux que moi).

Des listes déroulantes :

Imaginons que nous souhaitons maintenant proposer au visiteur de nous indiquer s'il est un "Monsieur", ou une "Madame", ou pourquoi pas une "Mademoiselle" :) (quoique la parité dans le monde du travail c'est pas encore ça malheureusement mais bon c'est une autre histoire et un jour peut être...). Nous pourrions bien évidemment lui fournir un champ texte classique mais nous préférons lui offrir rapidement le choix et lui éviter de taper du texte.

Nous utiliserons alors une liste déroulante dont le code est simple :

<SELECT NAME="genre" SIZE="1">
<OPTION VALUE="Madame" selected>Madame</OPTION>
<OPTION VALUE="Mademoiselle">Mademoiselle</OPTION>
<OPTION VALUE="Monsieur">Monsieur</OPTION>
</SELECT>

Ici nous définissons plusieurs points :

- <SELECT> et </SELECT>
: (obligatoire et très important) indique au navigateur que l'on propose une liste de sélections et la fin de cette liste.

- NAME="genre" : (obligatoire) comme pour les champs de textes, cela servira d'information pour nous...

- SIZE="1" : (obligatoire) indique la taille visible de la liste en ligne...
Exemple : SIZE="3" aurait donné

- <OPTION>Madame</OPTION> : (obligatoire) sert à définir les différents choix offerts aux visiteurs (ici madame s'affichera)...

- VALUE="Madame" : (obligatoire) c'est la valeur invisible que vous recevrez par mail si le visiteur a choisi l'OPTION correspondante...

- selected : (optionnel) vous ne l'aviez peut être pas vu mais j'ai rajouté un "selected" juste après VALUE="Madame". Ce "selected" permet de définir une option qui sera selectionné par défaut !

Un autre attribut aurait pu être ajouté mais ici il n'est pas utile... Pour infomation, voici cet attribut :

Ici j'ai utilisé l'attribut "multiple" dans le code <select name="fruits" size="4" multiple> et ainsi vous pouvez choisir plusieurs fruits (attention cela ne marche pas sur tous les navigateurs).

Des boutons radios :

Il est parfois intéressant d'utiliser des boutons radios pour offrir un choix unique (un seul bouton peut être choisi) et rapide à votre visiteur.

Le code pour faire des boutons radios est très simple :

<INPUT TYPE="radio" NAME="Bouton choisi" VALUE="Contact téléphonique">

Evidemment vous devrez insérer un texte avant le bouton radio pour expliquer quelle est l'option choisie en cliquant dessus.

Exemple :

Demande de contact téléphonique
Demande d'entretien

Le code important pour définir un bouton radio est TYPE="radio". Les attributs du bouton radio (NAME et VALUE) sont les même que pour les autres champs.

Des cases à cocher :

Pour des choix tout aussi rapide mais multiples (pas de limitation de cases à cocher), il y a les boutons radios dont le code est aussi simple :

<INPUT TYPE="checkbox" NAME="Case coché" VALUE="Création de site">

Vous devrez insérer également un texte avant la case pour expliquer l'option choisie par le visiteur.

Exemple :

Nous souhaitons concevoir un site
Nous souhaitons créer un CD Rom

Pour tester ces nouveaux champs rajoutez à votre formulaire des cases à cocher et des boutons radios ! Attention n'oubliez pas de définir des NAME et des VALUE ! Si vous ne définissez pas correctement ces attributs vous ne saurez pas quelles options a selectionné votre visiteur. Enfin mettez un lien allant de votre page de C.V. vers ce formulaire (pour ceux qui ne savent plus comment rendez vous au cours sur les liens !)
Plus que jamais : faites des tests et envoyez vous des formulaires ! Voici un exemple de ce que vous pourriez obtenir.

Testez ! Testez ! Et surtout vérifiez vos NAME et VALUE. J'insiste lourdement mais il est toujours dommage de recevoir le résultat d'un formulaire incompréhensible dans son mail... De plus, fournissez toujours à votre visiteur votre adresse mail en dessous du formulaire au cas où son navigateur le gérerait mal (Netscape par exemple) ou qu'il souhaite vous envoyer un message plus "personnel" et plus complet !

Insérer un formulaire commence toujours par le placement de :

<FORM METHOD="post" ACTION="mailto:votrepseudo@votreprovider.com" ENCTYPE="TEXT/PLAIN">
Ici vos champs de choix.
</FORM>

Les différents champs (à mettre entre les balises <FORM> et </FORM> sont (par exemple) :

Champ de ligne simple :

<INPUT TYPE="text" NAME="sonnom" SIZE="25" MAXLENGTH="50" VALUE="Entrez ici votre nom">

Champ multi-lignes :

<TEXTAREA NAME="son adresse" ROWS="3" COLS="25" WRAP="PHYSICAL">Entrez ici votre adresse</TEXTAREA>

Une liste déroulante :

<SELECT NAME="genre" SIZE="1">
<OPTION VALUE="Madame" selected>Madame</OPTION>
<OPTION VALUE="Mademoiselle">Mademoiselle</OPTION>
<OPTION VALUE="Monsieur">Monsieur</OPTION>
</SELECT>


Des boutons radio :

<INPUT TYPE="radio" NAME="Bouton choisi" VALUE="Contact téléphonique">

Des cases à cocher :

<INPUT TYPE="checkbox" NAME="Case coché" VALUE="Création de site">

Un bouton d'envoi :

<INPUT TYPE="submit" NAME="Submit" VALUE="A répondu à mon formulaire">