Aller au contenu
FFormhook
Retour au blog

Blog

Alternative à Netlify Forms : un backend de formulaires qui fonctionne partout

· 4 min de lecture

Netlify Forms est une fonctionnalité vraiment pratique - à condition de rester sur Netlify. Elle est intégrée au pipeline de build de la plateforme, si bien qu'un formulaire « fonctionne tout simplement » sans aucun service externe. Le piège est dans cette première partie de phrase : ça ne fonctionne que parce que l'étape de build de Netlify fait le travail, ce qui signifie que le formulaire est discrètement couplé à l'hébergeur. Déplacez le site, et le formulaire cesse de fonctionner avec lui.

Ce que Netlify Forms exige réellement

Netlify Forms n'est pas une fonctionnalité HTML générique - elle est détectée au moment du build. Vous ajoutez data-netlify="true" à une balise <form>, l'étape de build de Netlify scanne le HTML déployé à la recherche de cet attribut, enregistre les champs du formulaire, et c'est seulement alors que l'endpoint existe pour recevoir les soumissions. Trois conséquences en découlent :

  • Le site doit être hébergé et construit sur Netlify - la détection se fait dans leur pipeline de build, pas dans le navigateur.
  • Les frameworks qui génèrent les formulaires dynamiquement côté client (plutôt que d'émettre un balisage statique avec l'attribut déjà présent dans le HTML) nécessitent souvent des contournements supplémentaires, car il n'y a rien à trouver pour le scanner au moment du build.
  • L'existence du formulaire est liée à la réussite d'un build Netlify, pas au balisage lui-même.

Le verrouillage que cela crée

Rien de tout cela n'est vraiment un défaut - c'est une conception raisonnable pour une plateforme qui veut une fonctionnalité intégrée. Mais cela signifie que votre formulaire de contact n'est pas vraiment un élément de votre site ; c'est un élément de votre contrat d'hébergement. Passez à Vercel, Cloudflare Pages, un VPS classique, ou ailleurs, et le formulaire doit être reconstruit selon un mécanisme différent. Évaluez un second hébergeur pour son coût, ses performances ou ses fonctionnalités edge, et le formulaire devient une ligne à résoudre de nouveau avant de pouvoir migrer. C'est une emprise étrange qu'un formulaire de contact peut avoir sur une décision d'infrastructure.

L'alternative indépendante de l'hébergeur

Un backend de formulaires hébergé supprime ce couplage en ne se souciant pas de l'endroit où le HTML est servi. Il n'y a ni scan au moment du build ni intégration à une plateforme dont dépendre - juste un formulaire ordinaire dont l'action pointe vers un endpoint :

<form action="https://formhook.app/f/fh_your-key" method="POST">
  <label>Email <input type="email" name="email" required></label>
  <label>Message <textarea name="message" required></textarea></label>
  <button type="submit">Send</button>
</form>

Ce balisage fonctionne à l'identique sur Netlify, Vercel, Cloudflare Pages, GitHub Pages, ou un VPS fait maison - le navigateur envoie le POST directement à l'endpoint, donc rien concernant l'hébergeur, l'outil de build ou le framework n'a d'importance. Les soumissions arrivent dans un tableau de bord, déclenchent une notification push, et sont transférées vers un webhook (Formhook détecte automatiquement les URL Discord, Slack et Microsoft Teams et formate la charge utile pour chacun ; tout le reste reçoit un POST JSON générique signé HMAC). Changez d'hébergeur l'an prochain et le formulaire ne s'en aperçoit pas - l'URL action est la seule chose qui le rattache à quoi que ce soit, et elle n'est rattachée à aucun hébergeur.

Le spam, géré de la même façon quel que soit l'hébergeur

Comme l'endpoint ne dépend de l'hébergeur pour rien, il doit gérer le spam lui-même plutôt que d'emprunter le filtrage d'une plateforme : un champ honeypot piège les bots qui remplissent tous les champs, la limitation de débit freine les expéditeurs abusifs, et un défi Cloudflare Turnstile optionnel (respectueux de la vie privée, pas Google reCAPTCHA) peut être ajouté par formulaire pour les sites qui en ont besoin. Rien de tout cela ne dépend de la plateforme qui sert la page.

Changer ne tient qu'à un attribut

Si vous êtes déjà sur Netlify et que vous y êtes bien, Netlify Forms convient très bien - c'est une commodité légitime pour les sites qui ne prévoient jamais de partir. Mais si vous migrez d'hébergeur, comparez des plateformes, ou ne voulez simplement pas qu'un formulaire de contact soit la raison pour laquelle vous ne pouvez pas, un backend indépendant de l'hébergeur supprime entièrement cette contrainte. Le niveau Gratuit de Formhook gère 250 soumissions par mois sans carte requise, les formulaires prennent une minute à connecter, et tout votre historique de soumissions - fichiers téléversés inclus - s'exporte en ZIP quand vous le souhaitez. Consultez la documentation pour la configuration complète, ou commencez gratuitement et pointez votre formulaire existant dessus dès aujourd'hui.

Mettez en ligne un formulaire fonctionnel en une ligne

Hébergé dans l'UE, soumissions conservées indéfiniment, notifications push sur tous les niveaux.

Commencer gratuitement

Sans carte bancaire · consultez la documentation

Continuer la lecture