SPIP-Contrib

SPIP-Contrib

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

289 Plugins, 197 contribs sur SPIP-Zone, 78 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 – 2456 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 24 juin à 13:22, par jmm En réponse à : Formidable, le générateur de formulaires

    Le message de retour s’affiche en haut du formulaire après validation. Est il possible de l’afficher à côté du bouton « valider » ?

    • Le 24 juin à 14:09, par Maïeul En réponse à : Formidable, le générateur de formulaires

      oui, mais cela n’a guère d’interet, car alors tu arrive en bas du formulaire, et tu dois remonter pour le re-remplir.

      il te faut surcharger le squelette « formulaires/formidable.html » (qui se trouve dans le dossier du plugin : tu le recopie dans ton dossier formulaires de ton dossiers squelette, et tu fais tes modifs)

    • Le 24 juin à 15:56, par jmm En réponse à : Formidable, le générateur de formulaires

      Mon idée était d’avoir un message qui permette à l’utilisateur de comprendre que l’envoi a bien été pris en compte car lorsqu’on clique sur « valider » il n’y a rien de visuel permettant à l’utilisateur de savoir si son envoi est bien réalisé (la phrase de retour étant en haut, elle n’est pas nécessairement vue et ne joue donc pas ce rôle de confirmation).

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

      normalement, lorsque tu valide, tu est automatiquement remonté en haut du formulaire, justement....
      si ce n’est pas le cas, c’est que tu as un problème ailleurs.

    Répondre à ce message

  • Le 24 juin à 11:00, par jmm En réponse à : Formidable, le générateur de formulaires

    Bonjour

    Pourriez m’indiquer la démarche à suivre pour modifier la présentation d’un formulaire (par exemple remplacer le mot « obligatoire » des champs obligatoires par un autre mot) ?

    merci d’avance

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

      Ce n’est qu’un petit aspect de la modification de la présentation.

      Mais pour répondre sur ce point :
      -  on peut régler le texte champs par champs
      -  on peut modifier globalement en surchargeant la chaine de langue « info_obligatoire_02 » (mais cela se repercutera sur d’autre formulaires)

      cela étant, je ne vois pas l’interet de changer.

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

      Merci. je ne trouve pas comment procéder.
      -  on peut régler le texte champs par champs : à quel endroit ?
      -  on peut modifier globalement en surchargeant la chaine de langue « info_obligatoire_02 » : où trouve-t-on cette chaîne ?
      -  est ce qu’il est possible de redéfinir une page "squelette" pour les modifications à faire ?

      merci d’avance de tout éclairage

    • Le 24 juin à 13:44, par jmm En réponse à : Formidable, le générateur de formulaires

      En fait pour règler le « message d’obligation », je pensais avoir trouvé mais ça ne marche pas à chaque fois (j’ai mis un simple point ., ça laisse « obligatoire » sur certains champs, ça met bien un point dans d’autres cas).

    • Le 24 juin à 14:06, par Maïeul En réponse à : Formidable, le générateur de formulaires

      -  aucun interet de remplacer par un point qui n’a strictement aucun sens
      -  le reglage du message d’obligation se trouve en dessous de la case qui permet de rendre obligatoire un champ ;-)
      -  il s’agit d’un chaine de langue standard de SPIP. Je t’invite à lire
      https://www.spip.net/fr_article2128.html « mehtode des fichiers de langue »
      -  il se peut que certains types de saisie aient un comportement derogatoire, si tu peux me dire lesquels, on peut regarder ce qu’il en est.
      -  pas compris pourquoi tu veux faire un squelette

    • Le 24 juin à 15:44, par jmm En réponse à : Formidable, le générateur de formulaires

      « - aucun interet de remplacer par un point qui n’a strictement aucun sens »

      dans un formulaire où tous les champs sont obligatoires, c’est juste un peu lourd d’avoir (obligatoire) sur tous les champs. Une phrase le précisant au départ me semblait plus adaptée.

    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é.

    • Le 20 juin à 22:27, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Ben pour ça faudrait une saisie « coordonnées » sauf que une saisie en théorie ça enregistre une valeur, alors que là c’est DES coordonnées, une latitude et une longitude, donc je ne sais pas trop quelle est la meilleure approche…

      Par ailleurs, ça sert avant tout à faire des questionnaires, sondages, etc, ce n’est PAS un gestionnaire de contenus, ce n’est pas fait pour créer des fausses tables de contenus, dont on se sert ensuite pour générer des pages etc. On peut tous bidouiller, mais ce n’est pas fait pour ça à la base.

    Répondre à ce message

  • 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 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

Répondre à cet article

Qui êtes-vous ?
  • [Se connecter]

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

  • Formidable, le générateur de formulaires

    23 janvier 2012 – 2456 commentaires

    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 (...)

  • Éditorial (HTML5UP)

    27 novembre 2017 – 77 commentaires

    Squelette SPIP pour intégrer le modèle Editorial de HTML5UP https://html5up.net/editorial Configuration La page de configuration permet quelques réglages. On y défini la couleur principale du site, des informations de contact et le contenu de la (...)

  • SPIP 400 - Gestion des erreurs HTTP

    23 mars 2012 – 13 commentaires

    Ce plugin tente de compléter la distribution de SPIP en proposant des modèles de pages d’erreur HTTP (codes 401 et 404) avec un texte explicatif et la possibilité pour l’internaute de transmettre un « ticket de bug » au webmestre du site. (...)

  • ScolaSPIP 4

    19 janvier 2016 – 347 commentaires

    ScolaSPIP est plugin-squelette responsive personnalisable pour sites Web d’établissements scolaires basé sur SPIPr Présentation de ScolaSPIP Ce plugin pour SPIP 3 est développé par la Dane de l’académie de Versailles pour les webmestres de cette (...)

  • Mots arborescents

    12 octobre 2015 – 15 commentaires

    Ce plugin permet de gérer une arborescence de mots-clés. La configuration d’un groupe de mots dispose d’une nouvelle option pour autoriser pour ce groupe les arborescences de mots-clés. Dans ces groupes, des mots enfants peuvent être créés pour (...)