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 gratuitementSans carte bancaire · consultez la documentation
Continuer la lecture
- Migrer de Formspree vers Formhook : le guide en dix minutesChanger de backend tient en une ligne. Migration complète de Formspree vers Formhook : export, changement d'URL, anti-spam et tests - en dix minutes.
- Qu'est-ce qu'un backend de formulaires ?Un backend de formulaires reçoit, stocke et transmet vos soumissions sans que vous ayez à gérer de serveur. Comment ça marche, et quand en avoir besoin.
- Comment ajouter un formulaire de contact à Cloudflare PagesCloudflare Pages n'a pas de service de gestion de formulaires intégré comme Netlify. Voici pourquoi, et la façon la plus rapide d'avoir quand même un formulaire de contact fonctionnel.