SPIP-Contrib

SPIP-Contrib

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

288 Plugins, 197 contribs sur SPIP-Zone, 227 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 – 2183 commentaires

171 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 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 !!

    • Le 3 juillet à 22:24, par Emmanuel En réponse à : Formidable, le générateur de formulaires

      Bonjour,
      J’aurais le même genre de choses à réaliser... Est-ce que vous avez pu aboutir à une trame pour faire cela ?
      Merci par avance,

    • Le 3 juillet à 22:27, par Maïeul En réponse à : Formidable, le générateur de formulaires

      Franchement non, je n’ai finalement pas eu le tps. J’ai pas mal de boulot à faire en ce moment.

    • Le 3 juillet à 22:35, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Juste pour garder en tête : dans l’admin Cédric avait rajouté un truc pour permettre de choisir quelles colonnes on voulait dans les résultats d’un formulaire précis, dans sa config, en listant les @input_1@ etc séparés par des virgules ou pipes je ne sais plus.

      Du coup ça pourrait être un modèle

      <formulaire1234|reponses_tableau|champs=input_1, select_1, input_2, textarea_1>

      (et plus tard on pourra imaginer une aide à l’insertion avec Insérer Modèles)

    Répondre à ce message

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

    Une disparition pas inquiétante mais bizarre :
    Dans un formulaire j’ai deux champs date (avec horaires) obligatoires et sur la page : ?exec=formulaires_reponse&id_formulaires_reponse=xx

    Ces 2 champs n’apparaissent plus (depuis au moins le 15 mai dernier)

    Plugin à jour et SPIP 3.0.25

    Répondre à ce message

  • Le 21 juin à 12:12, par Bruno En réponse à : Formidable, le générateur de formulaires

    grand merci pour ce plugin,
    il fonctionne sans pb.
    J’ai plusieurs formulaires
    Cependant est-il possible, pour chacun d’eux, de définir une mise page spécifique
    (ex le champ nom et le champ prénom sur la même ligne...)
    par exemple de créer des « squelettes » mettant en page les champs, un squelette par formulaire

    D’avance merci
    Bruno

    • Le 21 juin à 12:18, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Le plugin ne s’est jamais occupé de la mise en forme, il ne fait que générer du HTML (et les traitements ensuite). Tout est balisé avec des classes CSS permettant de cibler, donc à toi ou ton thème graphique de faire ça si pour tel ou tel formulaire tu veux styler différemment.

    • Le 21 juin à 14:41, par Bruno En réponse à : Formidable, le générateur de formulaires

      re bonjour
      et merci pour votre réponse, et votre rapidité
      Bruno

    Répondre à ce message

  • Le 16 juin à 16:58, par Syd En réponse à : Formidable, le générateur de formulaires

    Bonjour

    J’ai posé la question sur la liste user, mais je n’ai pas trop de réponse…

    J’utilise un champ checkbox dans un formulaire.
    Je voudrais pouvoir filtrer les réponses dans un listing en fonction des valeurs présentes dans l’environnement via un menu liste sur la page.

    Mais je n’arrive pas à lister dans un array les réponses à la checkbox.

    Il me faudrait un tableau du genre :

    valeur1 Réponse 1
    Réponse 6
    valeur2 Réponse 3
    Réponse 7
    Réponse 8
    valeur3 Réponse 2

    Mais je n’y arrive pas avec les balises de formidable.
    [(#VOIR_REPONSE{checkbox_1, valeur_uniquement}|brut)]
    me renvoie un array qui ne contient que les valeurs :
    valeur1
    valeur2
    valeur3

    [(#VOIR_REPONSE{checkbox_1, valeur_uniquement})]
    Avec valeur_uniquement, ça retourne bien les réponses, mais en html avec un habillage liste

    • .

      [(#VOIR_REPONSE{checkbox_1, valeur_uniquement}|textebrut)]
      me renvoie une string de toutes les réponses :
      Ma réponse 1 Ma réponse 6 Ma réponse 3 Ma réponse 7 Ma réponse 8 Ma réponse 2
      Je ne vois pas comment je pourrais en faire un #ARRAY.

      J’ai peut-être raté ou mal compris quelque chose…
      Une idée ?
      Merci

    Répondre à ce message

  • Le 7 juin à 18:39, par Alberto En réponse à : Formidable, le générateur de formulaires

    Bonsoir.
    Dois-je construire un formulaire de vote en ligne pour une petite association, qui doit être en mesure de voter que les personnes qui ont accès au site.
    Utiliser le plugin « Acces Restreint 3.0 » je suis en mesure de faire le carnet d’adresses privé qui sera effectué le vote, mais je ne peux pas vous assurer que chaque utilisateur correspond à une voix.
    Avez-vous des suggestions ?
    Merci !

    Répondre à ce message

  • Le 18 mai à 12:55, par Julien En réponse à : Formidable, le générateur de formulaires

    jQuery UI 1.8.21

    Mon spip juste upgradé en 3.1.4 a un jQuery UI en 1.8.21. Il semblerait que la fonction curCSS ne soit plus dans cette version de JQuery UI, mais toujours utilisé dans formidable 3.4.0 SVN [104163] ... du coup le drag&drop ne marche plus pour l’ordre des champs... $.curCSS is not a function !

    Une idée pour corriger ceci ?

    Répondre à ce message

  • Le 17 mai à 16:39, par Pinchart En réponse à : Formidable, le générateur de formulaires

    J’utilise ce plug-in pour permettre aux visiteurs de compléter les champs de ma rubrique « agenda », constituée d’articles. Mais comment puis-je passer du résultat de l’encodage du formulaire à un article dans cette rubrique ?

    Répondre à ce message

  • Le 17 mai à 15:45, par Julien En réponse à : Formidable, le générateur de formulaires

    FORMULAIRE MODIFIABLE

    Je souhaite qu’un auteur puisse remplir plusieurs fois un même formulaire, mais puisse modifier ensuite ces réponses. J’ai vu que pour avoir un formulaire modifiable, il fallait mettre une réponse unique, donc cela me bloque...
    Existe-t-il une noisette, un modèle, un truc pour afficher le formulaire avec ces réponses préremplies (en passant comme paramètre id_formulaires_reponse) et d’enregistrer les modifications ? (comme ce que fait le plugin automatiquement avec un formulaire modifiable, mais en lui passant l’id de la réponse à modifier).

    Merci de votre aide.
    Julien

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

      Non il n’y a rien de cela qui existe.

    • Le 17 mai à 16:26, par Julien En réponse à : Formidable, le générateur de formulaires

      Question en plus : le choix de faire un INSERT ou un UPDATE au post du formulaire se fait donc lors de la validation, en comparant le type de traitement (réponse unique ou non) et si on a déjà une réponse enregistrée ?

      Rien à voir du coup avec la variable formulaire_action_args ?

      Aucun moyen de se connecter qq part dans les fonctions de formidable, avec un peu de php en plus pour parvenir à mettre à jour une réponse ?

      Merci.
      Julien

    • Le 17 mai à 16:44, par Julien En réponse à : Formidable, le générateur de formulaires

      Sinon voici une piste pour ceux que ça motive :
      -  formulaire en réponse multiple
      -  pour un auteur donné, afficher que la réponse la plus récente, avec un lien en modification
      -  dans la page de modification, préremplir le formulaire avec les valeurs de la réponse la plus récente. On a ainsi l’impression de modifier sa propre réponse, avec en plus du versionning !

    Répondre à ce message

  • Le 17 mai à 11:21, par Pinchart En réponse à : Formidable, le générateur de formulaires

    Bonjour.
    Comment peut-on permettre à l’utilisateur d’uploader une illustration ?
    Patrick

    Répondre à ce message

  • Le 28 avril à 17:17, par ngweb En réponse à : Formidable, le générateur de formulaires

    Bonjour,
    y a t-il une doc de dispo pour rajouter des traitements à formidable ? Je voudrais alimenter une table personnalisée avec les résultats d’un formulaire.
    Merci :)

    • Le 28 avril à 17:19, par Maïeul En réponse à : Formidable, le générateur de formulaires

      non, pas de documentation pouir ce point, à ma connaissance.

      Mais s’il s’agit de créer un formulaire pour remplir une table, je fabriquerai plutôt un nouvel objet avec le plugin « la fabrique ». C’est nettement fait pour.

    • Le 28 avril à 17:25, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Non il n’y a pas de doc, mais ce n’est pas vraiment fait pour ça. Par eilleurs, il y a déjà un plugin qui fait ça : FormiTable :
      https://zone.spip.org/trac/spip-zone/browser/_plugins_/formitable
      (jamais utilisé et il faut sûrement le relire et le mettre à jour pour 3.X)

      Sinon il faut s’inspirer des traitements existants, un fichier PHP avec le traitement, et un fichier YAML du même nom qui le décrit en lui donnant un titre et en décrivant optionnellement des champs de configuration pour ce traitement (ce qui génère l’interface).

    • Le 3 mai à 12:29, par Maïeul En réponse à : Formidable, le générateur de formulaires

      Ou alors utiliser « la Fabrique » pour créer ton propre objet editorial, avec son formulaire maison.

    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

  • Réservation d’événements

    16 mars 2015 – 332 commentaires

    Ce plugin permet d’offrir aux visiteurs de s’inscrire pour un évènement du plugin Agenda et de gérer les réservations enregistrées. Installation Le plugin s’installe comme n’importe quel plugin. il nécessite : Agenda API de vérification (...)

  • GIS 4

    11 août 2012 – 1372 commentaires

    Présentation et nouveautés La version 4 de GIS abandonne la libraire Mapstraction au profit de Leaflet. Cette librairie permet de s’affranchir des librairies propriétaires tout en gardant les mêmes fonctionnalités, elle propose même de nouvelles (...)

  • Identité Extra

    20 mars 2016 – commentaires

    Un plugin tout simple pour SPIP qui étend la configuration de l’identité du site, en ajoutant par exemple une adresse, un numéro de téléphone,... enfin ce que vous voulez. Avant-propos Ce plugin est inspiré d’une discussion sur le site de phenix et (...)

  • Escal-V3

    16 février 2012 – 281 commentaires

    Un jeu de squelettes proposant un affichage en 2 ou 3 colonnes avec un large choix de noisettes à insérer ou pas, fortement paramétrable depuis l’espace privé . Présentation A l’instar de sa petite soeur plugin Escal-V2 dont elle reprend toutes (...)

  • FACD

    3 juin 2015 – commentaires

    FACD est l’acronyme de « File d’Attente de Conversion de Documents ». Comme son nom l’indique, il permet à des plugins dont le but est de convertir des documents dans d’autres formats de mettre ses conversions dans une file afin qu’elles soient (...)

Ça spipe par là