Formulaires

Constructeur de formulaires, collecte des soumissions, notifications par courriel et trois façons d'afficher un formulaire.

@lrvo/module-forms ajoute un constructeur de formulaires à l'admin, une boîte de réception pour les soumissions, et un point de soumission public. Un formulaire se compose au glisser-déposer, sans code.

Le constructeur de formulaire, sa palette de champs à gauche et le formulaire en cours à droite

La palette range les types de champs par famille, et chaque champ posé porte sa largeur : pleine, demie ou tiers de ligne en écran large. L'URL publique s'affiche sous le titre, le formulaire y est servi dès qu'il est enregistré. Voir Champs pour le catalogue complet.

Pages de cette section

PageContenu
InstallationInstaller le module, créer les tables, vérifier les dépendances.
ConfigurationVariables d'environnement, permissions, entrées d'admin.
ChampsCatalogue des types de champs et validation réellement appliquée.
AdministrationConstructeur, liste des formulaires et boîte de réception.
SoumissionsPipeline de soumission, anti-spam, fichiers, courriels.
AffichageLes trois façons de rendre un formulaire sur le site.
Modèle de donnéesTables lrvo_forms_form et lrvo_forms_submission.
APIRoutes HTTP et fonctions serveur importables.

Ce que le module apporte

ÉlémentDétail
Tableslrvo_forms_form et lrvo_forms_submission.
Entrées d'adminSection « Formulaires », icône CheckListIcon, ordre 75, avec deux items.
Permissionsforms.view et forms.manage.
Routes API11 routes d'admin, 2 routes publiques.
Page publique/lrvo/forms/<slug>, enregistrée dans core/public-pages.
ComposantsFormEmbed et FormRenderer, exportés pour le site.

Dépendances fonctionnelles

Le module n'a aucune dépendance de code au-delà du core, mais deux de ses fonctions reposent sur des services que le projet doit avoir configurés :

FonctionDépend de
Toute soumissionNEXT_PUBLIC_URL, sans laquelle la vérification d'origine du core rejette la requête.
Courriels de notification et de confirmationLa configuration courriel du core, Resend ou SMTP.
Champs de type fichierLe stockage objet du core.

La première est la cause de panne la plus fréquente, et la moins visible : le formulaire s'affiche correctement et échoue à l'envoi. Voir Configuration.

Ce que le module ne fait pas

  • Il n'enregistre pas de bloc BlockEditor. Le bloc form appartient au start template, pas au module. Un projet qui n'a pas été généré par @lrvo/start doit écrire le sien ou utiliser une autre voie d'affichage. Voir Affichage.
  • Il ne propose ni logique conditionnelle entre champs, ni étapes multiples, ni calculs.
  • Il n'exporte pas les soumissions. Elles se consultent une par une dans l'admin.

Notes

  • Le champ version du manifeste du module vaut 1.0.0 et ne suit pas la version du package. Se fier à package.json.
  • Les soumissions ne sont jamais supprimées avec le formulaire par accident : supprimer un formulaire supprime bien ses soumissions par cascade, c'est explicite et irréversible.
  • Le module ne pose aucune contrainte de vérification sur les valeurs de type number, date ou tel. Voir Champs pour ce qui est réellement validé côté serveur.

Sur cette page