SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

289 Plugins, 197 contribs sur SPIP-Zone, 96 visiteurs en ce moment

Accueil > Interactivité, échanges > Formulaires > Formidable > Formidable, le générateur de formulaires

Formidable, le générateur de formulaires

23 janvier 2012 – par RastaPopoulos – 2445 commentaires

178 votes

Un générateur de formulaires facilement configurable pour les non-informaticiens et facilement extensible pour les développeurs.

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 :

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}

Afficher les résultats du formulaire

Dans un contenu
Utilisez le modèle <formulaire_analyse|id_formulaire=34>

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

Conservation des IP

Les adresse IP des personnes répondant aux formulaires sont stockées en base de donnée. Depuis la version 1.5 (SPIP 3) / 0.7 (SPIP < 3), elle sont automatiquement hashé, de manière à ce que l’IP ne soit plus reconnaissable, au bout de 124 jours (environ 4 mois).

Pour changer ce délai, vous pouvez redéfinir la constante _CNIL_PERIODE dans votre fichier mes_options.php.

Par exemple :

  1. define('_CNIL_PERIODE', 24*3600);

permet de hasher les IP toutes les 24 heures.

Si vous voulez désactiver le hashage, mettez la valeur à 0.

Envoi de fichiers

Lire l’article complémentaire : Envoyer des fichiers avec un formulaire Formidable.

Voir aussi sur le wiki

-  Complément de doc et exemples sur les boucles et balises de formidable
-  Exemples de stylage CSS d’un formulaire Formidable
-  todoFormidable
-  Formidable, présentation aux Grottes (2010)

Voir en ligne : http://plugins.spip.net/formidable

