FormForge : Créateur de formulaire complet

FormForge : Générateur de formulaires
FormForge : Générateur de formulaires

Générateur de formulaire complet

Plugin 0.22.0 380.94 Ko 4


FormForge est un plugin WordPress qui transforme votre site en véritable plateforme de gestion de formulaires : du simple contact à la facturation Stripe avec génération automatique de devis PDF, en passant par la synchronisation CRM, les quiz, les réservations, et bien plus — le tout dans une seule extension, sans add-ons payants.

📋 Vue d’ensemble

FormForge a été conçu avec une obsession : rassembler dans un seul plugin tout ce qu’on devrait pouvoir faire avec un formulaire sur WordPress, sans avoir à acheter sept extensions différentes ni jongler avec des intégrations Zapier payantes.

Résultat : un plugin de 18 000 lignes de code, 20 types de champs, 36 hooks développeur documentés, et 20 articles d’aide intégrés en français. Conçu pour les utilisateurs non-techniques (le builder drag-and-drop reste évident), mais suffisamment puissant pour les agences web qui ont besoin de calculs en temps réel, paiements Stripe complets, génération PDF native et synchronisation CRM.

🎯 Le différenciateur clé

Là où Gravity Forms facture des add-ons séparés pour les calculs (50 €/an), les PDFs (50 €/an), le repeater field, les quiz, etc., FormForge regroupe tout dans le free tier. Aucune feature cachée derrière un paywall. Tout est gratuit !

🧱 Les 20 types de champs disponibles

Tous les champs se glissent depuis la palette vers le canvas du builder, se réorganisent par drag-and-drop, et exposent leurs options dans un inspecteur dédié.

Champs texte (5)

  • Texte court — mots ou phrases courtes (nom, société, sujet)
  • Email — avec validation automatique du format ; le premier champ Email est utilisé pour les confirmations utilisateur
  • Texte long (textarea) — messages, descriptions, commentaires
  • Téléphone — input dédié avec clavier numérique sur mobile
  • URL — validation automatique http(s)://

Champs à choix (3)

  • Liste déroulante (select) — une seule réponse parmi N options, économe en espace
  • Boutons radio — une seule réponse, toutes visibles ; idéal pour 2 à 5 options
  • Cases à cocher (checkbox) — plusieurs réponses possibles ; stockées sous forme de tableau

Champs numériques (3)

  • Nombre — quantités, montants ; min/max/pas configurables ; utilisable dans les calculs
  • Curseur (range) — slider visuel ; idéal pour estimer une note, un budget
  • Note par étoiles — évaluation 1 à 5 étoiles

Champs date et heure (3)

  • Date — calendrier natif HTML5
  • Heure — sélecteur HH:MM
  • Date & heure — combiné en un seul champ

Champs avancés (3)

  • Fichier (upload) — whitelist d’extensions + taille max ; stockage sécurisé dans /uploads/formforge/ avec .htaccess bloquant l’exécution PHP
  • Lignes répétables (repeater) — tableau dynamique Description / Quantité / Prix unitaire avec total recalculé en live ; idéal pour les devis multi-lignes
  • Signature manuscrite — canvas HTML5 capturant souris + tactile + stylet ; convertie en PNG côté serveur, affichée inline dans la fiche admin

Champs de structure (3)

  • Champ caché — valeur invisible utile pour passer un contexte (campagne, source UTM)
  • Bloc HTML libre — texte / image / instructions au milieu du formulaire (pas de soumission)
  • Saut de page — découpe le formulaire en plusieurs étapes avec barre de progression

Plus un bouton Submit personnalisable (libellé, alignement) — soit placé manuellement, soit injecté automatiquement en fin de formulaire.

⚙ Fonctionnalités principales

Builder drag-and-drop intuitif

Glissez un champ depuis la palette de gauche vers le canvas central. Cliquez un champ pour ouvrir ses options à droite : libellé, placeholder, valeur par défaut, obligatoire, regex de validation, taille max, etc. Le tout sans rechargement de page.

