Catalogue des types de champ
Le constructeur de formulaires est livré avec 17 types de champ. Ils se répartissent en trois groupes : les champs d'entrée qui collectent des données du visiteur, les champs de choix qui contraignent l'entrée à une liste, et les champs d'affichage qui ne prennent aucune entrée mais aident à structurer le formulaire.

Quand vous cliquez sur + Champ dans la barre d'outils, vous obtenez un menu les affichant tous. Choisissez celui qui convient.
Champs d'entrée
Ceux-ci acceptent une entrée libre — un nom, un numéro de téléphone, un essai.
Text
Une entrée sur une seule ligne. Idéal pour les noms, titres, réponses courtes (« Quel est votre chant d'adoration préféré ? »). Le type de champ le plus utilisé de loin.
Validation : min_length, max_length. Si vous définissez les deux, le champ rejette les soumissions hors plage.
Textarea
Une entrée multiligne. Idéal pour les demandes de prière, commentaires, réponses plus longues de type récit. Trois lignes de haut par défaut — elle grandit automatiquement pendant que le visiteur saisit.
Validation : identique à Text — min_length, max_length.
Email
Un champ de texte validé contre une regex d'e-mail (nimporte_quoi@nimporte_quoi.tld). Une entrée au mauvais format affiche une erreur à la perte de focus.
Le flux de soumission du formulaire utilise également automatiquement la valeur d'un champ email comme submitter_email sur la ligne de soumission résultante — c'est ce qui apparaît dans la colonne Email du tableau des soumissions. Si vous avez plusieurs champs email, le premier avec une valeur l'emporte.
Phone
Un champ de texte qui accepte un numéro de téléphone. Il n'y a pas de format imposé car la validation téléphonique est compliquée à l'international — mais il affiche un clavier de style téléphone sur mobile.
Number
Une entrée numérique avec min, max et step optionnels. Idéal pour les comptages (« Combien de personnes viennent ? »), âges, notations sur une échelle personnalisée.
La valeur de step contrôle la granularité — step: 1 n'autorise que les nombres entiers, step: 0.5 autorise les demis.
Date
Un sélecteur de date. Par défaut, la date du jour est affichée dans le placeholder. Stocké comme une chaîne de date ISO (YYYY-MM-DD).
Time
Un sélecteur d'heure. Stocké comme HH:MM (24 heures en interne ; la locale du visiteur contrôle comment il est affiché).
URL
Un champ de texte validé contre https?://.... Utile pour « Lien vers votre vidéo de témoignage » ou « Vos réseaux sociaux ».
File upload
Permet au visiteur de joindre un seul fichier. Les téléversements vont au bucket de stockage Supabase form-uploads au chemin {org_id}/submissions/{submission_id}/{field_id}/{filename}.
Configuration :
- Allowed file types — préréglages de cases à cocher pour PDF, Images, Documents, Spreadsheets, plus une zone de texte d'extensions personnalisées (
.dwg, .ai, .zip). Par défaut, PDF + formats d'image courants. - Max file size (MB) — plafonné à 100 Mo. 5 Mo par défaut.
Si le fichier du visiteur échoue à l'une ou l'autre vérification, le formulaire affiche une erreur en ligne avant qu'il ne puisse soumettre.
Rating
Un contrôle de notation par étoiles. Les visiteurs touchent les étoiles ; la valeur stockée est le nombre sélectionné. Le nombre d'étoiles est configurable de 1 à 10 (max_stars), 5 par défaut.
Idéal pour « Comment évalueriez-vous le service d'aujourd'hui ? » ou « Évaluez l'expérience du petit groupe ».
Champs de choix
Ceux-ci contraignent la réponse du visiteur à une liste d'options que vous contrôlez. Vous ajoutez des options dans la section Type Options de la configuration de champ — cliquez sur + Add option pour ajouter des lignes.
Select (unique)
Une liste déroulante. Le visiteur choisit une option. Idéal quand vous avez plus de cinq options et ne voulez pas qu'elles soient toutes visibles.
Multi-select
Une liste déroulante qui permet plusieurs sélections. Les valeurs sélectionnées sont stockées sous forme de tableau.
Radio
Comme Select, mais s'affiche comme une liste verticale de boutons radio. Le visiteur en choisit un. Idéal quand vous avez de deux à cinq options et voulez qu'elles soient toutes visibles.
Checkbox
Celui-ci est à double usage :
- Aucune option configurée — s'affiche comme une case à cocher oui/non unique. Utilisé pour des choses comme « J'accepte d'être contacté ». Quand marqué obligatoire, le visiteur doit la cocher pour soumettre.
- Options configurées — s'affiche comme une liste de cases à cocher ; le visiteur peut en cocher n'importe quel nombre. Stocké comme un tableau de valeurs sélectionnées.
Champs d'affichage
Ceux-ci ne collectent rien. Ils structurent le formulaire.
Heading
Un en-tête de section en texte plus grand à l'intérieur d'une section. Niveau configurable : H2, H3, ou H4. Utile quand vous avez une seule longue section mais voulez une rupture visuelle à l'intérieur (« Informations personnelles » puis quelques champs, puis « Votre demande » puis d'autres champs).
Les en-têtes ne sont pas obligatoires, ne sont pas validés, et n'apparaissent jamais dans les soumissions. Ils sont de la pure mise en page.
Divider
Une règle horizontale. Utile entre des groupes de champs conceptuellement différents quand vous ne voulez pas d'en-tête. Encore moins de données qu'un en-tête — pas de libellé, pas de configuration.
Hidden
Un champ qui ne s'affiche pas au visiteur mais soumet une valeur par défaut avec la soumission. default_value configurable dans la configuration de champ.
Cas d'usage :
- Étiqueter chaque soumission avec la source — par ex. un champ caché
source = "youth-camp-flyer"pour pouvoir dire quelles soumissions venaient de quel flyer - Pré-remplir une valeur via une chaîne de requête URL (avancé — nécessite un bloc personnalisé du constructeur de sites web ; pas encore pris en charge dans l'URL autonome du formulaire)
- Suivre un code de campagne sans demander au visiteur de le saisir
Tableau de décision rapide
| Vous voulez… | Type de champ |
|---|---|
| Une réponse courte | Text |
| Une réponse en paragraphe | Textarea |
| Un e-mail obligatoire pour le contact | |
| Un numéro de téléphone | Phone |
| Un comptage, âge ou quantité | Number |
| Une date de réservation | Date |
| Une heure de début | Time |
| Un lien | URL |
| Une photo signée / décharge / PDF | File upload |
| Un score de satisfaction 1–5 | Rating |
| Choisir un parmi plusieurs | Select ou Radio |
| Choisir plusieurs parmi plusieurs | Multi-select ou Checkbox (avec options) |
| Une case de consentement | Checkbox (sans options) |
| Rupture de section | Heading ou Divider |
| Métadonnées silencieuses | Hidden |
Ce qui n'est pas dans le catalogue
Quelques types de champ qui reviennent parfois mais ne sont pas intégrés :
- Pavé de signature — pas encore pris en charge. Pour les décharges, demandez au visiteur de saisir son nom dans un champ Text étiqueté « Saisissez votre nom pour signer ».
- Logique conditionnelle (« afficher ce champ seulement si le précédent est oui ») — pas encore pris en charge. Si vous avez besoin de ramification, construisez deux formulaires distincts et partagez le bon lien selon la situation.
- Groupes répétitifs (« ajouter un autre participant ») — non pris en charge. Demandez plutôt un comptage dans un champ Number.
Ceux-ci sont suivis sur la feuille de route ; le constructeur de formulaires est encore en maturation.
