SPIP-Contrib

SPIP-Contrib

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

286 Plugins, 197 contribs sur SPIP-Zone, 340 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 – 2147 commentaires

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

Voir aussi sur le wiki

-  Complément de doc et exemples sur les boucles et balises de formidable
-  todoFormidable
-  Formidable, présentation aux Grottes (2010)

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

Dernière modification de cette page le 21 juillet 2016

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 20 avril à 11:00, par ploufplouf En réponse à : Formidable, le générateur de formulaires

    Bonjour,

    Je dois faire des formulaires et injecter les réponses dans une autre appli. Le problème que je rencontre c’est que je ne peux pas nommer ou plutôt indexer les champs (input, textarea ou autre) comme je le souhaite pour obtenir une cohérence de mes exports.

    Ex. :
    Formulaire 1 :
    Nom : Input_1
    Prénom : Input_2
    Nom de jeune fille : Input_3

    Formulaire 2 :
    Nom : Input_1
    Prénom : Input_2
    Date de naissance : Input_4

    Le problème c’est que sur le formulaire 2 la date de naissance va prendre automatiquement Input_3 alors que je voudrais un Input_4.

    Il me semble que un post avait déjà été publié sur cette possibilité mais je ne l’ai pas retrouvé.

    Cette possibilité est-elle abandonnée ?

    Merci

    Répondre à ce message

  • Le 20 décembre 2016 à 19:35, par Claude En réponse à : Formidable, le générateur de formulaires

    Bonjour Rastapoloulos,

    J’ai installé ton plugin le week-end dernier (sur Spip 3.0.20), et je te remercie du joli travail que tu nous offres !

    J’interviens en amateur dans une asso humanitaire (Biologie Sans Frontières www.bsf.asso.fr) qui a des fiches de compétence à gérer (plusieurs 100aines), ce qui correspond aux compétences de personnes susceptibles de partir en interventions pour aider au développement de la santé.

    Dans ce contexte, j’aurais aimé à court terme avoir tes réponses sur les sujets ci-après :
    1- as-tu une doc détaillée qui présente toutes les fonctions de paramétrage etc...
    2- qu’est censé faire la modération a posteriori (aucun enregistrement va dans l’onglet « A modérer »
    3- que fait « Modifiable : Les visiteurs peuvent modifier leurs réponses après coup. » ? je ne vois pas de différence avec ou sans cette coche (l’enregistrement est (r)ajouté en base et non modifié).
    4- Comment fait-on pour réafficher le formulaire vide après une utilisation ?

    5- notre besoin est de disposer d’une gestion avec recherche (sur critères de filtrage), modification (un enregistrement) et suppression (dans l’espace privé ou public) : as-tu des exemples de codes, des conseils ou avis à me donner ?

    J’ai vu que tu proposais des services payants ; cela peut m’intéresser.

    NB : j’ai essayé de t’écrire par le formulaire présent à https://contrib.spip.net/RastaPopoulos, mais « erreur technique »

    Merci d’avance
    Claude

    • Le 18 avril à 23:06, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      1) non

      2) à modérer c’est quand on coche qu’on veut modérer à priori justement, les réponses ne sont plus censées être en statut publié

      3) quand on accepte modifiable, il ne faut pas permettre de plusieurs réponses à la fois, et dans ce cas, quand un visiteur revient, il est censé se voir afficher sa réponse déjà d’avant, et il peut la modifier… en tout cas c’était comme ça ya 7 ans… depuis il y a eu des centaines de commits de plein de contributeurices, et je n’ai jamais eu besoin donc jamais retesté

      4) ya une option pour ça dans la config générale du formulaire, sur quoi afficher après

      5) Ce plugin n’est pas du tout prévu pour gérer une fausse table virtuelle pour se faire une base de données perso. On peut arriver à certaines choses en bidouillant, mais ce n’est pas conçu pour ça.

    Répondre à ce message

  • Le 4 avril à 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. :-)

    Répondre à ce message

  • Le 3 avril à 11:52, par Jacques34 En réponse à : Formidable, le générateur de formulaires

    Bonjour,
    2 problèmes liés à ce plugin :
    a) espace privé, ’voir la réponse’ affiche bien les bons labels mais pas les valeurs ( tous affichent : ’Sans réponse’ alors que le mail que je reçois affiche bien les valeurs, et que la table MySql est bien remplie ) ?
    b) espace privé, ’exporter les réponses’ ( excel ou csv ) m’affiche les réponses dans le navigateur et non en téléchargement ?

    1 problème d’ordre général :
    c) espace public : je suis obligé d’ajouter index.php au bout de mon URL pour afficher la page d’accueil

    Merci de votre aide.
    Jacques

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

      a) je ne reproduis pas
      b) cela pourrait dépendre du navigateur et / ou du serveur
      c) ca c’est bizarre, mais c’est lié à SPIP en général, pas au plugin. Sand doute pb de config serveur.

    Répondre à ce message

  • Le 31 janvier à 09:55, par G Fontaine En réponse à : Formidable, le générateur de formulaires

    Bonjour,
    Je reviens vers vous car j’ai un souci pour télécharger le fichier csv des réponses du formulaire que j’ai créé.
    Le questionnaire comprend 37 questions dont majoritairement des boutons radio (à cinq choix)
    La table `spip_formulaires_reponses_champs` contient actuellement 96724 lignes correspondant à 2862 réponses
    J’ai essayé de placer un .htaccess à la racine du site avec :
    php_value max_execution_time 900
    php_value memory_limit 1024M
    mais cela ne change rien.
    J’obtiens toujours la page « La connexion a été réinitialisée.
    La connexion avec le serveur a été réinitialisée pendant le chargement de la page. »
    Merci de votre aide

    • Le 27 mars à 00:56, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      J’avoue que je n’ai jamais eu à tester ça avec vraiment plein plein de réponses, donc difficile pour moi de reproduire pour le moment. Mais c’est sûr qu’il y a des améliorations à faire pour gérer ce genre de cas…

    Répondre à ce message

  • Le 1er février à 18:02, par Phil En réponse à : Formidable, le générateur de formulaires

    Bonjour,
    Un grand merci pour votre formidable plugin.
    Toutefois, j’ai une question :
    Comment faire pour insérer du code dans le

    après validation du formulaire ? J’aurais besoin de faire apparaitre un code de suivi Google après une utilisation d’un formulaire coté public ! Merci Phil
    • Le 27 mars à 00:49, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Aucune idée désolé. Peut-être faudrait-il faire un sous plugin qui s’insère dans le traitement et qui rajoute du JS demandé par Google dans le message de confirmation à la fin…

    Répondre à ce message

  • Le 26 mars à 03:57, par Pierre29 En réponse à : Formidable, le générateur de formulaires

    Le résultat de l’envoi du formulaire m’arrivant de façon un peu décousue par email,
    j’ai tenté de créer un champ en tête de formulaire qui regroupe l’ensemble des données que je récolte dans les autres champs du formulaire.
    Ce champ est de type « Bloc de texte »
    Dans valeur par défaut, j’y ai mis :


    Nom : @input_2@ @input_1@
    Email : @input_3@
    Téléphone : @input_5@
    Code Postal : @input_4@
    Linky déjà installé ? @oui_non_1@
    Situation du compteur électrique : @radio_1@
    Type d’habitat : @radio_2@
    Propriétaire ou Locataire : @radio_3@

    Votre demande :
    @textarea_1@

    Votre point de vue
    @textarea_2@


    Dans utilisation, j’ai :
    Désactiver le champ : Non
    Désactiver mais poster : Oui
    Lecture seule : Non

    L’explication du 2e paramètre « Désactiver mais poster », à savoir « Identique à l’option précédente mais poste quand même la valeur dans un champ caché. »
    m’a laissé croire que le contenu de ce champ allait m’être posté en tête des valeurs du formulaire.
    En fait, je ne le reçois pas.
    Ai-je loupé quelque chose ?
    Est-il possible qu’un champ de type Bloc de texte puisse contenir des données issues elles-même de champs bloc de texte ?
    Est-il possible de reformater l’ensemble des données collectées dans un champ invisible à la saisie qu’on pourrait recevoir par email ?
    Est si oui, est-ce qu’au contraire les champs qui ont été affichées à la saisie du formulaire peuvent ne pas être expédiées au propriétaire du formulaire ?

    Merci de vos lumières

    • Le 26 mars à 12:53, par Maïeul En réponse à : Formidable, le générateur de formulaires

      Salut,

      je ne pense pas que le valeur des champs soient interprétées, et donc que tu puisse obtenir ainsi les résultats que tu souhaite.

      Du reste, je ne comprend pas en quoi les réponses t’arrivent de façon décousues… elles arrivent dans l’ordre des champs dans le formulaire, et c’est, me semble-t-il, le plus pratique. Je ne vois pas en quoi d’ailleurs ton remplissage est différent.

      Si tu veux pas avoir de retour ligne entre le titre de la saisie et son résultat, tu met dans le fichier mes_options.php la ligne suivante :

      define('_SAISIES_AFFICHAGE_COMPACT',true);

    Répondre à ce message

  • Le 21 mars à 23:28, par jlgenet En réponse à : Formidable, le générateur de formulaires

    Bonjour
    J’ai créé un formulaire de satisfaction.
    Lorsque les personnes inscrites sur le site y répondent j’ai une erreur « L’adresse de courriel wxett@abc.fr est déjà utilisée. »
    Can you help me ?
    Merci
    JLuc

    Répondre à ce message

  • Le 17 mars à 01:15, par Pierre29 En réponse à : Formidable, le générateur de formulaires

    Petit souci dans l’affichage des boutons radio du formulaire , le libellé apparaît au-dessous du bouton et non pas à droite.
    Le site tourne avec SPIP 3.1.4 et le squelette Squelette ViaSPIP 3.1
    Où puis-je intervenir pour remettre ça d’aplomb ?
    Merci d’avance pour vos suggestions et aide.
    Pierre

    • Le 17 mars à 11:03, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Formidable n’a aucune sorte de rapport avec le thème graphique, il ne fait rien du tout. Donc c’est à ton thème graphique de gérer l’affichage des formulaires (venant de Formidable ou pas, peu importe) correctement.

    • Le 18 mars à 01:40, par Pierre29 En réponse à : Formidable, le générateur de formulaires

      Merci pour cette précision.
      Cependant, je suis un peu perdu pour localiser la feuille css responsable de cet affichage et pour savoir quoi mettre pour corriger ce saut de ligne entre le bouton et son libellé.
      Le code source est dans l’image jointe.

      Je n’ai pas réussi à localiser la class « radio » dans les feuilles de style css ni à savoir sur laquelle agir, celle du squelette utilisé, une autre ?

      J’ai beau potasser ceci :
      https://openclassrooms.com/courses/apprenez-a-creer-votre-site-web-avec-html5-et-css3/les-formulaires-8
      je n’ai pas trouvé comment corriger.
      Si quelqu’un peut me mettre sur la piste, je lui en serai reconnaissant.

    • Le 19 mars à 19:59, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      bah c’est surtout les .choix label qu’il faut mettre en display: inline; en gros…

      Mais si tu utilises un squelette/thème partagé, tu devrais surtout dire à son auteur de corriger ce problème d’affichage (si c’est toujours maintenu évidemment…).

    • Le 21 mars à 07:54, par Pierre29 En réponse à : Formidable, le générateur de formulaires

      Merci beaucoup !
      C’est bien mieux ! Problème corrigé : https://stoplinkynonmerci.org/spip.php?page=contact

      J’ai ajouté comme suggéré la ligne :
      .choix label display : inline ; /* Message posté par RastaPopoulos à la suite de l’article « Formidable, le générateur de formulaires »

      dans le fichier /squelettes-dist/form.css

      Il ne me reste plus qu’à trouver comment laisser un peu d’espace en chaque champ pour aérer un peu le formulaire et le rendre un peu lisible :
      https://stoplinkynonmerci.org/spip.php?page=contact

      À ce propos, si vous connaissez des liens vers ce formulaire en service, peut-être pourrais-je y trouver des idées pour améliorer la présentation du mien...

    Répondre à ce message

  • Le 20 mars à 08:48, par Pierre En réponse à : Formidable, le générateur de formulaires

    Bonjour,

    Nous utilisons la fonction d’upload de documents dans un formulaire et nous avons 2 soucis :
    1. nous voudrions limiter l’upload au format PDF mais à chaque test il nous dit que notre fichier n’est pas un PDF... Nous sommes pourtant sur de notre fichier
    2. Nous souhaiterions supprimer l’expiration du lien vers le fichier uploadé, comment faire svp ?

    Merci d’avance !

    • Le 20 mars à 09:40, par Maïeul En réponse à : Formidable, le générateur de formulaires

      1. Il me faudrait un export yaml du formulaire pour que je puisse voir d’où viens le problème.
      2. Comme expliquer dans la documentation consacrée à l’envoi de fichier,

      define ('_FORMIDABLE_EXPIRATION_FICHIERS_EMAIL',0);
      define('_FORMIDABLE_EFFACEMENT_FICHIERS_EMAIL',0);

      devrait faire l’affaire, si mis dans mes_options.php

    • Le 20 mars à 10:58, par Pierre En réponse à : Formidable, le générateur de formulaires

      Bonjour merci pour votre réponse. Désolé pour la doc, j’avais raté cela, mais c’est exactement ce que je cherchais...

      Je vous joins le fichier yaml : https://dl.univ-tlse3.fr/filez/zemzrso

    • Le 20 mars à 13:23, par Maïeul En réponse à : Formidable, le générateur de formulaires

      Je viens de tester.

      Aucun problème chez moi.

      Je vois deux solution :
      -  soit le PDF de test pose problème ?
      -  soit il y a un souci au niveau de la detection des mimes_types par le serveur.

      On va deja tester la première hypothèse. Pouvez vous m’envoyer le PDF qui vous sert de test ?

    • Le 20 mars à 13:32, par Pierre En réponse à : Formidable, le générateur de formulaires

      J’ai testé avec plusieurs fichiers PDF et également fait tester d’autres personnes. Je pencherais plutôt pour la deuxième solution.

      Le fichier /etc/http/conf/magic a bien la ligne pour les fichiers pdf mais peut etre est ce ailleurs qu’est le problème ?

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

      effectivement, dans ce cas il y a fort à soupçonner que le pb se situe côté serveur.

      qu’en est-il lors de l’envoi de fichier pdf en document joints ? cela fonctionne ?

      je crois que Formidable est un peu plus strict que SPIP, mais testons déjà cela.

      sinon il me faudra accès à un espace de test côté serveur où je puisse sans risque manipuler les choses (mais j’aurais pas le temps avant 3 semaines)

    • Le 20 mars à 13:52, par Pierre En réponse à : Formidable, le générateur de formulaires

      Si par document joint vous parlez de document dans un article spip, aucun souci, les pdf sont bien reconnu comme tel.

    • Le 20 mars à 13:58, par Maïeul En réponse à : Formidable, le générateur de formulaires

      donc le souci se situe bien au niveau du code de formidable, dans certaines configuration.

    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

  • Bazar

    8 octobre 2015 – 21 commentaires

    Un squelette pour étaler son bazar sur l’accueil. Bazar est un squelette HTML5/CSS3 issu du squelette neo-dist (http://zone.spip.org/trac/spip-zone/browser/_core_/plugins/neo-dist) : c’est un choix fait au départ, qui à l’avantage d’intégrer (...)

  • LinkCheck : vérificateur de liens

    13 février 2015 – 70 commentaires

    Ce plugin permet de chercher et tester l’ensemble des liens présents dans les objets. Vous pourrez donc en quelques clics connaître les liens brisés ou défectueux qui se sont immiscés dans le contenu de votre site SPIP. La vérification s’effectue en (...)

  • Dublin Core

    21 septembre 2010 – 28 commentaires

    Un petit squelette pour l’insertion de méta-données Dublin Core dans la partie head des articles. Le Dublin Core « Le Dublin Core est un schéma de métadonnées générique qui permet de décrire des ressources numériques ou physiques et d’établir des (...)

  • Le plugin ZotSpip

    28 mai 2012 – 136 commentaires

    Synchronise Spip avec une bibliothèque (personnelle ou partagée) de références bibliographiques Zotero. Utilisez Zotero pour gérer / importer / rédiger vos références bibliographiques, puis incorporez vos références bibliographiques dans votre Spip avec (...)

  • Newsletters

    16 janvier 2013 – 410 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é, (...)