Boutons Annuler / Refaire (Ctrl+Z / Ctrl+Shift+Z) pour explorer sans crainte, et un aperçu live dans une iframe qui affiche le rendu visiteur exact avant publication.

Formulaires multi-pages

Glissez des Saut de page pour découper un formulaire long en plusieurs étapes. Barre de progression visuelle pour le visiteur, navigation Précédent/Suivant avec validation par page (un visiteur ne peut pas passer à l’étape 2 si l’étape 1 a des erreurs).

35 templates pré-configurés dans 13 catégories

À la création d’un formulaire, vous choisissez parmi 35 templates :

  • Contact : contact basique, demande de devis, demande de rappel
  • Business : prospection B2B, lead magnet
  • RH : candidature, entretien annuel
  • Santé : fiche d’admission patient, consentement médical
  • Éducation : inscription scolaire, autorisation droit à l’image
  • Immobilier : demande de location, visite
  • Avis et sondages : satisfaction, NPS
  • Calculateurs : note de frais, IMC, prêt, devis
  • Marketing : newsletter, opt-in
  • Juridique : consentement, droit à l’image
  • Commande : bon de commande
  • Réservation : rendez-vous, location de chambre, gîte

Shortcode et bloc Gutenberg

Insérez votre formulaire avec ->]formforge id=1]<-dans n’importe quelle page, article ou widget. Ou utilisez le bloc Gutenberg dédié dans l’éditeur moderne — sélection visuelle dans une liste déroulante.

🧮 Le moteur de calcul (différenciateur unique)

Sélectionnez un champ Nombre, activez le calcul automatique, et saisissez une formule. Les chips de champs disponibles s’insèrent au clic dans la zone de saisie, accompagnés des opérateurs + − × ÷ ( ).

Syntaxe : référez un champ par sa clé interne entre accolades.

{quantite} * {prix_unitaire} * (1 - {remise}/100)

Les calculs en cascade fonctionnent : un champ peut référencer un autre champ qui lui-même est calculé. FormForge évalue dans le bon ordre.

Cas d’usage classiques

  • Devis instantané : description + qté × prix → total HT / TVA / TTC live
  • Calculateur de prêt : montant × taux × durée → mensualité
  • Calculateur d’IMC : poids ÷ (taille × taille)
  • Note de frais TTC : sommes des lignes avec TVA
  • Estimateur de temps de lecture : nombre de mots / 250 = minutes

Le résultat d’un calcul peut alimenter directement le montant Stripe à charger — c’est la magie de cette intégration native.

🔀 La logique conditionnelle

Affichez ou masquez n’importe quel champ selon les valeurs des autres champs. Six opérateurs : égal à, différent de, contient, ne contient pas, est vide, n’est pas vide. Combinaison ET (toutes vraies) ou OU (au moins une vraie).

Exemples concrets :

  • Demande de location avec garant : si la case « Avez-vous un garant ? » est cochée à Oui, afficher les champs Nom du garant, Salaire du garant, etc.
  • Formulaire B2B vs particulier : si type = « Entreprise », afficher SIRET et N° TVA. Sinon, les masquer.
  • Mineur : si âge déclaré inférieur à 18 ans, afficher les champs Nom du parent et Signature parent.

Les champs masqués sont automatiquement désactivés côté serveur aussi : leur valeur n’est pas enregistrée et leur validation obligatoire est ignorée. Aucune surprise.

💳 Paiements Stripe — intégration complète

FormForge utilise Stripe Checkout (paiement par redirection sur le domaine Stripe), ce qui signifie zéro PCI scope sur votre site : aucune donnée de carte ne transite par vos serveurs, vous évitez les obligations de conformité PCI-DSS lourdes.

Moyens de paiement supportés

Tous les moyens activés dans votre Dashboard Stripe → Settings → Payment methods sont proposés au visiteur, filtrés selon la devise et le pays :

  • Cartes bancaires (Visa, Mastercard, Amex, etc.)
  • PayPal
  • Apple Pay et Google Pay
  • SEPA (prélèvement bancaire européen)
  • iDEAL (Pays-Bas), Bancontact (Belgique)
  • Klarna (paiement en plusieurs fois)
  • Link (paiement rapide Stripe)
  • Et plus selon votre activation

