SPIP-Contrib

SPIP-Contrib

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

290 Plugins, 198 contribs sur SPIP-Zone, 94 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 – 2490 commentaires

179 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 21 septembre à 10:41, par seb En réponse à : Formidable, le générateur de formulaires

    Bonjour,

    ou puis-je récupérer les anciennes version ?
    Je souhaiterais récupérer la version antérieure, car celle ci me plante un site après la mise à jour (erreur php).

    Merci

    • Le 21 septembre à 10:52, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Ben ça dépend de quelle version tu parles. Si c’est une version bien précise sur la même branche que pour SPIP 3, il faut le récupérer par SVN en indiquant jusqu’à quelle révision. Ou bien sur le Trac, il y a un truc pour télécharger à tel moment une fois qu’on est sur une révision (je ne sais plus l’astuce de tête mais il y a un paramètre pour ça).

      Sinon ya bien les ZIP de toutes les branches qui sont générées, donc y compris la branche 2 qui était aussi pour SPIP 3 :
      https://plugins.spip.net/formidable

    • Le 21 septembre à 11:08, par seb En réponse à : Formidable, le générateur de formulaires

      Merci pour ta réponse.

      En effet j’aurais souhaité récupérer sur la même branche une version antérieure.
      La 3.15.0.

      Je viens à l’instant de la trouver dans un backup.

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

      par contre il serait bon de préciser ce qui te plante, comment, pourquoi, quelle version de PHP, etc.

      Sinon d’autres auront le même problème...

    Répondre à ce message

  • Le 13 septembre à 09:04, par inaden En réponse à : Formidable, le générateur de formulaires

    Bonjour

    Il y avait (avant) une case à cocher permettant de proposer à l’internaute de recevoir une copie du formulaire (ce qui est, je crois, pas mal utile pour archivage et suivi de ses démarches). Mais je ne trouve plus cette possibilité.
    Existe-t-elle encore ?
    Et si oui, comment l’activer ?

    Merci d’avance pour votre aide.
    Denis

    Répondre à ce message

  • Le 4 avril 2017 à 12:55, par 1138 En réponse à : Formidable, le générateur de formulaires

    Bonjour, les spipeur⋅se⋅s !

    Par défaut, les champs Explication ne sont pas envoyés par e-mail. Or, j’aimerais pouvoir activer cette possibilité pour certains de ces champs.

    Y a-t-il un moyen de faire ça ? Ou avez-vous une astuce à me proposer ?

    Merci d’avance. :-)

    • Le 4 avril 2017 à 13:15, par Maïeul En réponse à : Formidable, le générateur de formulaires

      Pour le moment c’est écrit en dur. On pourrait ajouter une option pour certains champs…

    • Le 5 septembre à 16:26, par 1138 En réponse à : Formidable, le générateur de formulaires

      Bonjour.

      Suite à une demande d’une collègue, je remonte la question.

      Je vois que la révision 105815, d’aout 2017, permet désormais d’exclure certains champs de l’envoi. Ne pourrait-on pas se baser là-dessus, quitte à ajouter une case précochée « Exclure tous les champs Explication », histoire de ne pas casser le fonctionnement préexistant ?

      Qu’en pensez-vous ?

    Répondre à ce message

  • Le 2 septembre à 19:19, par Patt En réponse à : Formidable, le générateur de formulaires

    Bonjour,
    je voudrais bien modifier la mise en page du formulaire dans le site public mais je ne sais pas quel fichier surcharger.
    Merci pour votre aide

    • Le 2 septembre à 20:21, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Comme n’importe quoi d’autres dans ton site, ça n’a pas de spécificité avec ce plugin, qui ne s’occupe absolument pas de graphisme.

      Ça dépend de ton squelette/thème, celui fournit de base ou un autre (et dans ce cas demander à son auteur). Pour la dist de SPIP, on peut avoir un fichier « perso.css » et s’il est présent c’est pris en compte pour ajouter ses règles après les autres à priori.

    Répondre à ce message

  • Le 28 août à 23:53, par Luc En réponse à : Formidable, le générateur de formulaires

    Bonjour à tous, et merci pour ce plugin tellement utile, et que j’utilise tellement :)

    J’ai un cas de figure où j’ai besoin de mettre à jour régulièrement la liste déroulante d’une question (de nouveaux items viennent s’ajouter et les plus vieux doivent disparaître). Pour les nouveaux items aucun problème, mais pour ceux que je dois retirer de la liste, le problème qui survient et que quand je souhaite exporter les réponses, celles qui comportent les choix à présent disparu n’ont plus de valeur « textuelle » pour cette question, uniquement la clef. Y a-t-il un moyen de contourner cela ?
    Merci d’avance.

    • Le 29 août à 10:04, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Non je ne vois pas trop comment. Si tu les supprimes, ça ne fait plus partie de la config, et dans la base de données, pour les anciennes réponses, c’est la clé technique qui est gardée en mémoire dans la table forcément.

    • Le 29 août à 10:25, par Luc En réponse à : Formidable, le générateur de formulaires

      C’est bien ce que je me disais, dommage, mais merci pour le retour rapide. Il serait imaginable de créer une nouvelle « saisie » qui bouclerait sur une table de référence ?

    • Le 29 août à 10:41, par Maïeul En réponse à : Formidable, le générateur de formulaires

      @Rastpopoulos : on pourrait imaginer une syntaxe pour avoir une équivalence clé/humain conservé mais non affiché. Ou bien un sous paramètre de saisie

    • Le 30 août à 10:08, par Luc En réponse à : Formidable, le générateur de formulaires

      C’est vrai que si on pouvait ajouter un caractère qui serait interprété comme une exclusion dans la requête, ça serait top. Je creuserai la chose, car la nécessité est bien présente en ce qui me concerne. Encore merci.

    Répondre à ce message

  • Le 24 août à 19:38, par HirisBen En réponse à : Formidable, le générateur de formulaires

    Bonjour,
    J’ai une question qui va peut-être vous sembler bête, mais je me lance !
    J’ai besoin d’insérer dans un site un formulaire de recherche par sélection du type : je sélectionne un 1er critère dans une liste déroulante A, puis un 2e dans une liste déroulante B et un 3e dans une liste C. Et à la fin je dois obtenir une liste d’articles qui réunissent ces 3 critères. Je n’ai pas trop la notion de comment faire ça. Est-ce que c’est possible d’exploiter la base de cette façon avec Formidable ?
    Et sinon avec quoi est-ce que ça peut se faire ?
    Merci de votre aide et pardon d’avance si je suis hors sujet...

    • Le 24 août à 19:43, par Maïeul En réponse à : Formidable, le générateur de formulaires

      Salut,
      clairement pas. Formidable est un plugin pour des formulaires où l’on poste des données (contacts, inscriptions, etc.), pas pour de la recherche.

      Tes critrèes seraient des mot clefs ? ou autre chose ? Si oui, le plugin critères mots est fait pour toi.
      Dans tous les cas je te conseille de demander de l’aide sur les la liste de discussion des utilisateur·trices de spip.

    • Le 25 août à 10:23, par HirisBen En réponse à : Formidable, le générateur de formulaires

      Bonjour,
      Je te remercie de ta réponse. Mes critères ne sont pas des mots clés mais des données de champs extra que j’ai ajoutés aux articles (lieu ; niveau d’étude par exemple).
      Pour la liste des utilisateurs tu veux parler du forum ?
      Merci en tout cas de ta réactivité :-)

    • Le 25 août à 13:26, par Maïeul En réponse à : Formidable, le générateur de formulaires

      Alors il faudra construire « à la main » ton formulaires qui appellera un squelttes qui te donnera la réponses.

      pour la liste, je pensais à cela http://listes.rezo.net/mailman/listinfo/spip

      mais il y aussi les ofurms.

    Répondre à ce message

  • Le 1er août à 03:19, par beno En réponse à : Formidable, le générateur de formulaires

    Bonjour,

    Il semble qu’il n’y ait pas de Placeholder sur les champs « Date »... serait-il possible d’en rajouter un ? Ce serait bien utile dans certains cas. Merci.

    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 15 juin à 11:01, par Jaseur Boreal En réponse à : Formidable, le générateur de formulaires

      Bonjour,

      Les inclusions de cartes et de points géolocalisés dans les contenus SPIP se font avec le plugin GIS 4 qui permet de choisir parmi une multitude variée de couches de cartes.

      Je pense que les concepteurs et utilisateurs de gis vont pouvoir vous aider pour cela.
      Bon week-end

    • 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 26 juin à 18:57, par jmm En réponse à : Formidable, le générateur de formulaires

    J’aimerais pouvoir faire quelques requêtes simples — à partir d’une page php — sur la table produite à partir des données entrées par les utilisateurs via un formulaire formidable.
    Mais je n’arrive pas à trouver comment s’appelle la table produite.

    Merci d’avance de tout éclairage.

    Répondre à ce message

  • Le 26 juin à 13:26, par DD En réponse à : Formidable, le générateur de formulaires

    Bonjour,
    Avec Formidable 3.12.2 - stable sur un SPIP 3.2.1 [23954] lorsque je fais « exporter toutes les réponses en CSV » j’obtiens un fichier ZIP qui contient un csv avec mes 444 réponses >> OK

    Dans le zip il y aussi les fichiers joints via CVT mais ce uniquement pour les 12 dernières réponses >> pas OK
    Dans le répertoire config/fichiers/formidable/formulaire_2/reponse_xx/fichiers_x j’ai bien les 444 dossiers avec les fichiers joints.
    Donc je peux les rapatrier via FTP mais les admin sans accès FTP sont coincés.

    dd

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

      1. Possible que ce soit un bug parce qu’il y a trop de fichiers, et que l’outil de zip ne fonctionne pas.
      2. Les fichiers sont mis à plas non ? as tu des fichiers avec le même nom ?

    • Le 26 juin à 18:25, par DD En réponse à : Formidable, le générateur de formulaires

      J’ai réussi à récupérer le tout en important une sauvegarde de la table formulaires_reponses_champs et l’export fonctionne maintenant.

      Je pense que la base a été abîmée suite à une pétouille avec https dans l’espace privé que je n’ai pas encore comprise mais qui c’est résolue d’elle même en 48h (problème de cache sur le serveur ?)
      Il y a des fichiers de même nom mais pas dans les mêmes dossiers a priori.
      Merci

    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

  • PHANTOM (HTML5UP)

    18 juillet – 28 commentaires

    Squelette SPIP pour intégrer le modèle Phantom de HTML5UP. https://html5up.net/phantom Installation A l’activation, le plugin installe aussi les plugins suivants : crayons, favicon, metasplus+, Couleur d’objet, champs extras, SPIP reset centre (...)

  • Newsletters

    16 janvier 2013 – 479 commentaires

    Ce plugin permet de composer des Info-lettres. Par info-lettre, on désigne ici le contenu éditorial qui va être composé et envoyé par courriel à une liste d’inscrits. Le plugin permet de composer une info-lettre à partir d’un modèle pré-composé, (...)

  • Formulaire de contact avancé

    23 mars 2009 – 1408 commentaires

    Un formulaire de contact configurable, avec de multiples options.

  • Fulltext

    14 mars 2009 – 218 commentaires

    Ce plugin permet d’une part d’exploiter le mode de recherche FULLTEXT de MySQL et d’améliorer ainsi énormément les recherches par rapport au fonctionnement natif de SPIP, et d’autre part d’indexer le contenu de certains (...)

  • Simple Calendrier v2

    25 février 2016 – 26 commentaires

    Il s’agit de la version pour SPIP 3 du plugin Simple Calendrier. Le plugin « simple calendrier » permet de gérer des évènements en ajoutant un nouvel objet éditorial dans l’administration de votre site SPIP. Il peut constituer une alternative au plugin (...)