Introduction
L’objectif était de créer un plugin permettant de générer des formulaires. Historiquement, 2 plugins avaient déjà été développés précédemment pour remplir cette fonction :
- Forms &Tables, qui n’a pas été complètement porté pour SPIP 2.
- et spip-formulaire créé par artego mais qui n’est plus maintenu.
La question s’est donc posée : construire sur la base d’un des deux plugins ou repartir de zéro ?
Form &Table, très complet pour les utilisateurs, présentait l’inconvénient d’avoir un côté « fourre-tout » qui le rendait difficilement modifiable et difficile à personnaliser par les développeurs.
Il a finalement été décidé de repartir de zéro pour proposer quelque chose :
- de plus facile à utiliser pour les utilisateurs d’une part,
- mais aussi de plus facile à personnaliser pour les développeurs. Avec le parti pris de se baser de préférence sur plusieurs petits plugins spécialisés et de tirer parti de la nouvelle norme CVT.
Installation
Le plugin nécessite les plugins suivants :
- Bonux : télécharger
- Saisies : télécharger
- Vérifier : télécharger
- YAML : télécharger
- Facteur : télécharger
Il faut installer le plugin jQuery UI pour pouvoir déplacer les champs à la souris pendant la création d’un formulaire.
Interface utilisateur
L’utilisation basique de l’interface est abordée dans ce screencast : Mon premier formulaire pas à pas : c’est Formidable !
Appeler mon formulaire
Vous devez appeler le formulaire ayant le nom « formidable », en lui passant en paramètre l’identifiant de votre formulaire.
Dans un contenu
Utilisez le modèle <formulaire> classique : <formulaire|formidable|id=34> ou bien <formulaire|formidable|id=contact>
Dans un squelette
#FORMULAIRE_FORMIDABLE{34} ou bien #FORMULAIRE_FORMIDABLE{contact}
Pré-remplir dynamiquement les champs d’un formulaire depuis un squelette
À noter que dans un squelette, vous avez la possibilité de surcharger dans l’appel, les valeurs par défaut des champs de votre formulaire. Pour cela, vous devez passer un tableau de nom=>valeur en deuxième paramètre. Vous pourrez trouver les noms de vos champs dans l’aide-mémoire situé sur la page de configuration des traitements.
Le tableau en deuxième paramètre :
#FORMULAIRE_FORMIDABLE{contact, #ARRAY{nom_du_champ, Ma valeur}}C’est particulièrement utile pour remplir un champ caché avec une valeur dynamique venant du squelette :
#FORMULAIRE_FORMIDABLE{contact, #ARRAY{hidden_1, #ID_DOCUMENT}}Champs oui-non et case unique
Pour rendre obligatoire la réponse « oui » à un champ de type oui-non ou case unique (pour la validation de conditions d’utilisation par exemple), il faut simplement rendre le champ obligatoire.
Courriels de notification
Une option des traitements proposés permet d’envoyer un mail de notification automatiquement, à chaque saisie d’un formulaire.
Le squelette par défaut employé pour la mise en forme de ces mails est plugins/formidable/notifications/formulaire_email.html. Vous pouvez le copier dans le répertoire ’notifications’ de votre squelette et l’y modifier à votre guise. Cette modification vaudra pour tous les formulaires.
Pour utiliser un squelette spécifique pour les mails de notification de l’un seulement des formulaires définis avec Formidable, il suffit d’ajouter son squelette dans le répertoire ’notifications’ de votre dossier squelettes, mais en ajoutant l’identifiant.
IDENTIFIANT étant l’identifiant du formulaire défini dans Formidable, les squelettes doivent se nommer :
formulaire_IDENTIFIANT_email.html pour le mail aux destinataires
formulaire_IDENTIFIANT_accuse.html pour l’accusé de réception du visiteur
Voir aussi sur le wiki
todoFormidable | Formidable, présentation aux Grottes (2010)



