SPIP-Contrib

SPIP-Contrib

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

286 Plugins, 197 contribs sur SPIP-Zone, 272 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 – 2137 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 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

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

    Bonjour,
    Je constate le problème suivant depuis ce matin : quand je valide les traitements d’un formulaire depuis l’espace privé (« configurer les traitements »), j’ai une erreur 500. Dans les logs de SPIP, j’obtiens l’erreur correspondante suivante : « fonction execute_pipeline_saisies_verifier absente : pipeline desactive ».

    Info complémentaire : j’ai mis à jour SPIP et mes plugins très récemment : SPIP version 3.1.4, Formidable 3.3.2, YAML 1.5.2, SPIP Bonux 3.4.2, Saisies pour formulaires 2.18.5, Facteur 3.4.10, Api de vérification 1.6.2.

    Merci d’avance pour vos pistes de résolution de ce problème,

    Daniel

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

      Je me réponds à moi-même ; je viens de trouver la cause de cette erreur : j’avais une copie du fichier formidable.php dans mes squelettes, pour personnalisation. En le supprimant, l’erreur 500 disparaît.

      Désolé pour le bruit,

      Daniel

    Répondre à ce message

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

    Bonjour,
    Nous souhaitons mettre en ligne un formulaire comportant une carte sur laquelle il serait possible de positionner un point, est-ce possible ?
    En effet, lors d’un signalement, il est important de préciser le lieu, sachant qu’il n’y a pas toujours d’adresse... sur une base de loisirs, ou sur un plan d’eau.
    Nous utilisons GIS4 sur notre site http://laccreteil.fr
    Cordialement.
    Michel

    • Le 14 mars à 12:01, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Non ça n’existe pas vraiment. Il existe une saisie « carte », dans GIS mais son but est de pré-remplir d’autres champs quand on clique (lat, lon, rue, ville, etc) suivant ce qu’on configure pour la saisie. Elle n’enregistre rien elle-même, ce n’est pas un vrai champ (avec un nom-name, qui garde en mémoire le truc). Elle n’est pas déclarée avec un form de config, pour la rendre disponible dans le constructeur de formulaires.

    • Le 14 mars à 15:10, par Michel En réponse à : Formidable, le générateur de formulaires

      Merci beaucoup, pour ce retour !
      Michel
      http://laccreteil.fr

    Répondre à ce message

  • Le 11 mars à 23:46, par Jacques En réponse à : Formidable, le générateur de formulaires

    Bonsoir,
    je pense avoir tout regardé mais j’ai 2 problèmes :
    1) je ne trouve pas de champ ’participation à un événement’
    2) quel squelette surcharger pour insérer ?
    #FORMULAIRE_FORMIDABLEcontact, #ARRAYnom_du_champ, Ma valeur

    Merci de votre aide

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

      Participation à un événement ça n’existe pas ici, c’est un autre plugin qui ajoute ça, tu devrais poser ta question sur le forum de ce plugin.

      Pour insérer un formulaire avec des valeurs par défaut mises en paramètre ? Bah n’importe quel squelette, ça dépend où TOI tu veux le mettre, je ne comprends pas trop la question. Si tu ne sais pas encore comment fonctionne les templates-squelettes de SPIP, tu devrais peut-être commencer par apprendre ce point là. :)

    Répondre à ce message

  • Le 13 mars à 16:42, par DD En réponse à : Formidable, le générateur de formulaires

    Sur un site en 3.1.4 avec les plugins à jour j’ai indiqué pour un formulaire un délai de 365 jours pour effacer les résultats mais même en actionnant la tache cron manuellement et en vidant le cache ceux-ci sont toujours présents.

    l y a 1 minute
    Tâche CRON formidable_effacer_enregistrements (toutes les 86400 s) | formidable_effacer_enregistrements(1489391599)

    Merci

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

      Le délai court non pas à partir de la date de la réponse mais de sa dernière modification. Peut-être est-ce là le problème ?

      Sinon il faudrait m’envoyer le formulaire et ses réponses pour que je comprenne le souci.

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

      Alors, en base la date maj est d’aujourd’hui pour le formulaire étant donné que je viens de modifier un traitement.

      Pour la table spip_formulaires_reponses la date de MAJ est 2016-06-09 04:51:34 pour un résultat posté le 2016-02-05 15:50:21 (par exemple)
      Je ne sais pas d’où viens cette date de MAJ (le masquage de l’IP ?) étant donné que les réponses des formulaires ne sont pas modifiées après leur envoi (les réponses sont envoyées par email et aucune modif des résultats n’est nécessaire sur le site).

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

      oui, la modification de la maj doit correspondre au moment où l’IP est hashé… je n’y avais pas songé. Donc normal que pas de modifications là maintenant.

      Je suis un peu embêté, car si j’évalue à partir de la date en base, je ne tiens pas compte des éventuelles nouvelle modifications.

      peut être faut-il évaluer sur la base de la date de création en général, et sur la date de modification si on permet les modifications après coup ?

    • Le 14 mars à 00:03, par DD En réponse à : Formidable, le générateur de formulaires

      Merci de tes explications : cela devient plus clair pour moi.

      Je en sais pas si c’est possible, ni souhaitable par les les autres utilisateurs mais perso je ne retiendrai pas le hash de l’IP comme une MAJ : c’est une modif technique, pas du contenu. Et il est précisé dans la doc que les IP sont masquées au bout de x jours.
      Sur ce, bonne semaine.

    • Le 14 mars à 00:05, par Maïeul En réponse à : Formidable, le générateur de formulaires

      non, techniquement ce n’est pas possible. Le champ maj est modifié à chaque fois que l’enregistrement est modifié en base. On pourrai contourner, mais ce serai sale.

    Répondre à ce message

  • Le 5 mars à 12:05, par spipheure En réponse à : Formidable, le générateur de formulaires

    Bonjour
    J’essaye de mettre en place un champ de date avec « date picker » et cela fonctionne côté privé et non côté public

    J’ai ensuite essayé de suivre ce tuto mais cela n’a rien changé https://contrib.spip.net/jQuery-UI-4180

    Merci pour votre aide

    Répondre à ce message

  • Le 9 février à 18:47, par loïc En réponse à : Formidable, le générateur de formulaires

    Je dais pas trop comment identifier mon soucis avec l’utilisation du nouveau formidable.

    je pense que ça viens de saisie.
    qui ne permet plus le chargement du script les sripts menu que j(utilise depuis cinq ans.

    (un peu moins que formidable)

    Api de vérification 1.6.1
    Facteur 3.4.10
    formidable 3.2.6
    Saisie 2.18.4

    Bonux 3.4.0

    Spip : 3,1,1

    J’ai fait le test sur saisie je suis pas je pense que c’est a l’ordre dans le header qui ne passe pas.
    La page article qui pose probléme :
    http://www.brasserielesdeuxfreres.com/Contact.html
    http://www.brasserielesdeuxfreres.com/Mentions-Legales.html

    Mulder : La peur est le plus ancien instrument du pouvoir. Si tu es distrait par la peur de ceux qui t’entourent, ça t’empêche de voir les actions de ceux qui te dominent.

    • Le 9 février à 19:25, par loïc En réponse à : Formidable, le générateur de formulaires

      Je suis navré de relire mon message, en fait ma question est comment modifier l’ordre d’affichage du script de saisie saisie dans le header.
      pour pallier at-minima les conflit de librairie.
      Merci de votre réponse.

    Répondre à ce message

  • Le 8 février à 15:47, par Chris En réponse à : Formidable, le générateur de formulaires

    Bonjour,

    est il possible d’aérer un peu plus le 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

  • Massicot

    7 octobre 2015 – 63 commentaires

    Recadrez et redimensionnez vos images directement dans l’espace privé de SPIP ! Inspiré par le plugin photospip, ce plugin plus minimaliste permet de recadrer et redimensionner les images dans l’espace privé de SPIP. Une fois le plugin installé (...)

  • Métas

    8 août 2009 – 53 commentaires

    Ce petit plugin permet l’ajout, depuis l’espace privé, de metatags aux articles et rubriques de SPIP, ainsi que la mise en exergue de mots importants.

  • Formidable, le générateur de formulaires

    23 janvier 2012 – 2137 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 (...)

  • Formulaire de contact avancé

    23 mars 2009 – 1373 commentaires

    Un formulaire de contact configurable, avec de multiples options.

  • Intranet / Extranet

    31 mai 2013 – 79 commentaires

    Intranet / Extranet est un plugin très simple permettant d’interdire l’accès au site à tout visiteur non identifié. Mise à jour Voir fichier README du plugin. Mise en place La mise en place est rapide. Téléchargez le plugin. Activez (...)