Dernière modification de cette page le 8 février 2018

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 9 juin à 23:28, par RealET En réponse à : Formidable, le générateur de formulaires

    Bonjour,

    Avec la mise à jour vers la version actuelle, j’ai eu sur 2 sites en SPIP 3.1.8 SVN :

    Erreur SQL 1054
    Unknown column ’resume_reponse’ in ’field list’
    SELECT id_formulaire, traitements, resume_reponse FROM spip_formulaires
    /var/www/_mutualisation_31/www/plugins/formidable/formidable_administrations.php formidable_migrer_resume_reponse() sql_select() ; 218

    • Le 10 juin à 13:59, par Maïeul En réponse à : Formidable, le générateur de formulaires

      bizarre, tu devais avoir une version de la base pas correct avant la maj...

      a priori pas hyper grave, puisque le but de la fonction était justement de recuperer le contenu de la colonne pour la mettre ailleurs.

    • Le 15 juin à 11:20, par Maïeul En réponse à : Formidable, le générateur de formulaires

      Je repense à ce truc. C’est quand même hyper bizarre. tu aurais par hasard un dump de la base avant la mise à jour ?

    Répondre à ce message

  • Le 13 juin à 17:06, par katmandou En réponse à : Formidable, le générateur de formulaires

    Je teste ce générateur de formulaire, et il m’a l’air très bien, sauf qu’il me manque des champs importants, la possibilité de saisir des coordonnées gps, et surtout d’afficher des cartes (google map ou open street) avec ses coordonnées et des infos sous forme de bulles sur la carte.
    Des idées pour pouvoir le faire ?
    Merci de votre travail partagé à la communauté.

    Répondre à ce message

  • Le 9 juin à 22:35, par beno En réponse à : Formidable, le générateur de formulaires

    Bonjour,

    Existe-t-il une « formule » pour forcer le remplissage d’une date ultérieure au jour présent ?
    Si on a 2 dates (typiquement arrivée / départ), comment peut-on forcer la date de départ à être ultérieure à la date d’arrivée ?
    Merci pour votre aide.

    • Le 12 juin à 13:07, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Non, à part en ajoutant du javascript soi-même. Je crois me souvenir que la lib qui gère le sélecteur de date le permet peut-être, mais ce n’est qu’un vague souvenir (faut vérifier dans le fichier dans le noyau de SPIP), mais dans les Saisies, c’est pas prévu. Si la lib du noyau le permet, ça pourrait être ajouté.

    • Le 12 juin à 13:09, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Non en fait je ne vois rien en ce sens dans « inc-dateur »…

    • Le 12 juin à 15:22, par beno En réponse à : Formidable, le générateur de formulaires

      Bonjour RastaPopoulos,

      Merci pour ta réponse rapide. Bon, dommage (car je pense qu’il y a utilité pour de nombreux cas), mais on attendra que ce soit intégré, prochainement j’espère ;-)

    Répondre à ce message

  • Le 4 juin à 23:17, par RealET En réponse à : Formidable, le générateur de formulaires

    Bonjour,

    J’ai un formulaire un peu complexe créé sous SPIP 3.1.

    J’ai mis à jour en SPIP 3.2.1 SVN + tous les plugins en version SVN aussi.

    J’ai voulu tester la v2 de Yaml et je suis tombé sur plusieurs bug, dont un qui semble vraiment propre à formidable/saisie puisqu’il se produit avec les v1 de Yaml.

    Donc, sur http://dl.free.fr/h3Y8EY0Ss il y a un zip avec dedans formulaire-contact_default.yaml

    À l’importation dans formidable (PHP 7.0.30 sous Windows), j’ai l’erreur suivante : Unable to parse string : Unable to parse line 1 ( id_formulaire : ’2’).

    Une idée ? Une solution ?

    Répondre à ce message

  • Le 11 mai à 23:41, par christophe En réponse à : Formidable, le générateur de formulaires

    Bonjour,

    Je rencontre un bug php avec le formulaire, uniquement avec les cases à cocher.
    J’ai créé un formulaire avec de multiples champs (radio, case à cocher, bloc de texte, texte, liste déroulante), mais à la validation du formulaire il retourne toujours le message suivant et ne formate jamais le sujet du message envoyé par mal à l’aide des raccourcis.

    Warning : Illegal offset type in isset or empty in (...)/plugins/auto/formidable/v3.7.2/traiter/email.php on line 124

    Warning : Cannot modify header information - headers already sent by (output started at (...)/plugins/auto/formidable/v3.7.2/traiter/email.php:124) in (...)/ecrire/public/evaluer_page.php(51) : eval()’d code on line 20

    J’ai masqué l’adresse de mon site.

    J’ai remarqué en procédant par élimination que si je supprimais mes cases à cocher je n’avais plus ni ce message ni de problème de formatage du sujet du message.

    Je tourne sous php 5.4.45 avec la version 3.7.2 SVN [109790] de formidable.

    Une idée ? J’aimerai bien utiliser les cases à cocher, mais je n’ai pas de compétence en php pour débugguer.

    Merci !

    • Le 12 mai à 10:13, par Maïeul En réponse à : Formidable, le générateur de formulaires

      Bonjour,

      c’est un warning, qui normalement ne devrait pas s’afficher sur un site en production, car il s’agit d’un niveau bas d’erreur. Il faudrait voir avec l’hébergeur à ne pas les afficher.

      Cela étant, si tu as de telles notices, c’est qu’il y a un problème dans le code. Problème qu’on peut à priori résoudre.
      Peux tu
      1. Faire la mise à jour de formidable vers la toute dernière version, pour qu’on sache si on a toujours ce problème.
      2. M’envoyer (monprenom@monprenom.net, sans le trema) un export yaml du formulaire qui pose problème que je puis reproduire ton bug en local.

    • Le 23 mai à 16:45, par Sandrine En réponse à : Formidable, le générateur de formulaires

      Hello

      Je rencontre le même souci (affichage du warning comme décrit plus haut).
      Ce que j’ai pu observer, c’est que le warning apparaît lorsque le formulaire contient des cases à cocher ET qu’au moins une case est cochée.

      J’ai testé sur 2 configs :

      • SPIP 3.1.6 et formidable 3.10.0
      • SPIP 3.1.7 et formidable 3.7.2

      Bonne journée !
      Sandrine

    • Le 23 mai à 17:26, par Maïeul En réponse à : Formidable, le générateur de formulaires

      A oui, je comprend. La version 3.10.2 corrige cela.
      Elle sera disponible bientôt.

      Dans le cas de case à cocher, j’ai décidé de séparer les différentes valeurs par une virgule.

    Répondre à ce message

  • Le 21 mai à 11:03, par JLG En réponse à : Formidable, le générateur de formulaires

    Bonjour,
    Je rencontre un problème avec mon formulaire Formidable.
    Il est fonctionnel sur l’article dans la partie privé du site mais il n’apparait pas dans l’article quand je le publie.
    Il est inséré dans un article comme ceci :

    Je ne comprends pas car j’ai procédé de la même manière il y a quelques mois et je n’ai pas rencontré de problème :
    http://parlemtv.fr/?Inscription-au-prochain-atelier-video-de-Parlem-TV
    Depuis j’ai fait une mise à jour de quelques plugins... Le site tourne avec SPIP 3.0.24
    Merci
    Jluc

    • Le 21 mai à 11:37, par Maïeul En réponse à : Formidable, le générateur de formulaires

      je vois bien le formulaire ....

    • Le 21 mai à 11:55, par JLG En réponse à : Formidable, le générateur de formulaires

      En fait j’avais oublié de publier le formulaire en ligne. Par contre j’ai un problème d’affichage.
      Dans la partie conception, et dans l’article visionné dans l’interface privée, mes phrases explicitant les choix sont bien placées à droite par contre dans l’article publique celles-ci sont à gauche et cela crée une surcharge...
      http://parlemtv.fr/?Participez-a-l-aventure-Passeurs-d-images

    • Le 21 mai à 12:00, par Maïeul En réponse à : Formidable, le générateur de formulaires

      ce sont des problèmes de css, pas lié directement au plugin en tant que tel, qui ne s’occupe pas de cet aspect.

      Je n’ai pas compris ce que vous voulez dire par « mes phrases explicitant les choix sont bien placées à droite par contre dans l’article publique celles-ci sont à gauche et cela crée une surcharge ». Je vous suggère de demander de l’aide sur une la liste des utilisateur/trices de SPIP, où des gens pourront vous aider à adapter votre fichier perso.css

    Répondre à ce message

  • Le 16 mai à 10:33, par Axel En réponse à : Formidable, le générateur de formulaires

    Bonjour,

    Quelqu’un pourrait-il m’expliquer étape par étape comment faire pour que formidable soit bien pris en compte par nospam ainsi que comment y inclure un captcha s’il vous plait ?

    Le problème en l’état actuel des choses c’est que pour ce plugin je ne vois ni ou est la partie traitement du formulaire ni comment la modifier pour qu’elle prenne en compte nospam ou un captcha. à mes yeux le captcha reste tout de même une méthode valide et efficace pour protéger son formulaire contre les spams, je vous serai donc reconnaissant de m’expliquer si possible d’une part son inclusion dans le plugin formidable ainsi que l’inclusion de la partie traitement serveur (le nom du fichier à modifier, la fonction à modifier et le contenu à y inclure).

    Je vous en remercie d’avance, cela fait plus d’une semaine que je me casse la tête sur ces spams et je ne vois vraiment pas quelle serait la solution ici pour que formidable prenne en compte un captcha et / ou nospam.

    Bien cordialement,

    Axel.

    Répondre à ce message

  • Le 11 mai à 12:54, par Ludo En réponse à : Formidable, le générateur de formulaires

    Bonjour, super plugin, merci.
    Je souhaiterais personnaliser le contenu de l’email de l’accusé de réception. J’entends une personnalisation propre à l’email et non au message de réponse affiché sur le site.
    C’est possible directement dans le fichier formulaire_accuse.html personnalisé sans avoir à bidouiller dans le plugin même ?

    • Le 11 mai à 15:00, par Ludo En réponse à : Formidable, le générateur de formulaires

      Je me réponds à moi-même. C’est déjà le cas ! Le template formulaire_accuse.html est bien le template de l’email. Je me trompé car il y avait une erreur dans le champs de destinataire de la confirmation et j’ai confondu avec le message envoyé en copie lors de la validation du formulaire.
      Merci encore pour ce superbe plugin.

    • Le 11 mai à 15:32, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Super, c’est parfait :)

      Et au passage tout est expliqué là dans la doc plus haut pour les emails.

      Et comme expliqué, tu peux aussi personnaliser un template *par formulaire*, avec un squelette qui ajoute aussi l’identifiant textuel dans le nom du fichier.

    Répondre à ce message

  • Le 26 avril à 16:21, par Filipe En réponse à : Formidable, le générateur de formulaires

    Bonjour, j’ai un problème de mis en place de formulaire avec Formidable. Je réussi bel et bien construire le formulaire, lui faire appel sur un article. Mais juste après le remplir et envoyer les réponses, il y a un message d’erreur et les questions apparaissent dans le système toutes sans réponses. Comment faire pour corriger ce problème ?

    Amicalement

    Répondre à ce message

  • Le 30 avril à 15:06, par conil26 En réponse à : Formidable, le générateur de formulaires

    Mise en page

    J’ai créé tous les champs mais la mise en page dans mon article est très moche.
    Sur quelle page dois-je intervenir ?
    https://www.essaillon-sederon.net/?Cotisation-ou-don-par-virement

    Merci

    • Le 30 avril à 15:15, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Bah dans le thème de ton site, tes CSS, le plugin ne s’occupe que de l’aspect fonctionnel. Et d’ailleurs aucun rapport avec les formulaires de ce plugin en particulier, c’est « les formulaires » en général qui doivent être stylés correctement pour ton site public, n’importe quel formulaire.

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Visualiser un PDF dans un article

    13 juin – commentaires

    SoyezCréateurs utilise un modèle pour afficher un PDF dans le corps d’un article Un peu d’histoire Avant, les navigateurs n’incluaient pas de lecteur PDF nativement ce qui avait conduit à la création du plugin Lecteur pdf javascript pdf.js. Mais, (...)

  • Aveline v2

    9 novembre 2012 – 97 commentaires

    Aveline est une collection de noisettes hautement paramétrables, compatibles avec les thèmes Z et à inclure dans vos pages avec le noiZetier. Compatibilité Cette version 2 du plugin Aveline s’utilise, sous SPIP 3, avec la version 2 du noizetier, (...)

  • ORR v2

    21 mai 2013 – 105 commentaires

    ORR, le plugin d’Organisation des Réservations et des Ressources passe en version 2, avec quelques nouveautés attendues. Je ne reprendrai pas les explications données dans la version 1. Les nouveautés : 1. Gestion des autorisations Le principe (...)

  • Speedsyndic pour SPIP 2 et SPIP 3

    11 octobre 2010 – 32 commentaires

    Ce plugin est une version compatible spip 2.0.x / 2.1 / 3.1 du plugin Speedsyndic Note : Une bonne partie du texte ci-dessous a été pompé de cet article, expliquant la version précédente du plugin. je n’ai fait qu’adapter le code pour spip 2, ajouter (...)