Sources de montant flexibles

Le montant à charger peut venir de quatre sources :

  • Montant fixe : prix unique pour tous (ticket d’événement à 25 €)
  • Calculé depuis un champ : le total d’un calcul live (devis en temps réel)
  • Don libre : le visiteur saisit lui-même le montant ; un minimum anti-fraude est configurable
  • Total des lignes répétables : somme automatique de qty × price d’un champ Repeater

Paiements uniques et abonnements

FormForge supporte les deux modes Stripe :

  • Paiement unique : facturation immédiate, classique
  • Abonnement récurrent : périodicité jour/semaine/mois/année configurable, intervalle paramétrable (tous les 1, 2, 3… mois). Webhook customer.subscription.deleted détecte automatiquement les annulations.

Devises sans décimales

FormForge gère correctement les devises sans décimales (JPY, KRW, VND, BIF, CLP, etc.). Si vous saisissez 1000 JPY, Stripe reçoit bien 1000 (pas 100 000). C’est déjà câblé.

Remboursements en un clic

Sur la fiche d’une soumission payée, un bouton « ↩ Rembourser via Stripe » appelle l’API Stripe et passe la soumission en statut Remboursé. Idempotent — un double-clic ne déclenche pas deux remboursements.

Facture Stripe automatique

Activable par formulaire. Stripe génère et envoie automatiquement une vraie facture PDF (différente du simple reçu de carte) avec votre logo, votre SIRET, vos mentions légales, à votre client par email. Description et pied de page personnalisables.

Webhook sécurisé

Toutes les transactions sont synchronisées en temps réel via le webhook Stripe — signature HMAC SHA-256 vérifiée en temps constant, tolérance anti-replay de 5 minutes. Cinq événements gérés : checkout.session.completed, checkout.session.expired, checkout.session.async_payment_succeeded, checkout.session.async_payment_failed, customer.subscription.deleted.

📄 Documents PDF — devis et factures intégrés

À chaque soumission, FormForge peut générer un document PDF personnalisé : devis, facture, bon de commande, reçu, ou document générique.

Éditeur de template par blocs

Le template se compose par blocs séquentiels réorganisables en drag-and-drop. Neuf types de blocs disponibles :

  • En-tête — logo + nom entreprise + adresse à gauche, type de doc + numéro + date à droite (auto-rempli depuis les settings)
  • Bloc client — mapping libre des champs du formulaire (Nom, Email, Adresse, etc.) affichés sous un titre personnalisable
  • Tableau de lignes — auto-rempli depuis un champ Repeater du formulaire ; colonnes Qté / Prix unitaire / Total ligne optionnelles
  • Totaux — sous-total HT, TVA (taux configurable), Total TTC calculés automatiquement
  • Texte libre — HTML libre avec tokens dynamiques {nom_du_champ}
  • Signature — zone à signer manuellement avec libellés gauche/droite
  • Espacement — hauteur configurable pour aérer la mise en page
  • Saut de page — force le passage à la page suivante (annexes, CGV)
  • Mentions légales — pied de page auto avec SIRET / TVA / IBAN + texte personnalisable

Aperçu live

Bouton 👁 Aperçu qui ouvre une modal avec le rendu A4 exact, alimenté par les valeurs de votre dernière soumission (ou des valeurs factices). Vous voyez exactement ce que votre client recevra.

Numérotation automatique

Format configurable avec tokens : {type}, {annee}, {mois}, {numero}, {numero:0000} (avec padding zero). Exemples :

  • DEVIS-{annee}-{numero:0000}DEVIS-2026-0042
  • {type}-{numero}facture-42

Le compteur est atomique par formulaire et par type — un devis et une facture du même formulaire ont des compteurs séparés. Reset annuel automatique si {annee} est dans le format.

Mode hybride : HTML imprimable ou PDF serveur

