Formulaire de contact Cloudflare Pages

Formgong team ·

Un formulaire de contact Cloudflare Pages peut partir du navigateur. Collez le HTML ci-dessous et pointez action vers Formgong. Une Pages Function et une API e-mail ne sont pas nécessaires. Telegram est immédiat. Sur le plan gratuit, l'e-mail est un résumé le lendemain matin à 08:00.

Cloudflare Pages
<form action="https://formgong.com/submit" method="POST">
  <input type="hidden" name="access_key" value="fk_your_access_key">
  <input type="hidden" name="_lang" value="fr">
  <label>Nom <input type="text" name="name" autocomplete="name" placeholder="Votre nom" required></label>
  <label>E-mail <input type="email" name="email" autocomplete="email" placeholder="vous@exemple.com" required></label>
  <label>Message <textarea name="message" placeholder="Comment pouvons-nous vous aider ?" required></textarea></label>
  <div aria-hidden="true" style="position:absolute;inset-inline-start:0;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)">
  <label>Laissez ce champ vide<input type="text" name="botcheck" tabindex="-1" autocomplete="off"></label>
</div>
  
  <button type="submit">Envoyer</button>
</form>

Comment fonctionnent les formulaires dans Cloudflare Pages

Cloudflare Pages sert des fichiers statiques. Il ne cherche pas de formulaire dans votre HTML. Un POST vers l'adresse de la page n'a nulle part où aller, donc le message est perdu.

Un fichier functions/api/contact.js peut lire ce POST. Envoyer le courrier demande encore une API e-mail, un secret et un DNS sur un domaine à vous. Le formulaire ci-dessous évite ce travail.

Mise en place dans Cloudflare Pages

  1. Créez un formulaire dans Formgong et copiez la clé. Elle commence par fk_.
  2. Collez le HTML dans le dossier que Pages publie, par exemple public/index.html ou contact.html. Mettez action sur https://formgong.com/submit.
  3. Remplacez fk_your_access_key. Laissez botcheck vide. Ajoutez Turnstile seulement après l'avoir activé sous Protection.
  4. Déployez depuis Git, ou lancez wrangler pages deploy. Envoyez un essai depuis l'adresse pages.dev en ligne.
  5. Sur le plan gratuit, l'e-mail est un résumé le lendemain matin à 08:00. Telegram est immédiat. Pro et Business envoient un e-mail à chaque envoi.

Formgong ou une Pages Function ?

Écrivez une Pages Function quand l'envoi doit modifier votre base ou appeler une API privée.

Prenez Formgong pour un formulaire de contact. Vous évitez le secret e-mail, les DNS et une fonction à garder. Le site reste un dossier de fichiers statiques.

Questions et réponses

Cloudflare Pages inclut-il un formulaire de contact ?

Non. Le tutoriel officiel construit une Pages Function qui renvoie les champs en JSON. Elle n'envoie pas d'e-mail et ne garde pas de boîte. Il faut encore un backend de formulaires, ou votre fonction plus une API e-mail.

Faut-il une Pages Function ou un Worker ?

Pas pour ce formulaire. Le navigateur envoie vers Formgong. Une fonction sert quand l'envoi doit lancer votre code. L'ancienne voie gratuite MailChannels pour Workers s'est arrêtée le 30 juin 2024.

Le visiteur peut-il rester sur la page ?

Oui. Appelez fetch sur https://formgong.com/submit avec Accept: application/json. Comptez l'envoi seulement si response.ok et result.success sont tous les deux vrais. Le formulaire HTML marche sans JavaScript.

Comment ajouter Turnstile sur le même compte ?

Créez un widget Turnstile dans le tableau Cloudflare et collez la clé du site dans le formulaire. Mettez le secret dans Formgong, sous Protection, pas dans le projet Pages. Le widget envoie cf-turnstile-response.

Que comprend le plan gratuit ?

Free garde 300 envois par mois. Telegram est immédiat. L'e-mail est un résumé le lendemain matin à 08:00, dans votre fuseau. Pro et Business envoient un e-mail à chaque envoi.

Commencer gratuitement