Documentation developpeur Form
Documentation developpeur Form
Les Forms sont des modeles de soumission geres centralement et embarques dans les Pages et Components FaceFlow.
Ils permettent aux equipes techniques de definir des workflows reutilisables de demande et d'intake qui peuvent etre rendus de maniere compatible cache, traites au moment de la soumission et geres comme des actifs metier structures.
Responsabilite centrale
Un Form est responsable de :
- definitions de formulaires reutilisables
- schema de champs
- rendu runtime
- validation et traitement des soumissions
- routage des notifications
- capture des entrees
- reutilisation sur plusieurs Pages ou Components
Un Form doit modeliser clairement un workflow metier. Si une definition essaie de gerer plusieurs workflows sans lien, les operations et le reporting deviennent plus faibles.
Modele central de Form
Un Form combine generalement :
- une identite stable de formulaire
- un schema de champs
- une configuration de presentation
- un comportement de succes et de notification
- des regles de traitement des soumissions
- le stockage et la gestion des entrees
En pratique, la couche Form definit a la fois ce que le visiteur peut soumettre et la maniere dont l'entreprise recoit et traite cette soumission.
Conceptuellement :
{
"name": "enterprise-demo-request",
"fields": [
{ "name": "full_name", "type": "text", "required": true },
{ "name": "work_email", "type": "email", "required": true },
{ "name": "company", "type": "text", "required": true },
{ "name": "message", "type": "textarea", "required": false }
],
"settings": {
"submitText": "Request demo",
"successMessage": "Thanks. Our team will contact you shortly."
}
}Types de champs pris en charge
Les types de champs pris en charge incluent :
textemailphoneurltextareanumberselectradiocheckboxcheckboxesdatefilehidden
Les ensembles de champs doivent rester alignes avec le workflow operationnel. Un Form qui collecte des donnees que l'entreprise n'utilise pas cree de la friction pour les visiteurs comme pour les equipes internes.
Exemple de definition de Form
Une revue technique doit pouvoir raisonner vite sur le modele :
{
"name": "contact-sales",
"fields": [
{ "name": "full_name", "type": "text", "required": true },
{ "name": "work_email", "type": "email", "required": true },
{ "name": "company", "type": "text", "required": true },
{ "name": "team_size", "type": "select", "required": false }
],
"settings": {
"submitText": "Contact sales",
"successMessage": "Thank you. We will reply shortly."
}
}Cela permet de discuter du contrat de champs, des donnees obligatoires et de la propriete du workflow avant que le Form soit embarque ou que ce soit.
Embedding runtime
Les Forms sont generalement embarques dans des sections de page via des Components.
Un marqueur d'embed courant est :
<div data-form-embed="contact-form"></div>Exemple de section :
<section class="contact-section">
<div class="section-copy">
<h2>Talk to our team</h2>
<p>Tell us about your goals and timeline.</p>
</div>
<div data-form-embed="enterprise-demo-request"></div>
</section>Cela permet a la structure de page de rester reutilisable tout en gardant le modele de formulaire reel gere centralement.
Embeds fixes vs pilotes par champ
Il existe deux patterns d'embed courants.
Utilisez un id de Form gere fixe quand le template doit toujours rendre un Form specifique :
<div data-form-embed="enterprise-demo-request"></div>Utilisez un embed pilote par champ quand un Component expose un champ formSelect et que les auteurs doivent choisir le Form gere au moment de l'edition :
<div data-form-embed="{contactForm}"></div>Regle de decision :
- embed fixe -> un workflow stable possede par le template
- embed pilote par champ -> Component reutilisable avec workflow selectionnable par l'auteur
Flux de soumission
Au plus haut niveau :
- le Form est defini centralement
- il est embarque dans une Page via un Component
- le visiteur soumet une entree structuree
- la validation et le traitement de soumission s'executent
- la soumission est stockee et routee vers le workflow metier concerne
Conceptuellement :
rendu du component
-> HTML du form au runtime
-> le visiteur soumet
-> validation
-> entree enregistree
-> notification routee
-> reponse de succes retourneePattern d'integration
Le chemin d'integration propre est :
definition du form
-> embed dans un component via formSelect ou marqueur data-form-embed explicite
-> composition de page
-> rendu runtime et traitement de soumissionCela garde le comportement du formulaire centralise tout en permettant aux Pages et Components de rester reutilisables.
Notifications et entrees
Les Forms ne servent pas seulement a la capture front-end. Ils prennent aussi en charge la partie operationnelle des soumissions.
Capacites typiques :
- routage des notifications
- gestion des entrees de soumission
- revue des entrees
- workflows d'export
Les equipes techniques doivent revoir le chemin operationnel complet, pas seulement verifier que le formulaire se rend visuellement sur la page.
Conseils de contrat de champs
Gardez le contrat de champs assez etroit pour que le workflow reste evident.
Patterns typiques :
- contact ou demande de demo ->
text,email,textarea,selectoptionnel - workflow de qualification ->
text,email,select,number - intake avec upload -> ajoutez
fileseulement si l'entreprise traite vraiment les pieces jointes
Preferez un contrat de workflow clair a un formulaire surdimensionne qui essaie de capturer toutes les trajectoires de lead.
Strategie de reutilisation
Une bonne conception de Form privilegie en general la reutilisation.
Si plusieurs Pages partagent le meme workflow metier, elles doivent generalement partager le meme modele de Form.
Cela ameliore :
- la maintenabilite
- la coherence des contrats de champs
- le comportement des notifications
- le reporting et le traitement aval
Exemple :
CTA de demo sur la homepage
CTA de demo sur la page pricing
CTA de demo sur la page enterprise solution
-> meme Form demo-requestSi le workflow est le meme, le Form doit en general etre le meme.
Conseils techniques
- modelez chaque Form autour d'un workflow metier unique
- reutilisez une meme definition de form sur les Pages lorsque le workflow est identique
- gardez les exigences de champs alignees sur les vrais besoins operationnels
- evitez la duplication specifique a une page lorsqu'un modele partage suffit
- revoyez ensemble rendu, soumission, notification et gestion des entrees
- testez le vrai chemin de soumission avant publication
Anti-patterns
Evitez :
- de creer un nouveau Form pour chaque Page alors que le workflow est identique
- de combiner des parcours de leads sans rapport dans un seul Form surdimensionne
- de collecter des donnees optionnelles que l'entreprise n'utilise jamais
- de coder en dur du markup de form dans les templates de page au lieu d'embarquer le modele gere
- de ne revoir que la sortie visuelle en ignorant le chemin operationnel
Exemple de pattern de construction
Component:
lead-form
Embed:
<div data-form-embed="contact-sales"></div>
Pages:
/pricing/
/enterprise/
/contact/Cela garde un workflow coherent sur plusieurs surfaces de conversion.