Deux modes :

  • HTML imprimable (toujours actif) : le visiteur reçoit un lien vers une page A4, fait « Imprimer → Enregistrer en PDF » dans son navigateur. Aucune dépendance.
  • PDF côté serveur (optionnel, via DomPDF) : génération directe d’un fichier .pdf, attachable aux emails. Installation simple par composer install.

Distribution automatique

Le PDF généré peut être :

  • Attaché aux emails admin et/ou utilisateur (toggles par formulaire)
  • Téléchargeable via un bouton sur le message de confirmation après soumission
  • Inséré dans le corps de l’email via le token {document_link} qui s’auto-ajoute si non présent
  • Re-générable à tout moment depuis l’admin (avec préservation du numéro initial)

📧 Intégrations marketing

Brevo (ex-Sendinblue) — sync native

Choix stratégique : Brevo est une plateforme française d’email marketing avec un free tier généreux (300 emails/jour, 100 000 contacts).

FormForge synchronise automatiquement chaque soumission vers vos listes Brevo de votre choix :

  • Mode direct (le contact est ajouté immédiatement) ou double opt-in (Brevo envoie un email de confirmation, RGPD-friendly)
  • Mapping libre des champs FormForge → attributs Brevo standards (EMAIL, FIRSTNAME, LASTNAME, SMS) + attributs custom illimités
  • Sélection multi-listes
  • Sync 100% asynchrone via WP-Cron → la confirmation utilisateur n’est jamais bloquée
  • Retry exponentiel 3× en cas d’erreur (5 min → 30 min → 2 h)
  • Bouton « Tester la connexion » dans les settings pour valider la clé API avant production

Webhooks sortants — Zapier, Make.com, n8n, IFTTT

Pour toute autre intégration, les webhooks sortants permettent d’envoyer chaque soumission en POST JSON à n’importe quel service externe :

  • Mode synchrone ou asynchrone (recommandé pour Zapier/Make/n8n qui peuvent être lents)
  • Jusqu’à 4 destinations par formulaire en fan-out parallèle
  • Headers HTTP personnalisés (clés d’API, tokens d’authentification)
  • Signature HMAC SHA-256 optionnelle pour authentifier l’origine
  • Retry exponentiel 3× sur erreur 5xx ou timeout (5 min → 30 min → 2 h)
  • Pas de retry sur 4xx (erreur cliente — ne se résoudra pas)

Format du payload :

{
  "form_id": 42,
  "form_title": "Demande de devis",
  "submission_id": 1234,
  "submitted_at": "2026-05-12T14:30:25+00:00",
  "site_url": "https://votre-site.com/",
  "fields": {
    "nom":    { "label": "Nom",    "type": "text",  "value": "Jean Dupont" },
    "email":  { "label": "Email",  "type": "email", "value": "jean@example.com" }
  }
}

🛡 Sécurité et anti-spam

Sur un formulaire public sans protection, comptez 5 à 50 spams par jour rien qu’avec les bots automatiques. FormForge empile quatre couches indépendantes, activables séparément.

Couche 1 — Honeypot (toujours actif)

Un champ caché que les humains ne voient pas mais que les bots remplissent automatiquement. Si rempli → soumission rejetée. Bloque environ 80 % des bots basiques sans aucun effort.

Couche 2 — Time-check

Mesure le temps entre l’affichage du formulaire et la soumission. Trop rapide (< 2 secondes) ou trop lent (> 1 heure) → bot. Configurable.

Couche 3 — Rate-limiting par IP

Limite le nombre de soumissions par IP dans une fenêtre glissante (défaut : 10 toutes les 60 secondes). Bloque les attaques massives sans gêner les vrais visiteurs.

Couche 4 — Captcha externe (Turnstile / reCAPTCHA / hCaptcha)

Trois fournisseurs au choix :

  • Cloudflare Turnstile (recommandé) — RGPD-friendly, gratuit illimité, sans cookie, défi caché. Le visiteur ne fait généralement rien.
  • Google reCAPTCHA v3 — invisible, basé sur un score de risque 0–1, seuil de rejet configurable
  • hCaptcha — alternative privacy-first à reCAPTCHA

