# Créer un formulaire

Un formulaire se pose sur ton site comme n’importe quel bout de code. Chaque réponse arrive dans **Formulaires**, ton équipe reçoit un avis par e-mail, et la personne reçoit un accusé de réception. Celle qui coche la case de consentement peut aussi entrer dans tes contacts.

1. **Crée le formulaire**

   **Nouveau formulaire** prépare un formulaire de contact : prénom, nom, e-mail, message et une case de consentement. Les deux e-mails sont créés en même temps, aux couleurs de ton identité visuelle.

2. **Choisis les champs**

   Onglet **Champs** : ajoute, retire et range les champs. Sept types existent : texte court, adresse e-mail, téléphone, zone de texte, choix, case à cocher et consentement. Chaque champ a une **variable**, par exemple `{{prenom}}`, que tu peux utiliser dans les e-mails.

3. **Vérifie les deux e-mails**

   Onglet **E-mails** : indique l’expéditeur, sur un de tes domaines vérifiés (voir [Ajouter un domaine](/docs/guides/ajouter-un-domaine/)). **Modifier l’e-mail** ouvre l’éditeur habituel. L’avis à l’équipe propose les champs du formulaire.

4. **Colle le code dans ton site**

   Onglet **Intégrer** : copie le code et colle-le dans ta page. Il fonctionne même sans JavaScript ; avec JavaScript, le message de remerciement s’affiche sous le bouton. Ton site garde ses styles. Après un changement de champs, recopie le code.

5. **Limite le formulaire à ton site**

   Onglet **Réglages**, section **Sites autorisés** : indique ton domaine, par exemple `ton-site.ch`. Les autres sites ne pourront plus envoyer ce formulaire.

> **Astuce**
>
> Remplis le formulaire avec ta propre adresse avant de le publier : la réponse apparaît dans l’onglet **Réponses**, et l’accusé de réception et l’avis arrivent dans ta boîte.

## Consentement et contacts

Une réponse n’ajoute personne à tes contacts tant que la case de consentement n’est pas cochée. La case n’est jamais cochée d’office, et elle n’est pas obligatoire pour envoyer le formulaire. En Suisse, la loi contre la concurrence déloyale demande l’accord préalable de la personne pour un envoi publicitaire par e-mail : la case sert à garder cette preuve.

Avec **Confirmer par e-mail**, activé par défaut, la personne reçoit d’abord un lien pour confirmer son adresse. Tant qu’elle n’a pas cliqué, elle n’entre ni dans tes contacts ni dans ta liste. Cette confirmation est la preuve de son accord, à garder si tu en as besoin.

Une fois le consentement confirmé :

- la personne devient un contact (prénom, nom et champs courts, jamais le message) ;
- elle rejoint la liste choisie dans **Réglages**, section **Contacts et consentement** ;
- elle entre dans les workflows déclenchés par ce formulaire, avec le déclencheur « Quelqu’un remplit un formulaire ». Voir [Créer un workflow](/docs/guides/creer-un-workflow/).

## Robots

Chaque formulaire a un piège invisible que seuls les robots remplissent, et une limite d’envois par minute. Si des robots passent quand même, ajoute Cloudflare Turnstile dans **Réglages**, section **Protection anti-robot**. Tu crées un widget Turnstile chez Cloudflare, puis tu colles ses clés dans Mail.

## Réponses

L’onglet **Réponses** les montre en direct. Clique sur une ligne pour tout voir, consentement compris, ou pour l’effacer si la personne le demande. **Exporter en CSV** donne un fichier qu’Excel ouvre tel quel.

## Si ça ne marche pas

- **L’accusé de réception ne part pas** : le formulaire doit avoir un site autorisé ou Turnstile, l’expéditeur doit être sur un domaine vérifié de ton espace, et l’e-mail doit être activé. Tant que HGDC valide ton espace, seuls ses membres reçoivent des e-mails.
- **Les réponses n’arrivent pas depuis le site** : vérifie que le domaine de ton site figure dans les sites autorisés, avec la même orthographe.
- **Un contact n’apparaît pas après la réponse** : la personne n’a pas encore confirmé son adresse, ou la case de consentement n’est pas cochée.

## Questions fréquentes

### Puis-je utiliser mon propre formulaire ?

Oui. Garde tes champs, donne-leur les mêmes noms que les variables, et envoie-les à l’adresse de l’onglet **Intégrer**. La référence est dans [API formulaires](/docs/reference/api-formulaires/).

### Et si je supprime le formulaire ?

Ses réponses et ses deux e-mails sont effacés. Les contacts déjà ajoutés restent dans **Contacts**.
