Contact Forms

Créateur de formulaires de contact : intégrez des formulaires dans vos pages, conservez chaque envoi et envoyez les e-mails via le fournisseur du site.

Extension

Contact Forms

Créateur de formulaires de contact : intégrez des formulaires dans vos pages, conservez chaque envoi et envoyez les e-mails via le fournisseur du site.

  • Catégorie: forms
  • Statut: Disponible
  • Version: 1.1.2
  • Prix: Inconnu
  • Source: Registre officiel de plugins
  • Installation: Plugin isolé du registre
  • Vérifié: 2026-10-21

Description

Créez un formulaire de contact dans l’administration, placez-le sur n’importe quelle page avec un bloc, et lisez chaque envoi dans la boîte de réception intégrée. L’e-mail de notification passe par le fournisseur que votre site utilise déjà — le plugin ne communique jamais lui-même avec un service d’e-mail.

Démo en ligne : emdashhq.com/contact — un formulaire fonctionnel affiché par ce plugin sur un site EmDash en production.

Ce que vous obtenez

  • Formulaires — créez et modifiez des formulaires, gérez les champs (text, email, tel, url, number, textarea, select, checkbox), réorganisez-les, activez ou désactivez un formulaire sans le supprimer.
  • Boîte de réception des envois — chaque entrée est stockée dans la base de données de votre site avec la page d’où elle provient ; filtrez par formulaire, statut ou résultat de l’e-mail ; marquez comme lu ou archivez ; renvoyez la notification ; copiez en CSV.
  • Journal des e-mails — chaque tentative d’envoi avec son statut, sa durée et le message d’erreur du fournisseur, pour qu’un échec de livraison soit diagnostiquable au lieu de passer inaperçu.
  • Widget du tableau de bord — nombre de messages non lus, formulaires actifs et envois les plus récents.
  • Anti-spam — pot de miel masqué, piège de durée minimale de saisie et limite horaire par IP activés par défaut ; Cloudflare Turnstile en option lorsque les pièges passifs ne suffisent pas.
  • Conservation — suppression facultative des envois et des entrées du journal plus anciens qu’un certain nombre de jours.

L’adresse de votre visiteur n’apparaît jamais dans la définition publique du formulaire, et le destinataire d’un formulaire ne se trouve que dans l’administration.

Installation

Installation et premier formulaire

  1. Dans l’administration d’EmDash, ouvrez Registry, recherchez Contact Forms et cliquez sur Install. Le plugin demande à envoyer des e-mails via le fournisseur de votre site et à contacter challenges.cloudflare.com — cet hôte n’est utilisé que si vous activez Turnstile.
  2. Ouvrez Plugins → Contact forms → Settings et définissez l’e-mail de notification par défaut. C’est là que les envois sont adressés lorsqu’un formulaire ne le remplace pas.
  3. Ouvrez Forms → New form. Donnez-lui un nom, un slug tel que contact, et ajoutez des champs. Chaque formulaire peut remplacer le destinataire, le modèle d’objet, le libellé du bouton et le message de succès.
  4. Placez le formulaire sur une page avec le bloc Contact form et saisissez le slug. Si votre thème ne fournit pas encore le bloc, le dossier site/ du paquet contient les deux fichiers à copier — block-type.json pour le seed et ContactForm.astro pour le rendu ; le README détaille la marche à suivre.
  5. Dans Settings → Email, activez un fournisseur et envoyez un e-mail de test. Sans fournisseur, les envois sont tout de même conservés — ils ne sont simplement pas envoyés par e-mail, et le journal des e-mails indique pourquoi.

Les envois apparaissent dans Plugins → Contact forms → Submissions et dans le widget du tableau de bord dès que le premier visiteur écrit.

FAQ

Où vont les envois ?

Dans la base de données de votre propre site, sous Plugins → Contact forms → Submissions. Rien n’est envoyé à un tiers — les seuls appels sortants sont l’e-mail de notification via votre fournisseur et, si elle est activée, la vérification Turnstile.

Envoie-t-il des e-mails sans fournisseur configuré ?