Vérification systématique côté serveur via API REST (jamais d’iframe-validation client-only). Tous les rejets sont loggés.

Sécurité des données

  • SQL préparé partout — pas une seule requête concatène une variable utilisateur sans $wpdb->prepare()
  • Échappement à la sortie systématique — esc_html, esc_attr, esc_url, wp_kses_post
  • Nonces WordPress sur toutes les actions admin sensibles (14 handlers vérifiés)
  • Capabilities checks (manage_options) sur tous les endpoints admin
  • Uploads sécurisés : .htaccess bloquant l’exécution PHP dans /uploads/formforge/, validation MIME ↔ extension, renommage aléatoire des fichiers
  • Anti-tampering : les paths de fichiers et signatures sont validés par préfixe et is_file() à chaque accès
  • HMAC signatures : Stripe webhook et webhooks sortants signés en SHA-256 timing-safe (hash_equals)

🔒 Conformité RGPD

Intégration native aux outils Personal Data WordPress

FormForge est automatiquement intégré aux outils Outils → Exporter / Effacer les données personnelles de WordPress. Pas de configuration nécessaire. Quand un visiteur demande l’export ou la suppression de ses données :

  1. L’admin saisit son email dans les outils WP
  2. WP appelle FormForge qui retourne toutes les soumissions contenant cet email
  3. Pour l’effacement : les soumissions sont supprimées avec leurs fichiers attachés sur disque

Politique de rétention automatique

Configurez une durée de conservation en jours dans Paramètres → RGPD. Au-delà, les soumissions sont automatiquement supprimées (avec leurs fichiers). Recommandé pour minimiser la collecte selon les principes RGPD.

Minimisation de la collecte

Toggle pour désactiver le stockage de l’IP et du User-Agent du visiteur — utile si vous voulez minimiser au maximum les données personnelles.

Choix du captcha conforme

FormForge propose Cloudflare Turnstile qui ne pose aucun cookie, ne fait pas de fingerprinting, et est donc compatible avec une politique privacy stricte sans bandeau cookies supplémentaire pour la fonction anti-spam.

🌍 Multilingue (WPML et Polylang)

FormForge détecte automatiquement WPML ou Polylang s’ils sont installés et enregistre toutes les chaînes traduisibles dans leur système :

  • Titre et description du formulaire
  • Labels, placeholders, help_text de chaque champ
  • Choix des radio / select / cases à cocher
  • Messages de confirmation, sujets et corps d’emails
  • Titres et messages des paliers de quiz
  • Contenu HTML libre

Les traducteurs vont dans WPML → String Translation ou Polylang → Chaînes et traduisent depuis l’interface native de leur plugin de traduction. Côté visiteur, le bon contenu apparaît selon la langue active. Aucun overhead pour les sites monolingues — passthrough total si aucun plugin de traduction n’est actif.

🎯 Quiz et évaluation par score

Transformez un formulaire à choix (radio / select / checkbox) en évaluation chiffrée avec résultat conditionnel par palier :

  • Tests de personnalité (« Quel profil êtes-vous ? »)
  • Quiz de connaissance (« Score sur 20 »)
  • Pré-qualification commerciale (« Êtes-vous un prospect chaud ? »)
  • Auto-évaluations métier (maturité digitale, niveau de compétence…)

Configuration : pour chaque option de chaque champ à choix, saisissez le nombre de points attribués. Définissez jusqu’à 5 paliers (score min → max + titre + message HTML). Au moment du submit, le score est calculé, le palier déterminé, et un bloc visuel coloré remplace le message de confirmation classique (score géant, titre, message du palier).

Le score et le titre du palier sont persistés en BDD — visibles dans la fiche soumission ET dans l’export CSV.

⏱ Reprendre plus tard (Save & Continue)

