SPIP-Contrib

SPIP-Contrib

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

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

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

  • Le 8 février à 01:45, par DD En réponse à : Formidable, le générateur de formulaires

    Juste pour signaler des messages d’erreur dans les logs du serveur à chaque fois qu’un formulaire public est envoyé :

    client denied by server configuration : /srv/d_serveur/www/www.site.org/htdocs/config/fichiers/formidable/formulaire_2/test.txt, referer : http://www.site.org/

    J’ai bien un formulaire id 2 avec 2 champs d’upload de fichiers (entre autres) ; je ne sais pas si c’est lié à ces 2 champs et je ne vois pas trop ce qu’il teste.

    merci

    Répondre à ce message

  • Le 7 février à 20:22, par jordi Bardaji En réponse à : Formidable, le générateur de formulaires

    Bonjour,

    Je suis en train d’utilliser le plugin formidable. J’ai cette question :

    Est-ce que c’est possible de remplir les options d’un champ radio selon l’article ?

    Dans une site on vend des libres. Chaque livre a deux prix, selon si on veut l’edition digital ou en papier, ainsi, le formulaire aurait de reflechir les prix selon le preference du consomateur.

    J’utilise formidable avec bank.

    Pardon pour les expression en français il fait beaucoup du temps que je ne l’ecrit pas. Je ne suis pas français.

    Merci !!

    Jordi Bardají

    • Le 7 février à 20:31, par Maïeul En réponse à : Formidable, le générateur de formulaires

      Si j’ai bien compris, tu as un article pour le libre papier, et un autre pour le livre numérique. Et tu voudrais que le prix dépende de l’article que consulte l’utilisateur.

      Souhaite tu fais une vrai boutique ? Parce que je ne pense pas que Formdiable soit adapté pour cela (il te faudrait créer un formulaire spécifique par produit en vente).

      Tu ferais mieux d’utiliser panier + commandes à ce moment là, pour avoir un vrai gestionnaire de boutique en ligne.

      https://contrib.spip.net/paniers-et-commandes#temoignage

    • Le 7 février à 21:00, par jordi Bardaji En réponse à : Formidable, le générateur de formulaires

      Merci beaucoup, je vais à essayer ça !

      Jordi

    Répondre à ce message

  • Le 2 février à 11:49, par karine En réponse à : Formidable, le générateur de formulaires

    bonjour,

    de nouveau je reviens vers vous car j’ai un petit soucis.. J’ai pourtant bien lu vos posts mais je ne sais pas. Je vous explique

    J’ai un formulaire que j’ai intégré à un article qui fonctionne parfaitement puisque les infos saisies sont bien sauvegardées dans ma base de données.

    maintenant, je dois pouvoir afficher tous les résultats sous forme de tableau dans un autre article, comment procéder ? Je suis un peu perdue, cela fait 2 jours que je cherche.

    Merci à vous :)

    • Le 2 février à 11:57, par Maïeul En réponse à : Formidable, le générateur de formulaires

      Un tableau c’est long, c’est compliqué, cela dépend de ce qu’on veut mettre ou pas, du type de saisies etc.

      Donc avant de donner une réponse, j’aimerai savoir

      1. Comment serait orienté le tableau.
      2. Si toutes les saisies seront mises, et quels sont le type de saisie
      3. Si vous connaissez ou pas le HTML et le fonctionnement des boucle SPIP.

    • Le 3 février à 08:24, par Karine En réponse à : Formidable, le générateur de formulaires

      c’est un tableau horizontal avec :

      (Nom | Prenom | Profession | Missions | Date entrée | Date sortie | Date diplome | Tel | Mail | Témoignage)

      Après je peux indiquer que le nom et prénom avec possibilité en cliquant dessus d’afficher sa fiche !!

      Je ne sais pas quelle solution serait la meilleure.

      Oui le connais le html, SPIP bcp moins. En fait je veux faire un annuaire d’ancien élèves.

    • Le 3 février à 09:46, par Maïeul En réponse à : Formidable, le générateur de formulaires

      Bon, c’est déjà plus simple qu’un tableau dans l’autre sens.

      Je suis en ce moment littéralement débordé de travail. Mais normalement le week-end en huit, je peux m’occuper de créer un modèle générique de tableau. J’en ai du reste besoin pour mes propres activités.

    • Le 3 février à 11:13, par karine En réponse à : Formidable, le générateur de formulaires

      ce serait super !!
      merci d’avance

      je vais continuer à regarder si je trouve et vous tiendrais au courant !!

    Répondre à ce message

  • Le 1er février à 12:17, par Karine En réponse à : Formidable, le générateur de formulaires

    Bonjour,

    J’ai mis en place le formulaire dans un article, il fonctionne, l’envoie vers ma base de données s’effectue. Par contre mon soucis, c’est que quand j’ajoute une nouvelle saisie, celle ci écrase la précédente saisie.

    pouvez vous m’aider ?
    merci

    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

    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

    Répondre à ce message

  • Le 29 janvier à 21:52, par G Fontaine En réponse à : Formidable, le générateur de formulaires

    Bonsoir,
    J’ai, dans un item de mon formulaire, une série de 10 cases à cocher et je souhaiterais limiter le nombres de cases cochées à 3 mais je ne vois pas si cela peut se faire et comment.
    Merci de votre réponse.

    • Le 29 janvier à 22:18, par Maïeul En réponse à : Formidable, le générateur de formulaires

      J’ai l’impression qu’actuellement ce n’est pas possible.

      Ce serait sans doute l’affaire de moins d’une heure de travail, mais je n’ai pas cette heure actuellement devant moi.

    • Le 29 janvier à 23:21, par G Fontaine En réponse à : Formidable, le générateur de formulaires

      Merci pour la réponse rapide
      La modification viendra peut être un jour ; en attendant ,merci pour tout le boulot accompli dans ce plugin

    Répondre à ce message

  • Le 24 janvier à 12:01, par beno En réponse à : Formidable, le générateur de formulaires

    Bonjour,
    Je viens reporter un petit bug (me semble-t-il) :
    Dans le champ « Valeur par défaut », les correspondances du fichier lang via <:blablabla :> n’affiche pas la chaîne de caractère... alors que le champ « label » le fait parfaitement.
    En espérant me faire comprendre ;-)
    Et en remerciant les auteurs, encore et encore, pour ce fantastique plugin !

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

      Cela est-il le cas pour tout les types de saisie ?

      Une copie d’écran permettrait de voir plus clairement le problème.

    • Le 24 janvier à 15:34, par beno En réponse à : Formidable, le générateur de formulaires

      Bonjour Maïeul,
      voici :

      PNG - 53.8 ko
    • Le 24 janvier à 15:42, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Ben oui, il n’est absolument pas prévu de pouvoir utiliser chaîne de langue pour les valeurs réelles à l’intérieur des champs. C’est uniquement pour la config des affichages, pas pour les valeurs. Ça me parait un peu chelou, mais peut-être à discuter…

    • Le 25 janvier à 05:28, par beno En réponse à : Formidable, le générateur de formulaires

      Bonjour RastaPopoulos,

      Oui, il me semble que ce pourrait être une amélioration (c’est tout de même bien pratique ces fichiers « lang »).
      Idée en forme de petit complément d’amélioration puisqu’on en parle, il serait bon que le plugin fasse que la valeur par défaut s’efface quand on fait le focus... plus propre ;-)

    • Le 25 janvier à 09:51, par Maïeul En réponse à : Formidable, le générateur de formulaires

      Sur les fichiers de langs pourquoi pas. Sur l’effacement non, la personne qui prend le focus peut avoir besoin de la valeur par défaut (pour la compléter, pour avoir un exemple etc).

    • Le 25 janvier à 09:57, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Euh tu confonds complètement valeur par défaut et placeholder (exemple de remplissage). Et en plus c’est bien possible que le placeholder accepte déjà des chaînes de langue… Donc en fait ça fait déjà ce que tu veux.

    • Le 25 janvier à 09:59, par Maïeul En réponse à : Formidable, le générateur de formulaires

      je crois que c’est moi qui confond valeur par défaut et placholder… je suis un vieux schnock qui n’a pas fait la transition au HTML 5.

    • Le 25 janvier à 10:04, par beno En réponse à : Formidable, le générateur de formulaires

      Alors idéalement il faudrait pouvoir avoir le choix d’affichage... c’est bien entendu dans l’idéal, et c’est vrai qu’il est possible de procéder (mais qu’avec du Javascript, semble-t-il malheureusement) en manuel.

      Pour les champs « valeurs par défaut », la prise en compte des chaînes de langue éviterait pour les sites multilingue de produire autant de formulaire que de langue en les appelant par des form_#LANG... (un peu douloureux aux changements quand on jongle avec 4 langues). Donc oui, je vote carrément pour-pour-pour si ce n’est pas trop difficile ;-)

    • Le 25 janvier à 10:16, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Non mais ce n’est pas un choix : la vraie valeur d’un champ, et le placeholder, ce sont deux choses totalement différentes, cela n’a rien à voir. Le placeholder est fait pour donner un exemple de valeurs attendues qui va disparaitre au focus et/ou vrai remplissage.

    • Le 25 janvier à 10:49, par beno En réponse à : Formidable, le générateur de formulaires

      Oui... le placeholder répond effectivement à la demande : je m’a trompé de champ ! Désolé pour le bruit.

    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

  • Mailshot

    16 janvier 2013 – 248 commentaires

    Ce plugin prend en charge l’envoi en nombre d’info-lettres par email. Mailshot permet l’envoi en nombre d’emails au moyen d’un SMTP (ou d’un service externe) dédié à cet effet. Il permet de limiter la cadence d’envoi. Enfin, ce plugin implémente la (...)

  • Plugin Download Dump

    26 décembre 2007 – 25 commentaires

    Plugin qui permet de télécharger la sauvegarde SPIP de la base de donnée, depuis l’espace privé sans utiliser de client ftp.

  • Cycle2

    7 août 2014 – 99 commentaires

    La seconde version de la librairie Javascript « jQuery Cycle », qui permet de produire des diaporamas, se nomme « Cycle2 » : http://jquery.malsup.com/cycle2/. Voici cette nouvelle librairie mise en plugin pour SPIP. Si vous utilisez déjà « jQuery (...)

  • Partageur

    29 janvier 2011 – 47 commentaires

    Permet de recopier facilement des articles d’un site SPIP partageur à l’autre. Ce plugin est encore en version beta. Les retours et critiques sont les bienvenus ... Présentation Ce plugin est né d’un besoin de partager des articles entre sites (...)

  • Une loupe pour vos vignettes

    9 décembre 2005 – commentaires

    Voici un petit exemple de comment utiliser un javascript pour ajouter une loupe sur vos vignettes de documents.

Ça spipe par là