Fait avec Chinaski

Ajouter un formulaire de contact

Un formulaire de contact sur Chinaski commence par un élément de formulaire et un block. Ce guide couvre la création du formulaire, son placement sur une page, et ce qui se passe après la soumission d'un visiteur.

1. Créer le formulaire

Dans Forms dans la barre latérale d'admin, créez un nouveau formulaire : un nom lisible par un humain plus un slug que l'intégration et les références API utilisent. Ajoutez des champs au formulaire : n'importe quel mélange de :

  • text, email, tel, textarea
  • select, radio, checkboxes, checkbox
  • address (un champ composite avec sous-champs street, city, state, postal/country)
  • file upload

Chaque champ a un label (affiché aux visiteurs), une largeur d'affichage modifiable (full ou half de la rangée), et un affichage conditionnel facultatif : visible seulement quand la valeur d'un autre champ correspond. Les noms de champs sont automatiquement assainis en lettres minuscules/chiffres/underscores. Champs requis, placeholders, et les options d'un menu déroulant séparées par des sauts de ligne sont des réglages par champ.

2. Le placer sur une page

Déposez un form block dans le corps de n'importe quelle page ou post et pointez-le vers le slug de votre formulaire. Le block restitue le vrai formulaire ; les posts envoient les données au point de soumission /forms/<slug> du CMS, automatiquement proxifié dans la configuration serveur d'origine (la seule voie dynamique, comme décrit dans la discussion sur l'architecture de site statique).

3. Configurer les notifications

  • notify_email: adresses e-mail séparées par des virgules qui reçoivent chaque soumission. L'e-mail de notification d'admin liste la valeur de chaque champ, avec l'adresse IP incluse sauf si l'option de confidentialité la désactive.
  • reply_to_field: nommez le champ e-mail dont la valeur devient le *Reply-To* de la notification, pour que les répondants répondent directement au visiteur.
  • thank_you_url: redirection externe sûre facultative après soumission ; dans la limite de, et en respectant, le contenu de formulaire fourni quand elle n'est pas définie. Le texte de réponse par défaut est "Thank you. Your submission has been received."

Basculez aussi le submit button label, le verrou anti-spam Turnstile par formulaire, les pays bloqués séparés par des virgules, et/ou l'interrupteur de confidentialité store_ip (qui ne stocke aucune adresse IP s'il est désactivé).

4. Anti-spam et limites

  • Limitation par IP: au maximum cinq soumissions par formulaire par IP et par heure ; 30 par IP tous formulaires confondus. La violation produit "Too many submissions, please try again later" après un court délai, avec un 429 du serveur.
  • Vérification Cloudflare Turnstile quand une clé Turnstile de site est présente et que le formulaire y est opté (la valeur par défaut) ; actif par défaut, donc ignorez turnstile_enabled=0 pour des tests suivis sans captcha.
  • Blocage par pays: avec les codes que vous saisissez, une soumission depuis une région bloquée renvoie "Submissions from your region are not accepted".
  • Signaux de confidentialité: les visiteurs envoyant des en-têtes DNT ou "Do Not Sell" ne génèrent aucun stockage d'IP ni attribution de clic publicitaire, conformément aux réglages DNT et GPC automatiquement respectés.

5. Ce qui arrive après une soumission

  • les valeurs stockées pour chaque champ (y compris les vides, typées par type)
  • un webhook, si la configuration webhook propre au formulaire est en place, avec l'id du formulaire, le slug du formulaire, l'id de soumission, les données soumises et l'horodatage
  • l'e-mail de notification vers vos destinataires configurés, plus un e-mail de confirmation facultatif au soumetteur (livré de façon asynchrone ; exige SMTP configuré dans les réglages, et jamais envoyé en mode air-gap)
  • éventuellement une redirection du navigateur vers le thank_you_url du formulaire

Chaque soumission est enregistrée une seule fois ; une resoumission avec la même identité reçoit la réponse de remerciement et ne double-enregistre pas les données.

6. Où vivent les soumissions

Consultez ou exportez les soumissions par formulaire depuis Forms →

→ Submissions, une par une ou via des exports CSV/JSON.

7. Mettre en ligne en toute sécurité

Rappelez-vous que les form blocks injectent le formulaire sur le site statique, donc les serveurs répondent directement aux soumissions POST destinées au CMS. Les formulaires inactifs renvoient un 404 et font échouer la soumission.

Quand un changement de formulaire accompagne des changements de contenu, surveillez le deploy ; désactiver un formulaire rejette les posts qui lui sont destinés, et un formulaire laissé « actif » dans une page non publiée n'apparaît sur cette page qu'après une reconstruction.

Lisez ce site en