Sur les formulaires longs (candidature, dossier d’inscription, demande de subvention), le visiteur peut sauvegarder son brouillon et reprendre plus tard via un lien envoyé par email :

  1. Bouton ⏱ Reprendre plus tard en haut du formulaire
  2. Modal demandant l’email du visiteur
  3. FormForge sauvegarde le brouillon en BDD et envoie un email avec un magic-link de 64 caractères hexadécimaux, valable 30 jours
  4. Au clic sur le lien, le formulaire se ré-affiche avec toutes les valeurs hydratées + un bandeau « ↻ Reprise depuis votre brouillon du JJ/MM/AAAA »

Sécurité : nonce REST X-WP-Nonce, rate-limit IP, payload capé à 256 KB, token strictement validé par regex, auto-purge des brouillons expirés.

📅 Réservations et agenda

Module agenda intégré qui transforme votre formulaire en système de réservation. Deux modes au choix :

Mode créneau (date + heure)

Pour les prises de rendez-vous : consultation, coaching, démo, audition, soin esthétique, restaurant. Grille hebdomadaire affichée par avec :

  • Vert : créneau libre, cliquable → pré-remplit le formulaire
  • Rouge : créneau déjà réservé
  • Hachuré : créneau passé (impossible) ou jour fermé
  • Jaune muted : pause récurrente (déjeuner) ou vacances

Configurable : durée de chaque créneau (5 à 480 min), plage horaire (heure de début / fin), jours ouvrés, pauses récurrentes quotidiennes (déjeuner), vacances par plage de dates.

Mode période (date d’arrivée + date de départ)

Pour les locations multi-jours : chambres d’hôtel, gîtes, locations de matériel, salles événementielles, voitures. Vue mensuelle avec sélection en deux clics (date d’arrivée → date de départ), aperçu en survol, refus automatique de toute plage qui contient un jour pris ou indisponible.

Convention hôtelière : la date de départ libère la chambre. Une réservation du 10 au 15 = 5 nuits, le 15 redevient libre pour une autre réservation.

🌐 Création d’article ou inscription utilisateur WordPress

À chaque soumission, FormForge peut automatiquement :

Créer un article (post, page, ou CPT)

Cas d’usage : annuaire de prestataires, témoignages, candidatures, suggestions. Configuration :

  • Type de contenu : tous les CPT publics (post, page, ou personnalisé)
  • Statut initial : Brouillon (modération), En attente, Publié, Privé
  • Titre et contenu par templates avec tokens {nom_du_champ}
  • Auteur : utilisateur connecté / ID fixé / depuis un champ du formulaire
  • Image à la une : sélectionnée parmi les champs Fichier (importée comme attachment WP)
  • Mapping meta : 5 lignes meta_key ← form_field_key
  • Mapping taxonomies : 3 lignes taxonomie ← champ + séparateur pour valeurs multiples

Inscrire un utilisateur WordPress

Cas d’usage : portails communautaires, espaces membres, plateformes pédagogiques, e-commerce. Configuration :

  • Email obligatoire (identifiant + cible mail)
  • Username explicite ou auto-généré depuis l’email avec déduplication automatique
  • Prénom / Nom alimentent le profil WP
  • Rôle : toutes les options de wp_roles()
  • Email de bienvenue WP standard avec mot de passe auto-généré
  • Toggle auto-login optionnel

Sécurité : email déjà existant → pas d’écrasement (WP_Error propre + log). Mot de passe toujours auto-généré (jamais saisi côté formulaire).

📊 Tableau de bord analytics

Le menu principal du plugin pointe sur un tableau de bord qui donne d’un coup d’œil :

  • Total des soumissions tous formulaires confondus
  • Cette semaine + variation % vs semaine précédente (avec flèche haut/bas)
  • Total des encaissements Stripe groupé par devise
  • Graphique 30 jours en SVG natif (sans dépendance Chart.js) avec aire remplie et tooltips au survol
  • Top 5 formulaires avec barres de progression colorées
  • 8 dernières soumissions tous formulaires confondus avec temps relatif (« il y a 3 minutes »)
  • Panneaux Démarrer rapidement et Astuce du jour

Performances : toutes les requêtes en SQL agrégé, cache transient 5 min. Reste rapide même sur des sites avec 100 000+ soumissions.

📧 Notifications email — illimitées et conditionnelles