Télécharger Formidable
Vos commentaires
# Le 7 février à 16:53, par jose
En réponse à : Formidable, le générateur de formulaires
Salut,
Bravo et merci pour cette contrib. Il est super bien fait et très efficace.
Existe-t-il un moyen pour récupérer les infos du formulaire en csv.
J’ai fait un formulaire d’inscription pour des stages. Et ce que je récupère, je voudrais pouvoir exploiter les infos sans avoir à les retaper. Car je dois générer des conventions sur la base des inscriptions.
Peut-être dois-je passer par un autre plugin. Le quel ?
Cordialement
# Le 7 février à 18:47, par RastaPopoulos
En réponse à : Formidable, le générateur de formulaires
Ben non, faut sélectionner le traitement d’enregistrement en base, et quand tu vas voir les réponses, tu as un bouton « Exporter les réponses » dans la colonne. :)
Répondre à ce message
# Le 1er février à 21:36, par Thomas O
En réponse à : Formidable, le générateur de formulaires
Bonjour,
En voulant faire un premier test de ce plugins de formulaire qui me semble plein de promesse, j’ai eu ce message d’erreur :
La version de mon plugin verifier est : 0.1.12
Et pour formidable la : 0.6.5
Je suis sous SPIP SPIP 2.1.12
Auriez vous une idée de comment je pourrais résoudre ce problème ?
Cordialement,
Thomas.
# Le 1er février à 21:59, par RastaPopoulos
En réponse à : Formidable, le générateur de formulaires
Je n’ai pas d’erreur de la sorte lorsque je vérifie la syntaxe de ce fichier PHP. Quelle est le contenu de ta ligne 16 ? Et quelle version de PHP ?
# Le 3 février à 10:40, par Thomas O
En réponse à : Formidable, le générateur de formulaires
C’est nickel. Merci pour ton aide précieuse, la question sur la version de php m’a aiguillé sur des problèmes courant avec les sites hébergés sous free.
J’ai ajouté un .htaccess à la racine avec
<ifDefine Free>PHP
</ifDefine>
Et voilà ça fonctionne. Deux cerveaux valent mieux qu’un. :)
Encore merci.
Cordialement,
Thomas.
# Le 4 février à 23:42, par Jean
En réponse à : Formidable, le générateur de formulaires
Bonjour
Tout d’abord je ne suis qu’un pauvre bidouilleur, incapable d’écrire ou de comprendre la moindre ligne de code .
Je fais des essais de « Formidable » dans un site hébergé par Free,et j’ai le même message d’erreur que celui que vous signaliez le 1er Février .
j’ai lu les messages suivants, j’ai un peu fouillé ailleurs, j’ai pris mon courage à deux mains et :
j’ai recopié le bout de code que vous donnez plus haut, dans le bloc note, je l’ai enregistré en « truc.htaccess », que j’ai transféré à la racine de mon site et là je l’ai renommé en .htaccess.
Quand je veux visiter ce site, Free me renvoie : Erreur 500 - Erreur interne du serveur
Si quelqu’un peut quelque chose (de simple) pour moi merci
Jean
# Le 5 février à 10:31, par gilcot
En réponse à : Formidable, le générateur de formulaires
Une erreur interne est une erreur du serveur web (ici Apache). Ce type d’erreur n’est pas critique (puisque le serveur continue de tourner et averti le navigateur qu’une erreur a àté rencontrée) mais bloquante pour le domaine (car le serveur web ne peut pas honorer les requêtes et servir les pages) ; c’est typiquement le cas avec certaines erreurs dans le fichier de configuration...
Peux-tu poster ici le contenu de ton .htaccess ici afin qu’on voit où se situe le problème ?
# Le 5 février à 11:15, par RastaPopoulos
En réponse à : Formidable, le générateur de formulaires
Il faut PHP 5 pour utiliser ce plugin. Je crois d’ailleurs qu’il manque ce chiffre dans le code de Thomas. Et ya pas besoin du « if define » si tu sais déjà que t’es sûr Free. Faut juste ajouter « PHP 5 » dans le fichier, me semble-t-il.
# Le 5 février à 14:23, par jean
En réponse à : Formidable, le générateur de formulaires
Le « pauvre bidouilleur » vous dit Merci
On dirait que ça marche,
J’ai donc rajouté un « 5 » comme conseillé mais je n’ai pas touché au reste, je me connecte et j’ai fait une première tentative de formulaire qui semble marcher (pas le message d’erreur initial.
Merci encore à tous
Jean
Répondre à ce message
# Le 30 janvier à 17:56, par MaxCSA
En réponse à : Formidable, le générateur de formulaires
Encore bonjour !
En ce moment tout fonctionne, sauf que l’icône pour déplacer les éléments du formulaire n’apparaissent pas lorsque je modifie un formulaire. Quand je passe au dessus d’un élément du formulaire, il y a seulement les icône pour (1)configurer, (2)dupliquer et (3)supprimer qui apparaissent.
Donc y a-t-il une raison pourquoi l’icône pour déplacer n’apparait pas ? On voit pourtant cet icône dans le vidéo.
Merci à l’avance de votre aide.
P.S. : Mes plugins sont à jour, donc ce n’est pas le problème cette fois-ci :P
# Le 30 janvier à 20:18, par RastaPopoulos
En réponse à : Formidable, le générateur de formulaires
C’est marqué dans la doc juste au-dessus de ce forum, chapitre « Installation » :
# Le 30 janvier à 21:20, par MaxCSA
En réponse à : Formidable, le générateur de formulaires
... et moi qui croyait avoir tout lu correctement... désolé pour le dérangement.
Répondre à ce message
# Le 25 janvier à 18:03, par MaxCSA
En réponse à : Formidable, le générateur de formulaires
Bonjour,
est-ce que cette erreur vous dit quelque chose :
[Wed Jan 25 11:57:09 2012] [error] PHP Fatal error : Cannot redeclare balise_CONFIG() (previously declared in /var/www/html/spip/plugins/spip-bonux/configurer/pipelines.php:297) in /var/www/html/spip/plugins/cfg/cfg_fonctions.php on line 28, referer : http://blabla.com/ecrire/?exec=formulaires_editer&id_formulaire=1&configurer=champs
Cela se produit lorsque j’essaie de faire n’importe quoi à l’étape « Configurer les champs ». Pourtant, l’ajout du champs se fait quand même si je vais dans « configurer le formulaire » et que je reviens dans « Configurer les champs ».
Merci pour votre aide
# Le 25 janvier à 18:05, par RastaPopoulos
En réponse à : Formidable, le générateur de formulaires
Comme le dit le copier coller : il s’agit du plugin Bonux et du plugin CFG.
Sûrement que tes versions ne sont pas à jour car ce conflit est résolu depuis longtemps normalement. :)
# Le 30 janvier à 17:52, par MaxCSA
En réponse à : Formidable, le générateur de formulaires
Bonjour,
J’ai mis mes plugins à jour et tout fonctionne :)
Merci beaucoup !
Répondre à ce message
# Le 27 janvier à 06:17, par benoloas
En réponse à : Formidable, le générateur de formulaires
Se pourrait-il qu’il y ait un problème sur ce plugin Formidable qui porte bien son nom ?
Après installation de JQuery Ui (dont j’ai coché TOUTES les fonctions sous SPIP 2.1.12), j’ai toujours cette même impossibilité de modifier l’ordre des champs d’un formulaire... Cela pourrait-il venir du plugin ?
# Le 27 janvier à 07:56, par RastaPopoulos
En réponse à : Formidable, le générateur de formulaires
Et il n’y a même pas à cocher les cases normalement (elles concernent l’insertion en partie publique). Le truc c’est que... chez-moi-ça-marche©.
Répondre à ce message
# Le 26 janvier à 21:48, par guidoune
En réponse à : Formidable, le générateur de formulaires
Bonjour,
Je rencontre un probléme depuis tout a l’heure avec le plugin lorsque je remplis et valide le formulaire j’ai ce message :
Une erreur est survenue lors de l’envoi du courriel.
et en haut de la page à gauche :Could not instantiate mail function.
J’ai vérifié l’email d’envoie du formulaire mais tout semble bon. Lorsque je récrée un formulaire du début toujours le même problème.
Dois-je réinstaller le plug in avez vous rencontrer ce problème ?
# Le 26 janvier à 22:20, par guidoune
En réponse à : Formidable, le générateur de formulaires
j’ajoute que je test le plugin depuis hier et tout fonctionnait trés bien, je recevais bien les mails.
# Le 26 janvier à 23:12, par RastaPopoulos
En réponse à : Formidable, le générateur de formulaires
Un problème avec le plugin Facteur ou sa configuration ?
# Le 26 janvier à 23:24, par guidoune
En réponse à : Formidable, le générateur de formulaires
J’ai réinstallé le plugin facteur dans la configuration je coche :Utiliser la fonction mail de PHP
Lorsque je fait testé la configuration le facteur m’envoie bien un mail mais lorsque j’essaye avec mon formulaire du plugin j’ai toujours la même erreur.
# Le 27 janvier à 00:27, par guidoune
En réponse à : Formidable, le générateur de formulaires
Il y a du changement. Voici ce que j’ai fais :
J’ai ajouté un champ destinataire au formulaire, j’ai sélectionné l’adresse du webmaster (la mienne) et cela fonctionne. Au début j’avais mis dans la configuration des traitements :
- dans le champ Destinaire : aucun
- puis dans le champ Destinataire supplémentaire : mon adresse email
C’est de là que venait le problème je pense bien que cela fonctionnait au début.
Voilà, j’explique tout cela au cas ou quelqu’un ferait la même erreur que moi.
# Le 27 janvier à 07:54, par RastaPopoulos
En réponse à : Formidable, le générateur de formulaires
Il doit y avoir un problème quelque part car il est évidemment possible normalement de mettre n’importe quel adresse dans « destinataires supplémentaires ».
Répondre à ce message
# Le 24 janvier à 09:55, par fredptigars
En réponse à : Formidable, le générateur de formulaires
Bonjour,
J’ai voulu essayer ce plugins, mais je rencontre un problème lorsque je vais (dans l’espace privé) sur la page édition->formulaire, j’ai le message d’erreur suivant :
Erreur SQL 1146La table 'spip.spip_formulaires' n'existe pas
SELECT '', formulaires.id_formulaire, formulaires.titre, formulaires.identifiant FROM spip_formulaires AS `formulaires` ORDER BY formulaires.titre
J’ai installé tous les plugins nécessaire,
SPIP 2.1.12
Formidable : 0.6.5
J’ai remarqué que la table spip_formulaire n’existe pas en base !
Merci de votre aide.
# Le 24 janvier à 10:54, par RastaPopoulos
En réponse à : Formidable, le générateur de formulaires
Il y a forcément une erreur SQL durant l’installation. Hier soir j’ai modifié un truc dans la table, alors j’ai dû faire une bêtise, mais quoi ? :)
Il faut aller voir dans les logs,
tmp/sql.logetc, pour trouver l’erreur qu’il y a eu durant l’installation.# Le 24 janvier à 11:10, par RastaPopoulos
En réponse à : Formidable, le générateur de formulaires
Corrigé par http://zone.spip.org/trac/spip-zone/changeset/57654.
Donc immédiatement disponible par SVN, sinon faut attendre une heure que le prochain paquet ZIP soit généré à midi.
Merci ! :)
# Le 25 janvier à 08:00, par ?
En réponse à : Formidable, le générateur de formulaires
C’est OK ça marche !
merci
# Le 25 janvier à 23:35, par guidoune
En réponse à : Formidable, le générateur de formulaires
Bonjour,
J’ai ce problème aussi, j’ai téléchargé le zip sur cette page aujourd’hui.
Voilà ce qui s’affiche lorsque je crée mon formulaire :
Erreur SQL 1146
Table ’franc10856.spip_formulaires’ doesn’t exist
SELECT id_formulaire FROM spip_formulaires WHERE identifiant = ’grgg and id_formulaire != 0’
franc10856 étant le nom de ma base sql.
Je dois bien télécharger le plugin sur cette page ? Merci.
# Le 25 janvier à 23:40, par RastaPopoulos
En réponse à : Formidable, le générateur de formulaires
Pourtant la version d’aujourd’hui installe bien la table spip_formulaires, normalement.
# Le 25 janvier à 23:46, par guidoune
En réponse à : Formidable, le générateur de formulaires
Merci pour cette réponse rapide :) je vais réinstaller le plugin et réessayer.
# Le 25 janvier à 23:56, par guidoune
En réponse à : Formidable, le générateur de formulaires
Je viens de réinstaller le plugin via l’interface ajouter un plugin de l’interface privé cette fois et je n’ai plus ce message d’erreur. ;) merci et désolé pour le dérangement.
# Le 26 janvier à 01:56, par guidoune
En réponse à : Formidable, le générateur de formulaires
Super plugin qui me sauve la vie, Bravo pour ce travail ! j’imagine pas le boulot qu’il doit avoir la dessous ça doit être énorme. Mille merci en tout cas.
Répondre à ce message
# Le 26 janvier à 00:31, par ?
En réponse à : Formidable, le générateur de formulaires
5 plugins pour faire marcher un formulaire... c’est une usine à gaz...
merci quand même à celles et ceux qui se donnent la peine, mais des fois on a tendance à être trop éxigeants...
# Le 26 janvier à 01:14, par RastaPopoulos
En réponse à : Formidable, le générateur de formulaires
On va dire que je vais répondre sérieusement, pour le fun.
Il est très facile de tout coder en un seul gros plugin fourre-tout. C’est justement ça l’usine à gaz.
Sauf que je fais du logiciel libre. Et ce n’est pas juste livrer son code, c’est aussi et avant tout partager et collaborer avec les autres. Il se trouve que la majorité des morceaux utiles à la réalisation de ce plugin pouvaient, peuvent, et pourront être utiles à d’autres plugins. Il existe donc une multitude de plugins « outils pour développeurs » qui permettent de partager des choses utiles et qui marchent : c’est ça la collaboration et le partage. Et ce n’est pas un vœu pieux : le plugin Facteur, le plugin Saisies et d’autres, sont d’ors et déjà utilisés par moult autres projets.
La liste complète est ici : http://plugins.spip.net/spip.php?page=plugins&categorie=outil
Il est fini le temps des usines à gaz. Vive le temps des modules unitaires qui interagissent. Faire une tâche mais la faire bien. Et pouvoir se combiner avec d’autres.
Répondre à ce message
# Le 25 janvier à 12:46, par Fennec72
En réponse à : Formidable, le générateur de formulaires
2 questions :
1) est-il possible de générer et mettre à jour automatiquement des graphiques (histogramme ou camembert) ?
- En liaison avec le plugin jpGraph ?
- Avec une ou des boucles spip ?
2) une adaptation du plugin Formidable pour le future spip 3 est-ele prévue ?
Merci d’avance
# Le 25 janvier à 13:00, par RastaPopoulos
En réponse à : Formidable, le générateur de formulaires
<table>HTML. Comme ça ceux qui n’ont pas Javascript ont l’information sous forme de tableau très lisible. Et ceux qui ont javascript ont un joli graphique. Il me semble qu’il y a des librairies qui font ce genre de choses.Répondre à ce message
# Le 25 janvier à 00:28, par sebastien
En réponse à : Formidable, le générateur de formulaires
Bonjour,
Est il possible de mettre une pièce jointe avec ce plugin ?
Merci pour le plugin il est vraiment génial.
# Le 25 janvier à 11:16, par RastaPopoulos
En réponse à : Formidable, le générateur de formulaires
Il n’y a malheureusement pas pour l’instant de champ de type « fichier ». C’est dans la liste des choses à faire depuis le début, mais je n’ai jamais eu le temps de coder ça de manière vraiment propre.
Mais ça va peut-être se faire bientôt. :)
# Le 25 janvier à 11:50, par sebastien
En réponse à : Formidable, le générateur de formulaires
Ok merci pour la réponse, et encore merci pour le plugin.
Bonne continuation.
Répondre à ce message