⌘I

Suppression progressive des formulaires legacy (URLs avec adresse e-mail)

Updated April 11, 2024

Formspree abandonne progressivement la prise en charge des formulaires basés sur une adresse e-mail, que nous appelons « formulaires legacy ».

Qu’est-ce qu’un formulaire legacy ?

Les formulaires legacy sont identifiables par une URL dans l’attribut action de votre formulaire HTML qui ressemble à ceci :

https://formspree.io/your@email.com

Ils contiennent une adresse e-mail directement dans l’URL.

Migrer depuis les formulaires legacy

Au lieu d’inclure une adresse e-mail directement dans votre formulaire HTML, nous encourageons les utilisateurs à créer un compte sur https://formspree.io/register. Une fois inscrit, vous pouvez créer des formulaires dans le tableau de bord Formspree en cliquant sur le bouton + New Form, ou en créant un projet CLI. Les formulaires créés de cette façon auront une URL contenant un identifiant unique plutôt qu’une adresse e-mail.

Si vous avez actuellement un formulaire legacy, nous vous suggérons de créer d’abord un nouveau formulaire dans le tableau de bord Formspree ou avec le Formspree CLI. Vous pourrez ensuite remplacer l’URL de l’attribut action dans le HTML de votre formulaire par la nouvelle URL, ou, si vous utilisez AJAX, mettre à jour l’endpoint vers lequel le formulaire est soumis.

Pourquoi nous faisons ce choix

Nous estimons que, pour des raisons de sécurité et de confidentialité, les formulaires legacy ne constituent plus une bonne pratique pour la création de formulaires. De plus, certains navigateurs modifient les informations qu’ils envoient, rendant difficile l’association des soumissions à un formulaire legacy activé.

Comment fonctionnent les formulaires legacy

Lorsque vous indiquez une URL avec adresse e-mail dans l’attribut action de votre formulaire et que vous le soumettez, Formspree crée un nouveau formulaire legacy en utilisant l’adresse e-mail et l’URL de la page depuis laquelle le formulaire a été soumis. Ces deux informations sont nécessaires. Nous ne pouvons pas identifier le formulaire uniquement par l’adresse e-mail, car vous pourriez avoir des formulaires sur différentes pages ou différents sites web utilisant la même adresse e-mail.

Lors de la première soumission, vous recevez un e-mail vous demandant d’activer le formulaire sur cette page. Ensuite, une fois activé, les soumissions suivantes sont envoyées à l’adresse e-mail figurant dans l’URL.

Les problèmes liés aux formulaires legacy

Bien que ce fonctionnement soit pratique, il engendre plusieurs problèmes :

  1. Les formulaires legacy exposent votre adresse e-mail. Elle peut être détectée par des robots qui parcourent les sites web à la recherche d’adresses e-mail.
  2. Les formulaires legacy utilisent une combinaison de l’adresse e-mail et de la page de provenance (referrer) pour l’identification. Autrement dit, puisque nous ne connaissons que l’adresse e-mail à partir de l’URL d’action, nous devons également détecter la page depuis laquelle le formulaire a été soumis pour l’identifier. Pour ce faire, nous nous appuyons sur l’en-tête referrer. En raison des récentes évolutions des navigateurs, cet en-tête n’est plus un outil fiable pour identifier un formulaire.
  3. Parce que les formulaires legacy sont identifiés par le referrer, un formulaire doit être confirmé à chaque fois qu’il est ajouté à une nouvelle page. Cela crée en réalité un nouveau formulaire dans Formspree pour chaque page différente où un formulaire est hébergé. Devoir réactiver un formulaire, ou voir plusieurs formulaires dans le tableau de bord liés à un seul formulaire HTML, peut prêter à confusion.

Le problème le plus important est lié au point 2 ci-dessus. L’en-tête referrer n’est plus un outil fiable pour identifier un formulaire. Les éditeurs de navigateurs sont de plus en plus préoccupés par la vie privée (à juste titre !) et ont restreint par défaut les informations envoyées dans l’en-tête referrer. Auparavant, cet en-tête contenait l’URL complète avec le chemin. Désormais, les informations de chemin sont supprimées par défaut. Les propriétaires de sites peuvent toujours remplacer ce comportement en définissant la politique referrer, mais la plupart ne le font pas, et tous les navigateurs ne respectent pas ces paramètres. Pour plus d’informations sur les récentes évolutions de Chrome, consultez le blog Google Developers.