Au-delà des deux notifications standards (admin + utilisateur), FormForge permet de créer autant de notifications que nécessaire par formulaire, chacune avec ses propres conditions d’envoi :

  • Destinataire : email statique / lu depuis un champ du formulaire / premier champ Email trouvé
  • CC + BCC optionnels
  • Sujet + corps avec tokens {nom_du_champ}, {summary}, {form_title}, {submission_id}, {document_link}
  • Conditions d’envoi : toujours / TOUTES les règles vraies / AU MOINS UNE règle vraie (opérateurs : equals, not_equals, contains, gt, lt, empty, not_empty)
  • Toggle pièces jointes par notification

Cas d’usage type B2B : « Si le champ type_demande est urgent, notifier sales@, sinon support@. Et toujours envoyer une confirmation au visiteur. »

Configuration SMTP

WordPress utilise wp_mail() par défaut, qui passe par la fonction mail() du serveur PHP — souvent peu fiable. FormForge permet de basculer sur SMTP via PHPMailer avec configuration des serveurs Gmail / OVH / Brevo SMTP / Mailgun / Amazon SES.

❓ Aide intégrée — 20 articles français

Un centre d’aide complet dans le plugin lui-même, accessible via FormForge → Aide. 20 articles rédigés en français, organisés du plus simple au plus complexe :

  • Premiers pas : Démarrage rapide, Tous les types de champs, Anti-spam
  • Construire un formulaire : Réglages, Emails, Confirmation, Apparence
  • Logique & calculs : Calculs entre champs, Logique conditionnelle, Tokens dynamiques
  • Intégrations : Webhooks, Brevo, Article WP / utilisateur
  • Modules avancés : Stripe, PDF, Quiz, Réservations, Save & Continue
  • Sécurité & conformité : RGPD
  • FAQ et dépannage

Avec recherche live, navigation prev/next dans la catégorie, et liens croisés entre articles. Plus des tooltips contextuels (?) à côté des concepts non-évidents dans toute l’interface admin, qui pointent vers l’article correspondant.

Onboarding au premier lancement : modale d’accueil avec trois actions (« Lire le guide », « Créer mon premier formulaire », « Plus tard »).

🛠 Pour les développeurs

FormForge expose 36 hooks (filtres et actions) documentés dans le fichier developers.md à la racine du plugin, chacun accompagné d’un exemple PHP prêt à coller. Sélection :

Hook Usage
formforge_field_types Enregistrer un type de champ custom
formforge_validation_errors Règles de validation métier custom
formforge_before_save_submission Modifier les valeurs avant INSERT
formforge_email_args Contrôle total sur les emails sortants
formforge_webhook_payload Modifier le payload d’un webhook
formforge_brevo_should_sync Synchronisation Brevo conditionnelle
formforge_pdf_html Modifier le HTML avant conversion PDF (watermarks)
formforge_quiz_score Ajuster le score du quiz (bonus, malus)
formforge_payment_completed Réagir après confirmation Stripe
formforge_pdf_generated Réagir après création d’un document

L’architecture suit les conventions WordPress : classes préfixées FormForge_*, namespace REST formforge/v1, capacité manage_options, tables BDD préfixées {$wpdb->prefix}formforge_*.

⚡ Performance et compatibilité

  • PHP 8.0+ requis (idéal PHP 8.2)
  • WordPress 6.0+, testé jusqu’à 6.7
  • MySQL 5.7+ ou MariaDB 10.3+
  • 128 MB de mémoire PHP minimum (256 MB recommandés si DomPDF actif)
  • Aucune dépendance JavaScript externe : pas de jQuery côté frontend, pas de Chart.js, pas de SDK Stripe / Brevo (tout via wp_remote_request natif)
  • Bloc Gutenberg natif, compatible classic editor et page builders (Elementor, Divi, Beaver Builder…)
  • Optimisé multilingue WPML / Polylang sans overhead pour sites monolingues
  • Multi-site WordPress compatible
  • Performance : SQL agrégé pour le dashboard, cache transient 5 min, tests menés sur 100 000+ soumissions sans dégradation

