# Champs

Choisissez vos questions dans le **Constructeur**, et le reste du formulaire suit. Un nouveau formulaire comprend déjà les champs
**Name**, **Email**, **Message** et **Company**, qu’il suffit de renommer : un formulaire de contact est donc presque prêt.

## Créer un formulaire

Ouvrez **Formulaires** et créez-en un. Choisissez un espace de travail et un nom. Formerie transforme le nom en identifiant pour
votre lien public, comme `contact`. Les vérifications antipourriel sont activées dès le départ, et rien n’est public tant que vous n’avez pas publié.

## Ajouter vos champs

Ouvrez l’onglet **Constructeur** pour ajouter, réorganiser et modifier des champs. Chaque changement reste dans votre brouillon jusqu’à la
publication : votre formulaire en ligne ne bouge donc pas pendant que vous travaillez. **Enregistrer le brouillon** garde votre travail.

| Groupe | Champs |
| --- | --- |
| Texte | Texte court et long, mot de passe, URL, courriel et téléphone |
| Choix | Case à cocher, consentement, groupe de cases, boutons radio, liste déroulante et choix multiple |
| Lieu | Adresse, rue, ville, région, province, code postal, pays et coordonnées |
| Nombres | Nombre, entier, décimal, montant, plage de nombres, note et curseur |
| Date et heure | Date, heure, date et heure, plage de dates et durée |
| Avancé | Champ masqué, séparateur et bloc de contenu |

Il n’y a pas de champ de téléversement de fichier ni de signature.

## Aller plus loin avec les autres onglets

| Onglet | Ce que vous y faites |
| --- | --- |
| **Parcours** | Divisez le formulaire en [étapes](/fr/guides/multi-step-forms/), avec un résumé pour chacune |
| **Conditions** | [Affichez une question](/fr/guides/conditions/) seulement quand une réponse précédente le demande |
| **Validations** | [Ajoutez des vérifications](/fr/guides/validation/) et vos propres messages d’erreur |
| **Traitement** | [Nettoyez les réponses](/fr/guides/cleaning-answers/), par exemple en retirant les espaces superflues |
| **Aperçu** | Essayez le formulaire et remplissez des réponses d’exemple pour votre test |
| **Paramètres** | Nom, identifiant, description, langue du formulaire, libellé d’envoi, message de réussite, logo, couleurs, police, densité, coins, largeur, thème clair ou sombre, [antipourriel et limites](/fr/guides/spam-protection/), archivage, corbeille et restauration |

## Aller plus loin

### Un formulaire en JSON

Le constructeur écrit une définition de formulaire pour vous, et le serveur l’applique à chaque soumission. En voici une partie. Pour
chaque type de champ et chaque option, consultez la [référence de la définition de formulaire](/fr/guides/form-reference/).

```json
{
  "allowedOrigins": ["https://example.com"],
  "verification": {
    "provider": "turnstile",
    "mode": "managed",
    "required": true
  },
  "fields": {
    "contact": {
      "type": "object",
      "fields": {
        "name": {
          "type": "string",
          "required": true,
          "max": 120,
          "trim": true
        },
        "email": {
          "type": "email",
          "required": true,
          "max": 254,
          "trim": true,
          "normalizeEmail": true
        }
      }
    },
    "message": {
      "type": "textarea",
      "required": true,
      "max": 5000,
      "trim": true
    }
  }
}
```

Votre propre code peut lire la partie sûre d’une définition dans [le schéma public](/fr/guides/api-reference/#schéma-public).