Non, et ce n’est pas un problème — les envois sont tout de même conservés avec le statut d’e-mail skipped. Dès que vous activez un fournisseur sous Settings → Email, les notifications et les confirmations aux visiteurs commencent à partir, et le journal des e-mails consigne chaque tentative.

Comment bloque-t-il le spam ?

Trois défenses passives sont toujours actives : un champ pot de miel masqué, un piège de durée minimale de saisie et une limite horaire d’envois par IP que vous pouvez régler dans les paramètres. Lorsque cela ne suffit pas, collez les clés de site et secrète de Cloudflare Turnstile dans les paramètres du plugin : chaque formulaire est alors vérifié avant que quoi que ce soit ne soit conservé.

Les visiteurs peuvent-ils recevoir un e-mail de confirmation ?

Oui. Un formulaire peut envoyer une confirmation au visiteur avec son propre modèle d’objet. Les modèles d’objet peuvent utiliser les valeurs des champs envoyés, et les réponses aux e-mails de notification vont au champ e-mail du visiteur.

Puis-je récupérer les envois ?

La page des envois copie la vue filtrée en CSV, et une route export authentifiée fournit le même CSV pour des scripts ou des jetons d’API.

Les envois peuvent-ils être supprimés automatiquement ?

Définissez Keep submissions for (days) dans les paramètres du plugin. Une tâche planifiée supprime les envois et les entrées du journal des e-mails plus anciens que la limite ; 0 conserve tout.

Le formulaire public expose-t-il l’adresse du destinataire ?

Non. La route publique du formulaire ne renvoie que les champs, les libellés et les options — le destinataire et les paramètres de notification ne quittent jamais l’administration.

Journal des modifications

1.1.2

  • Les cases à cocher obligatoires rejettent désormais les valeurs omises ou invalides au lieu de les laisser passer silencieusement.
  • Les envois sont conservés avant tout traitement d’e-mail : si le fournisseur échoue ensuite, la ligne est marquée comme échouée mais le message n’est jamais perdu, et le visiteur reçoit tout de même une réponse enregistrée.
  • Les nouvelles tentatives d’envoi sont idempotentes : une empreinte calculée sur le slug, l’IP et les valeurs supprime les lignes et les e-mails en double.
  • Les envois rejetés repeuplent le formulaire avec des erreurs par champ grâce à un enregistrement de récupération à usage unique.
  • La vérification Turnstile a un délai de dix secondes et une politique de panne configurable (accepter par défaut).
  • La limite de débit par IP est atomique et consomme son budget avant Turnstile.
  • Les clés de champ cf_ sont réservées au protocole d’envoi et refusées par l’administration.
  • L’export CSV et l’aperçu de l’administration neutralisent l’injection de formules de tableur.
  • Le nettoyage horaire supprime désormais aussi les compartiments de débit périmés, les enregistrements de récupération et les réservations d’idempotence.
  • Documentation : le lien de la démo en ligne comporte des paramètres UTM.

1.1.1

  • La fiche du registre gagne une icône, une bannière, des captures d’écran, un guide d’installation, une FAQ et ce journal des modifications. Aucun changement dans le plugin lui-même.

1.1.0

  • Vérification Cloudflare Turnstile facultative sur chaque formulaire : définissez la clé de site et la clé secrète dans les paramètres du plugin et les envois sont vérifiés avant d’être conservés.
  • Nouvelle permission network:request limitée à challenges.cloudflare.com pour cette vérification.
  • Paramètre de journalisation de débogage détaillée, utile lors de la connexion d’un nouveau fournisseur d’e-mail.

1.0.0

  • Première version. Créateur de formulaires dans l’administration avec huit types de champs, boîte de réception des envois, journal de livraison des e-mails et widget de tableau de bord.
  • E-mail de notification et de confirmation au visiteur via le fournisseur actif du site grâce à ctx.email.send().
  • Pot de miel, durée minimale de saisie et limite horaire par IP activés par défaut ; nettoyage de conservation facultatif des anciens envois.
  • Routes publiques form et submit, ainsi que le bloc de page Contact form fourni dans site/.