Un formulaire de contact est le champ à remplir sur un site web qui permet aux visiteurs de vous envoyer un message sans ouvrir leur logiciel de messagerie — en coulisses, un petit script traite les données saisies et les transmet par e-mail.
Que se passe-t-il lorsque quelqu'un clique sur envoyer ?
Vu de l'extérieur, cela paraît simple, mais plusieurs étapes s'enchaînent :
- 1Le visiteur remplit les champsPar exemple le nom, l'adresse e-mail et le message.
- 2Le navigateur envoie les donnéesÀ l'envoi, elles sont transmises à un script sur le serveur web.
- 3Le script vérifie la saisieTout est-il correct et complet ?
- 4Le script en fait un e-mailEt l'envoie dans votre boîte de réception. Parfois, le message est aussi enregistré.
- 5Le visiteur reçoit une confirmationIl voit que son message est bien arrivé.
L'e-mail que vous recevez provient de votre propre serveur, avec l'adresse du visiteur comme adresse de réponse. Vous pouvez ainsi répondre en un clic.
Pourquoi la validation est importante
La validation consiste à vérifier les données saisies. Elle a lieu à deux endroits :
Pratique, mais pas fiable
- Le visiteur reçoit immédiatement un message en cas de champ obligatoire vide ou d'adresse e-mail sans @.
- Ce contrôle peut être contourné.
Le vrai contrôle
- Le script sur le serveur revérifie toujours tout.
- Seul ce qui y est approuvé vous parvient.
Bloquer le spam
Un formulaire public attire inévitablement du spam automatisé. Deux techniques sont très utilisées :
Honeypot
Un champ caché que les humains ne voient pas, et laissent donc vide. Si un bot le remplit malgré tout, l'envoi est ignoré. Votre visiteur ne s'aperçoit de rien.
reCAPTCHA
Un service qui évalue si l'expéditeur est un humain. Les versions modernes fonctionnent généralement en arrière-plan, sans petits casse-tête.
Il est également utile de limiter le nombre d'envois par période et de bloquer les contenus suspects.
Également sur un site web sans CMS
Une idée reçue fréquente : il vous faudrait un CMS pour avoir un formulaire qui fonctionne. C'est faux ; un formulaire fonctionne parfaitement sur un site web HTML statique.
Seul ce petit script sur le serveur fait le travail, tandis que le reste du site reste statique. Vous conservez donc la vitesse et la sécurité d'un site statique, avec des fonctionnalités complètes.
Bon à savoirComme ce script est le seul élément dynamique, il mérite une attention particulière en matière de sécurité. Voir aussi un site web impossible à pirater.
C'est en outre souvent le seul morceau de PHP sur un tel site. En cas de faille PHP, seul le formulaire est alors brièvement désactivé, et le reste demeure en ligne. Plus d'informations sur la page site web sans PHP.
La confidentialité et le RGPD
Avec un formulaire, vous traitez des données personnelles : des règles s'appliquent donc. Restez pratique :
- Ne demandez que ce dont vous avez vraiment besoinAssez pour pouvoir répondre, et pas plus.
- Veillez à ce que le site fonctionne en httpsL'envoi est alors chiffré ; voir Certificat SSL et https.
- Indiquez à quoi servent les donnéesBrièvement, avec un renvoi vers votre déclaration de confidentialité.
- Ne conservez pas les envois plus longtemps que nécessaireEt sécurisez l'endroit où ils sont stockés.
Un formulaire qui fonctionne, tout simplement
Court et clair
Un bon formulaire est court, clair et affiche des messages d'erreur soignés.
Testez-le régulièrement
Les messages arrivent-ils vraiment ? Sinon, vous ne remarquerez une panne silencieuse que lorsque des clients se plaindront de ne pas avoir de réponse.
Vous pouvez voir un exemple de la manière dont nous mettons cela en pratique sur notre propre page de contact.