🚀 Installation et démarrage

  1. Téléchargez et installez le plugin via WordPress → Extensions → Téléverser, ou copiez le dossier formforge/ dans wp-content/plugins/.
  2. Activez dans le menu Extensions.
  3. Au premier lancement, une modale d’accueil vous propose d’ouvrir le guide de démarrage rapide.
  4. Allez dans FormForge → Nouveau formulaire, choisissez un template (ou Vierge), nommez-le.
  5. Dans le builder, glissez vos champs depuis la palette, configurez les options à droite.
  6. Onglet Emails : renseignez l’email destinataire admin.
  7. Cliquez Enregistrer et copiez le shortcode  [ formforge id=1 ] dans n’importe quelle page.
  8. Testez côté visiteur, vérifiez la fiche dans Soumissions.

Pour activer la génération PDF côté serveur (optionnel mais recommandé), exécutez composer install dans le dossier du plugin pour installer DomPDF.

FAQ

Combien coûte FormForge ?

FormForge est gratuit et open-source (GPL v2). Aucun add-on payant, aucune feature cachée derrière un paywall. Si ous voulez me faire un don c’est sympa !

Compatible avec mon thème WordPress ?

Oui — FormForge s’adapte automatiquement à votre thème. La page Apparence permet en plus de personnaliser couleurs, polices, espacements via 6 presets visuels prêts à l’emploi + sliders et color pickers.

Les emails arrivent en spam, comment faire ?

Basculez en mode SMTP dans Paramètres → Emails avec un serveur fiable (Gmail, OVH, Brevo SMTP, Mailgun, Amazon SES). C’est le réglage le plus impactant sur la délivrabilité.

Mon site est bilingue, ça fonctionne ?

Oui, nativement avec WPML et Polylang. Détection automatique. Toutes les chaînes (labels, choix, messages, emails) sont enregistrées dans le système de traduction du plugin actif. Aucun overhead pour les sites monolingues.

Puis-je connecter à Salesforce / HubSpot / Mailchimp / autre ?

Oui, via les webhooks sortants qui s’intègrent à Zapier, Make.com, n8n, IFTTT en quelques clics — aucun code requis. Pour Brevo, l’intégration est native.

Performance sur un site à fort trafic ?

Optimisé pour 100 000+ soumissions : SQL agrégé, cache transient sur le dashboard, IDs indexés. Aucun script JS lourd côté frontend (pas de jQuery, pas de Chart.js). Le seul appel externe au moment du submit est l’éventuel captcha (Turnstile recommandé pour la perf).

Mes données sont-elles en sécurité ?

Oui : SQL préparé partout, échappement systématique en sortie, nonces sur toutes les actions admin, capabilities checks, signatures HMAC pour Stripe et webhooks, anti-tampering sur les paths de fichiers et signatures, intégration RGPD native aux outils Personal Data WordPress.

Comment supprimer proprement FormForge ?

Désactivez puis supprimez le plugin via Extensions. WordPress exécute automatiquement uninstall.php qui supprime les 7 tables FormForge, toutes les options, les transients, les events wp-cron récurrents, les fichiers uploadés, et les meta keys liées. Pour conserver les données (par exemple lors d’une migration), définissez define( 'FORMFORGE_KEEP_DATA', true ); dans wp-config.php avant désinstallation.

Bref …

FormForge n’est pas juste « un autre plugin de formulaires ». C’est une plateforme complète qui regroupe ce que les concurrents premium vendent en sept modules séparés à 50-200 €/an chacun : calculs, paiements complets, PDFs, quiz, repeater, sync CRM, multilingue. Tout est intégré, cohérent, et accessible aux utilisateurs non-techniques tout en restant extensible pour les développeurs.

Que vous gériez un site vitrine avec un simple formulaire de contact, une agence qui produit des devis automatisés avec paiement, une association qui collecte des inscriptions avec création de compte, ou un site marchand qui réserve des chambres avec acompte Stripe — FormForge couvre votre cas d’usage sans add-on payant.