GravityForms, la rolls des plugins de formulaires pour WordPress ou Contact Form 7 ?
Pourquoi ? Parce que c’est une solution complète, qui permet de gérer :
- des formulaires de contact
- des formulaires de commande, avec un paiement intégré, beaucoup plus rapide à mettre en oeuvre pour quelques produits, qu’une boutique WooCommerce
- des formulaires de création et de modification de post en front-end (avec des règles de validation spécifiques)
- des formulaires de création d’utilisateur
- des sondages
- des quizz
- l’intégration avec de nombreux services externes (MailChimp, Aweber, FreshBook, Paypal, Stripe…)
Bien entendu, GravityForms est compatible avec WPML (et WP-Rocket ^^) via la traduction de chaines. (On peut utiliser Contact Form 7 avec WPML, mais on ne traduit pas les formulaires, on les duplique).
Pour vous prouver que GravityForms est bien “la” rolls-royce, voici un comparatif avec les deux autres plugins de formulaires les plus utilisés, Contact Form et Contact Form 7
Les types de champs disponibles
Input Type HTML | Groupe de champs Gravity Forms | Type de Champs | Présent dans ContactForm | Présent dans ContactForm 7 |
Champs de texte de base |
||||
Text | Champs standards | Texte Ligne Simple | Oui | Oui |
Text-Area | Champs standards | Texte (Paragraphe) | Oui | Oui |
Champs de sélection |
||||
Button | Non disponible en tant que tel, l’utilisation du champ “HTML” permet d’insérer n’importe quel code, et donc un bouton | Non | Non | |
Checkbox | Champs standards | Cases à cocher | Non | Oui |
Radio | Champs standards | Boutons Radio | Non | Oui |
Select option | Champs standards | Liste déroulante ou Sélection Multiple Le champs avancé “Liste” permet d’avoir plusieurs colonnes |
Limité dans la version pro uniquement, à une liste déroulante de destinataires par département | Oui |
Champs de date et heure |
||||
Date | Champs avancés | Date | Non | Oui |
Datetime | Non Disponible | Non | Non | |
Datetime-local | Non Disponible | Non | Non | |
week | Non Disponible | Non | Non | |
month | Non Disponible | Non | Non | |
time | Champs avancés | Temps | Non | Non |
Types de donnés spécifiques |
||||
hidden | Champs standards | Caché | Non | Non |
file | Champs avancés | Téléchargement de fichier | Uniquement dans la version Pro | Oui |
number | Champs standards | Nombre | Non | Oui |
range | Non Disponible | Non | Oui | |
password | Champs standards | Texte Ligne Simple – Avancé, activer l’entrée de mot de passe | Non | Non |
Champs avancés | Courriel | Oui | Oui | |
tel | Champs avancés | Téléphone, possibilité de différents formats | Oui en version pro | Oui |
url | Champs avancés | Site Web | Non | Oui |
search | Non Disponible | Non | Non | |
color | Non Disponible | Non | Non | |
Gestion des boutons et du formulaire |
||||
submit | Paramètres du formulaire | Permet de définir le texte, et d’activer les conditions logiques globales, au niveau du formulaire | Pas personnalisable (en dehors de la traduction) | Oui |
image | Paramètres du formulaire | La configuration du submit permet de choisir un texte ou une image | Non | |
reset | Via un plugin, GravityForms Reset Button | Non | Non | |
Champs complexes |
||||
Nom | Champs Avancés | Le “champ” est en réalité un choix entre trois formes :
|
Oui, un simple input text | Non |
Adresse | Champs Avancés | Comme pour le nom, l’adresse est en réalité un ensemble de champs. | Oui, un simple input text sur une ligne | Non |
Captcha | Champs Avancés | Utilise Recaptcha | Plugin additionnel | Oui, différentes possibilités (recaptcha, quiz) |
Gestion d’Articles | Champs d’Articles | Tous les champs nécessaires pour créer un post :
|
Non | Non |
Vente de produit | Champs de produit | Tous les champs nécessaires pour vendre un produit :
|
Non | Non |
En résumé, Contact Form 7 dispose de tous les champs de base pour faire un formulaire, c’est à dire des champs définis par la norme HTML. Il ne propose pas, par contre, l’équivalent des champs complexes de Gravity Forms. Quand à Contact Form, il est effroyablement limité, et donne un formulaire “tout fait” dans la version gratuite.
Les validations et le contrôle des données
Gravity Forms offre de très nombreuses possibilités de validation des données
Elles méritent un article à elles toutes seules.
Pour résumer, la validation peut se faire au niveau du contenu de chaque champ, en fonction de son type, avec en général :
- des masques de saisie
- des tailles minimum / maximum
- des règles complexes de validation sur les fichiers via un plugin gratuit
- des tests de validité des données sur les champs avancés
- des conditions logiques (si tel champ a telle valeur)
- la vérification de l’unicité des données (par exemple un mail pour un abonnement à une newsletter)
- et enfin la possibilité, via des hooks, de programmer n’importe quelle fonction de validation
La même chose étant possible au niveau d’un formulaire global.
En ce qui concerne Contact Form 7 c’est plus limité
Le “constructeur de champ” permet de définir pour chaque champ, des valeurs minimum ou maximum et des valeurs par défaut. En revanche, pas de conditions logiques, donc pas de dépendance entre les champs, par exemple.
Le routing et l’envoi des mails
Gravity Forms et Contact Form 7 proposent tous les deux la possibilité :
- d’afficher un message de confirmation de l’envoi sur la page du formulaire
- d’envoyer un message personnalisé à l’admin du site, qui contiendra les données du formulaires
- d’envoyer un message à la personne qui a rempli le mail, pour lui confirmer le contenu de son envoi.
GravityForms, là aussi, permet d’aller beaucoup plus loin :
- une gestion globale des confirmations et notifications, alors que pour Contact Forms 7, ces données sont attachées au formulaire, pour Gravity Forms, les paramétrages peuvent être gérés de façon globale. C’est particulièrement utile quand on gère plusieurs versions d’un même formulaire (compacte et étendue par exemple)
- un routage complexe, avec la possibilité d’envoyer les mails de notifications à différents destinataires en fonction du contenu du formulaire
- la possibilité de personnaliser entièrement les différentes zones (nom, courriel, sujet, contenu…) avec des variables multiples (nom du site, page, id de l’article, etc)
- et surtout la possibilité d’activer plusieurs notifications pour un formulaire : on peut, par exemple, avoir une notification pour un service commercial, qui reprend toutes les données de la commande, et une notification pour un service marketing, qui a le total de la commande et l’id de la page où elle a été passée
L’installation
Il est possible d’installer ContactForm à partir de WordPress.org tout comme ContactForm7 (et donc de votre admin), en revanche pour GravityForms, il faut impérativement avoir acheté l’extension au préalable.
J’avoue qu’avec ContactForm, pour moi ça commence mal dès l’installation, avec un message m’indiquant que l’extension a généré des caractères innatendus, et que si quelque chose se passe mal, il faudra la désactiver.
L’autre point négatif, c’est que l’extension sert à à BestWebSoft pour faire son marketing : au lieu de simplement rajouter un élément de menu “formulaire” simple et facile à trouver, j’ai un élément de menu BWS Plugins, dont il faut que je devine qu’il s’agit de mon formulaire de contact, et dont la première page sert à présenter TOUS les plugins de cette société, y compris ceux qui n’ont rien à voir avec un formulaire de contact. Il y a même un onglet pour les thèmes (on pourrait croire qu’il s’agit de skins pour le formulaire de contact, non ce sont des vrais thèmes).
Enfin, quand on installe des plugins additionnels, comme Contact Form to DB, ils n’apparaissent pas systématiquement dans le menu BWS… bref c’est le foutoir !
Pour Contact Form 7 c’est beaucoup plus clair : un élément de menu “Contact”, avec une page pour gérer l’ensemble des formulaires avec des liens vers la doc, et une page pour créer un formulaire.
L’utilisation du formulaire
Le formulaire peut être inclus dans un article via un shortcode.
En ce qui concerne la sidebar, pour GravityForms, on dispose d’un widget qui permet d’insérer n’importe quel formulaire où on veut.
GravityForms | Contact Form | Contact Form7 | |
Insertion dans un article | Un bouton au dessus de la barre TinyMce permet d’insérer le shortcode GravityForms avec le choix du formulaire de d’options de personnalisations. | Un shortcode unique. En cas de formulaires multiples, il faut mettre l’id du formulaire en paramètre. | Sur la page du formulaire, le shortcode avec ces options est indiqué, pour être copié dans le contenu de l’article. |
Utilisation dans la sidebar | Un widget permet d’insérer n’importe quel formulaire dans une sidebar, avec les mêmes options de personnalisation que pour l’article. | Il faut utiliser un plugin qui permet d’exécuter du shortcode dans les widgets, ou aller plonger dans le code pour trouver la fonction et la mettre manuellement dans le fichier sidebar.php | Comme pour ContactForm, il n’y a pas de widget tout prêt. |
Stockage des données | Les données des messages sont systématiquement stockées en base de données. Les messages peuvent être lus et gérés dans l’admin. | Le stockage en base de données nécessite un plugin additionnel, ContactForm to DB | Possible en utilisant Flamingo, un plugin du même auteur qui a vocation à fournir un système CRM |
Les modules complémentaires
En dehors de Flamingo, j’ai trouvé deux modules complémentaires pour Contact Form 7 : une qui permet d’intégrer Contact Form 7 avec un service américain (ContactUs), et un bouton TinyMce qui permet d’ajouter un lien de contact dans un article.
En revanche, le monde de GravityForms est très riche. En dehors des extensions officielles, fournies par RocketGenius, un grand nombre d’extensions gratuites sont disponibles sur wordpress.org, dont certaines sont, à mon avis, indispensables (entre autres Gravity Forms Toolbar, Gravity Forms Directory, Gravity Forms Wisiwyg qui permet de transformer n’importe quel champ “Texte Paragraphe” en éditeur wysiwig avec la barre TinyMce… là aussi il faut un article entier pour faire la liste des meilleures extensions).
L’ergonomie
L’ergonomie de Gravity Forms est meilleure que celle de Contact Form 7 : avec GravityForms, on peut travailler uniquement au clic et visuellement, avec une prévisualisation du formulaire.
Contact Form 7 est plus “root” : le plugin fonctionne sur la base d’une collection de shortcodes avec des options. Mais son générateur de marqueur permet de générer ces shortcodes sans vraiment lire la doc. Il reste à les copier dans le formulaire. Il n’y a pas d’aide, en revanche, pour la personnalisation des mails de confirmation, il faut “faire du shortcode” et “faire du html” pour ce qui va autour.
Les deux plugins, enfin, permettent de gérer les classes CSS des champs, ce qui donnera une belle mise en forme.
Quant à ContactForm, c’est “comme ça et puis c’est tout”. D’une certaine façon c’est très ergonomique, puisqu’on n’a rien à faire, mais c’est un peu frustrant.
Le prix des plugins
GravityForms | ContactForm | ContactForm7 | |
Version Gratuite | Non | Oui | Oui |
Licence de base | $39 | $15 + $14.95 pour la version pro de ContactForm to DB + $9.95 pour la version pro de Captcha |
NA |
Un seul site, pas de limite sur le nombre de formulaires et d’entrées. Auto-répondeur |
Un seul domaine et ses sous-domaines (donc impossible à utiliser en multi-site avec le domaine Mapping). Un seul formulaire, possible d’en avoir plusieurs avec le plugin ContactForm Multi |
||
Licence “Business” | $99 | NA | NA |
3 sites, intégration Aweber, Picatcha, MailChimp et Authorize.net | |||
Licence “Developpeur” | $199 | NA | NA |
Sites illimités, toutes les extensions (dont l’intégration Paypal, les sondages …) et support prioritaire |
En résumé, lequel choisir ?
ContactForm est, même en version pro, un plugin extrêmement limité. J’avoue que je ne comprends pas l’intérêt de payer pour la version pro, et je suis assez surprise de le retrouver sur autant de sites…
Le vrai choix, à mon avis, est entre ContactForm 7 et GravityForms.
Si vous ne cherchez qu’un plugin de contact, sans contrôle fin des données ou des destinataires, ContactForm 7 pourra largement suffire, et il a l’avantage d’être gratuit.
A partir du moment où vous pensez à faire “plus” :
- abonnement à une newsletter
- vente simple d’un produit
- intégration avec un gestionnaire de mailing comme Aweber ou MailChimp
- formulaires complexes, éventuellement basés sur des valeurs présentes dans ces champs personnalisés
- animer votre site avec des sondages ou des quizz
- permettre à vos visiteurs de vous soumettre des contenus en front-end, sans obligatoirement être enregistrés
ou si vous êtes une agence, et que vous seriez content de pouvoir exporter des formulaires standards réalisés une fois pour toute, alors GravityForms est pour vous !
(Les nounours qui personnalisent les trois plugins – et je vous ai évité des chats ! – sont une photo sous licence CC BY SA de thepeachpeddler)
Bonjour Marie-Aude,
Merci pour cette présentation.
Mais est-ce que le code qui est généré n’est pas trop lourd ?
Bonjour
Non en tout cas pour GravityForms, d’ailleurs vous pouvez voir vous même le code de ma page de contact (lien en haut à droite dans le menu)
Merci Marie-Aude pour votre réponse.
Pour ma part j’utilise un autre plugin de contact qui me convient car il permet de faire bien plus qu’un simple formulaire de contact, mais la seule chose qu’il ne sait pas encore géré c’est des formulaire pour les sondages. Du coup je suis à la recherche d’un plugin qui permet la création de sondage avec des questions et réponses multiples
Il s’agit de Contact Manager (https://wordpress.org/plugins/contact-manager/)
Bonjour Rama, je peux difficilement vous aider, puisque j’utilise celui de Gravity Forms, mais cela ne vaut pas le coup d’acheter GF juste pour ça. J’avais vu contact manager, il est pas mal du tout aussi
Bon, je n’ai pas tout lu le comparatif mais il est à remarquer que Contact Form 7 a des sous-plugins qui permet de le compléter genre pour les dates https://wordpress.org/plugins/contact-form-7-datepicker/
D’un autre côté, les gens qui ont besoin d’un plugin de contact hyper complet travaillent sur des sites pro et peuvent donc songer à investir. Je remarque que tu ne dis rien sur CForms II qui a été longtemps la référence des formulaires de contact sous WP.
Pour les plugins de CF7, j’ai regardé ceux que je trouvais en cherchant avec le nom dans le repository, je n’ai pas tout trouvé manifestement. cela dit, le champ “date” est marqué comme dispo
CForms II est introuvable sur le repository, donc…
(PS finit de lire ! mauvais élève !!)
J’ai longtemps utilisé CForms II, mais il n’est plus mis à jour depuis longtemps, et m’a causé souvent des problèmes (fichier script qu’il ne trouvais pas) depuis je suis passé à Contact form7, qui est un peu rebutant au départ. Mais j’ai fini par m’y faire et il permet de personnaliser beaucoup de choses…. Je me sert de Datepicker, indispensable si l’on met un champ date.
Ce que j’aimerai dans Contact form 7 c’est pouvoir localiser l’IP, mais je suis gourmand !
Oui je l’ai utilisé aussi pendant longtemps, abandonné pour les mêmes raisons…
Bonjour, je ne comprends pas pourquoi on ne parle jamais de formidable pro ? Ayant testé moi-même Gravity Forms et Contact Forms, je dois avouer que j’ai craqué pour cette extension. Personnalisation facile et vraiment complète niveau design, des champs tout aussi complexes que Gravity Forms et énormément d’extensions, toutes très utiles, comme l’inscription, le paiement d’un formulaire via paypal et j’en passe (vraiment). Je l’utilise actuellement sur mon site, je n’ai pas été payé pour en faire la promotion, mais il en est “l’algorithme” principal on peut dire… (recherche, envois d’articles avec design perso à la sortie (qui m’a fait l’adorer), inscription, connexion…)
Le support et la documentation sont aussi très présents sur le site en cas de nécessité.
Merci de votre réponse
Sans doute qu’on n’en parle jamais parce qu’ils sont moins bons pour leur marketing, donc moins utilisés, donc etc etc… Qu’ils sont plus récents que Gravity Forms.
Que même si ils sont sur le repository https://wordpress.org/plugins/formidable/ ils ne sortent pas bien quand on cherche “contact form” parce qu’ils ont fait l’erreur de ne pas s’appeler Form idable par exemple :)
Mais merci pour l’info, j’irai voir ! (Est ce qu’ils sont compatibles WPML ?)
Oui, quand on achète la version pro, un add-on est dispo pour WPML . Il est vraiment très flexible comme plugin, à découvrir et à redécouvrir. Il est vrai que j’avais peiné à le trouver, mais j’avais vraiment besoin que lorsqu’une personne envoie un formulaire, celui-ci se change en article instantanément, avec un design personnalisé pour chaque champ à la sortie. Formidable pro est un petit bonheur pour ça !
J’essayais avec d’autres plugins, et c’était bien plus compliqué, on m’avait même dit qu’il me faudrait un vrai programmeur pour accomplir ce travail pour les articles au contenu personnalisé. Là, c’est très simple en HTML. Il m’est rare de remercier publiquement des développeurs, mais un grand merci aux équipes de formidable. Je l’avais fait précédemment pour le plugin UserPro (sur codecanyon), qui offre un super espace membre, du type profil Twitter avec les articles de la personne en question juste en-dessous, alors que je me prenais la tête avec Buddypress.
Si on cherche bien, on trouve donc des petits bijoux de plugins WP qui permettent de se démarquer hautement des autres sites, aussi bien pour un petit blog que pour un grand site communautaire. Vous l’avez compris, je ne suis pas prêt de lâcher ce puissant CMS !
Bonne soirée
Tiens, et tant que j’y suis, je vois ton avatar depuis un certains temps et je me demandais si le travail de mon père pouvait bien t’intéresser. en est un bon aperçu, clique sur les vignettes pour voir la série d’image.
Bonjour Marie-Aude,
Je me permets de vous poser une question, simple pour vous je pense ! Je seche sur gravityforms ! J’ voudrais récupérer des variables sur un formulaire classique (nom, prenom, adresse, ville… pour un tag de conversion doubleclick et ne n’arrive pas à identifier ces variables gravityforms !
…type=validat;cat=valid;u1=(codepostal];u2=[Ville];u3=[ID Client];u4=[Type Formulaire];u5=[Type Construction];ord=’ + a + ‘?” width=”1″ height=”1″ frameborder=”0″ style=”display:none”>’);
Vous pouvez m’aider ?
Juste un petit avis sur Gravity Form après l’avoir utilisé pendant un an.
Les formulaires basiques sont très faciles à réaliser mais attention, dès qu’on fait des formulaires avec des exigences un peu particulières (multi-page, enregistrement partiel, email unique) on se retrouve vite face à des bug non fixés du côté des Add-On premium de Gravity Form.
Vu la taille de l’outil on pouvait s’y attendre, le vrai problème est alors le support qui se contente de vous rediriger sur des tutoriels sans jamais prendre en compte un problème spécifique. J’avoue que je m’attendais à un support bien meilleur vu le prix de l’abonnement du support.