SPIP-Contrib

SPIP-Contrib

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

273 Plugins, 191 contribs sur SPIP-Zone, 199 visiteurs en ce moment

Accueil du site > Interactivité, échanges > Formulaires > Formidable > Formidable, le générateur de formulaires

Formidable, le générateur de formulaires

23 janvier 2012 – par RastaPopoulos – 94 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

23 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}

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

Voir aussi sur le wiki

todoFormidable | Formidable, présentation aux Grottes (2010)

Retour en haut de la page

Vos commentaires

  • Le 22 février à 11:09, par benolaos En réponse à : Formidable, le générateur de formulaires

    Bonjour,
    étrange comportement du plugin lorsqu’on le désactive (je ne parle pas de désinstallation), et qu’on le réactive :
    -  les formulaires semblent toujours actifs (ils apparaissent dans l’espace public, et les champs de la BDD sont manifestement toujours renseignés)
    -  dans l’espace privé, par contre, les formulaires ne s’affichent pas (donc impossible de les modifier)

    — > auriez-vous une solution pour « retrouver » la main sur ces formulaires ? En vous remerciant...

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

      C’est très bizarre en fait, ça ressemble à un bon gros bug. Mais là comme ça je ne sais pas encore d’où cela pourrait venir (car juste la désactivation ne touche à rien dans la base normalement).

    Répondre à ce message

  • Le 21 février à 09:25, par Azrak En réponse à : Formidable, le générateur de formulaires

    Bonjour à tous de nouveau,

    J’ai encore une question, je tente de masquer voir de supprimer le message suivant quand il y a une erreur dans le formulaire :
    « Il y a des erreurs dans les champs ci-dessous, veuillez vérifier votre envoi. »
    (je ne veux garder que les messages d’erreur liés au différent champs du formulaire.

    J’ai donc tenter de masquer ce message via le CSS : display : none ; ---> sans succès

    Savez-vous quelles lignes sont à mettre en commentaire dans le fichier PHP du formulaire pour masquer ce message.

    • Le 21 février à 09:55, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Il faut garder ce message, c’est important pour l’accessibilité, notamment quand on a pas une vue d’ensemble du formulaire, par exemple pour les lecteurs d’écran.

      Mais tu peux évidement le cacher uniquement en CSS. Tu dis que tu fais « display:none » mais tu ne dis pas sur quel élément... Suffit de regarder la class du conteneur avec Firebug.

    • Le 21 février à 10:18, par Azrak En réponse à : Formidable, le générateur de formulaires

      J’entends bien le sujet de l’accessibilité en l’occurrence mon formulaire ne comporte que 2 champs. donc pas de scrolling et de plus je conserve le message d’erreur lié au champs adresse mail.

      j’applique le display : none ; à la class reponse_formulaire reponse_formulaire_erreur

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

      Euh ça ce sont deux classes qui sont sur le même élément.

      1. .formulaire_formidable .reponse_formulaire_erreur{
      2.     display:none;
      3. }
    • Le 21 février à 12:52, par azrak En réponse à : Formidable, le générateur de formulaires

      Merci beaucoup, j’ai encore appris un truc

    Répondre à ce message

  • Le 20 février à 10:27, par sirom En réponse à : Formidable, le générateur de formulaires

    bonjour,
    VIVEMENT le plugin fonctionnel sous Spip 3

    Cordialement,

    • Le 20 février à 10:41, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Mais le plugin est fonctionnel sur SPIP 3 (branche « trunk » dans le SVN).

    • Le 20 février à 12:00, par sirom En réponse à : Formidable, le générateur de formulaires

      Mouais... galère j’arrive pas a faire fonctionner SCPlugin sur mac

      J’attendrai que tu mettes une version en téchargement/install automatique dans spip 3
      car pour l’instant celle qui est proposée en DEV ne veut pas s’installer ( elle demande spip-bonux)
      Merci encore

    • Le 20 février à 14:36, par sirom En réponse à : Formidable, le générateur de formulaires

      Bon ok , j’’ai finalement utilisé svnX pour télécharger les SVN.
      J’ai donc mis la main sur spip-bonux 3 .
      pour les autres plugins nécessaires au fonnctionnement de formidable ils s’installent tout simplement directement depuis l’interface de spip 3.
      Cà fonctionne !

      Cordialement,

    Répondre à ce message

  • Le 19 février à 19:35, par sirom En réponse à : Formidable, le générateur de formulaires

    bonjour,
    le plugin est bien entendu formidable ;)
    sauf qu’avec le champ date, le datepicker ne s’affiche pas ( l’icone du calendrier est bien présente mais lorsqu’on clique desssus rien ne se passe) le plugin jquery UI est bien activé.
    Ai-je omis quelque-chose ?

    Répondre à ce message

  • Le 18 février à 12:06, par ManuDevil En réponse à : Formidable, le générateur de formulaires

    C’est dommage, j’ai une erreur SQL quand je tente de créer un formulaire. Apparemment, l’activation du plugin n’a pas créé la table correspondante dans la base de données...

    • Le 18 février à 14:51, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Me semble-t-il, avant le champ pour commenter il y a un lien en gras « Les choses à faire avant de poster une question ». Non ? :)

    • Le 19 février à 13:10, par ManuDevil En réponse à : Formidable, le générateur de formulaires

      Au temps pour moi. Je précise donc :

      -  SPIP 2.1.0 [15608]

      Les plugins :

      -  CFG 1.16.0
      -  Le couteau suisse 1.8.57
      -  Mediathèque 1.6.7
      -  Spip Bonux 2.3.0
      -  Thickbox v2 0.3

      Ce sont les plugins actifs actuellement. En raison du bug, j’ai désactivé les plugins nécessaire à Formidable, qui étaient ceux proposés dans cette même page.

    • Le 19 février à 14:26, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Euh ben c’est l’exact contraire qu’il faut comme information : les versions des plugins dont il est question pour le bug, donc Formidable et ses dépendances.

    • Le 19 février à 21:54, par ManuDevil En réponse à : Formidable, le générateur de formulaires

      Un petit dessin valant mieux qu’un grand discours, voilà donc une capture d’écran, avec toutes les infos de configuration des plugins.

      Merci de passer du temps sur mon cas.

      PNG - 46.8 ko
    • Le 19 février à 22:34, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Il faudrait voir la version SVN de Formidable surtout, puisqu’il ne crée pas les tables jusqu’au bout. Il faudrait le désinstaller proprement (plus les tables), le mettre à jour et voir si ça marche.

      Car par exemple ce commit http://zone.spip.org/trac/spip-zone/changeset/57654/_plugins_/formidable/branches/v0 corrigeait justement un problème de création de table à cause d’une coquille de ma part.

    Répondre à ce message

  • Le 14 février à 14:48, par bcolo En réponse à : Formidable, le générateur de formulaires

    Bonjour

    Je travaille à un blog associatif dans lequel j’intègre des formulaire pour pouvoir échanger des paniers hebdomadaires. Aucun problème pour créer le formulaire et l’intégrer dans un article via le modèle. Mais c’est ensuite que ça coince : je voudrais récupérer les résultats et les afficher dans la partie publique du site, de manière à ce que tout le monde puisse voir qui propose d’échanger (offreur ou demandeur). Un peu sur le principe du plugin Agenda, où on peut s’inscrire à un événement et où les résultats apparaissent sous le formulaire.

    Est-ce possible ?

    • Le 14 février à 15:16, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Comme c’est un plugin générique, les réponses sont « abstraites », on peut pas pas préjuger des questionnaires, donc les réponses ne sont pas enregistrées de la même façon qu’un objet éditorial classique, qui a sa table et ses champs.

      Le but de ce plugin est avant tout de faire des questionnaires, sondages, et form de contact, les utilisations « détournées » sont un peu plus complexes.

      Chaque réponse a une ligne dans la table « spip_formulaires_reponses » et chacun de ses réponses a autant de ligne que de champs dans la table « spip_formulaires_reponses_champs ».

      Il y a quelques critères pour faciliter les requêtes (cf le fichier public/formulaires_criteres.php) et il y a le modèle pour afficher une réponse comme petit exemple (mais il est générique donc il suit bêtement dans l’ordre). Si t’as pas besoin d’affichage particulier, le modèle déjà présent suffit peut-être d’ailleurs. Tu boucles sur les réponses et tu appelles le modèle avec l’identifiant d’une réponse.

    • Le 14 février à 16:35, par bcolo En réponse à : Formidable, le générateur de formulaires

      Je crois que je n’ai pas tout compris.

      J’ai actuellement un formulaire, qui a le numéro 1, et que j’ai appelé dans un article avec le modèle

      Pour l’instant, ce formulaire compte deux réponses. Je voudrais afficher ces réponses dans le même article. Mais je ne sais pas avec quel modèle les appeler. J’ai essayé

      et formulaire|analyse|id=1>, sans aucun résultat.

    • Le 14 février à 16:40, par bcolo En réponse à : Formidable, le générateur de formulaires

      Zut, les balises ne sont pas affichées. Je remplace les < par des ".

      Je reprends : j’ai appelé le formulaire avec le modèle "formulaire|formidable|id=1" et je voudrais afficher dans le même article les réponses à ce formulaire (j’en ai pour l’instant deux).

      J’ai essayé "formulaire|reponse|id=1" et "formulaire|analyse|id=1", mais rien ne s’affiche.

      Comment appeler le modèle qui affiche les réponses ?

    • Le 15 février à 10:33, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Essaye plutôt <formulaire1|analyse> (= normalement appelle du modèle « formulaire_analyse.html » avec « id_formulaire=1 » alors que toi tu appelais avec « id=1 »).

      Quand au modèle pour une réponse, c’est pour afficher 1 réponse, donc l’identifiant de la réponse : <formulaires_reponse12> par exemple.

      Pour faire la liste de toutes les réponses, là il faudrait ajouter un autre modèle.

    • Le 18 février à 19:38, par bcolo En réponse à : Formidable, le générateur de formulaires

      OK, je viens d’essayer, ça marche. Le modèle analyse n’a pas d’intérêt pour moi. Le modèle réponse correspond à ce que je cherche à faire, mais évidemment il ne traite qu’une réponse à la fois.

      Pour afficher toutes les réponses à un formulaire, ne serait-il pas possible d’utiliser le fichier exporter_formulaires_reponses.php ? Puisqu’apparemment il est dit dedans que le rôle de ce fichier est « d’exporter toutes les réponses d’un formulaire »...

      Ceci étant, même si j’arrive à créer un modèle me permettant d’afficher toutes les réponses du formulaire1, par exemple, quid des réponses du formulaire 2 ? Il faudrait dans la balise du modèle que le numéro de formulaire soit indiqué, ce qui n’est pas le cas pour l’instant...

    Répondre à ce message

  • Le 15 février à 11:54, par noutalg En réponse à : Formidable, le générateur de formulaires

    bonjour,
    Je reviens sur ma question d’upload de fichiers. Est-il envisageable d’inclure dans le pluging formidable (je ne sais pas où) le plugins ’formulaire upload’ ? Je ne connais pas assez spip pour répondre à cela et je voudrais juste savoir si c’est une idée saugrenue ou pas.
    Car si on regarde juste le module que j’utilise pour ce message, il y a bien la fonction ’ajouter un document’ dans ce formulaire.

    • Le 15 février à 12:00, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Ce n’est pas pareil. Là pour le commentaire c’est codé spécifiquement dans le formulaire de forum de SPIP, avec un comportement précis. Pour Formidable il s’agit de développer ça de manière générique, pas juste pour un formulaire précis, c’est un peu plus compliqué. Je dois faire ça fin février ou en mars normalement.

    • Le 17 février à 15:34, par noutalg En réponse à : Formidable, le générateur de formulaires

      Je viens de comprendre que votre réponse concernait ma demande. Merçi, j’attendrai donc mars.
      bon week end

    Répondre à ce message

  • Le 17 février à 10:31, par gerard En réponse à : Formidable, le générateur de formulaires

    bonjour,
    j’ai un probleme avec l’export des reponses, ca ne marche pas. Le lien utilise est le suivant :
    http://localhost/ecrire/?exec=formulaires_reponses&action=exporter_formulaires_reponses&arg=1&hash=475d462f782a97f24a9cffd8ad216e886761ba12
    Firefox me repond que le fichier source ne peut etre lu, et il cree un fichier vide (alors qu’il y a des reponses).
    Je n’ai aucune erreur dans les logs d’apache ni dans les logs de spip. Il y a un moyen de tracer ce qui se passe ?

    merci d’avance,

    Répondre à ce message

  • Le 15 février à 10:11, par Azrak En réponse à : Formidable, le générateur de formulaires

    Bonjour à Tous,

    Déjà félicitation pour ce super plugin, qui est très pratique d’utilisation.

    J’ai 2 petites questions :

    Quand je valide l’envoi du formulaire, les informations saisies restent dans les champs de texte. Y a t’il une option ou une modification à opérer dans le fichier php pour que le formulaire soit remis à zéro une fois l’envoi effectué ?

    Peut on modifier via les CSS l’apparence du texte qui est affiché lors des erreurs de saisie et après l’envoie avec succès du formulaire ?

    Merci d’avance.

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

      Y a t’il une option ou une modification à opérer dans le fichier php pour que le formulaire soit remis à zéro une fois l’envoi effectué ?

      C’est un bug je crois, déjà signalé mais jamais corrigé.

      Peut on modifier via les CSS l’apparence du texte qui est affiché lors des erreurs de saisie et après l’envoie avec succès du formulaire ?

      Ben c’est du HTML non ? Donc tout est stylable par CSS, comme n’importe quoi d’autre. :)

    Répondre à ce message

  • Le 15 février à 10:00, par Pierroot En réponse à : Formidable, le générateur de formulaires

    Je ne suis pas du tout bon en programmation. Et je voudrai savoir si votre plugin pourrait me servir pour éditer un bulletin d’adhésion en ligne pour un site associatif. Merci de votre réponse.

    • Le 15 février à 10:20, par RastaPopoulos En réponse à : Formidable, le générateur de formulaires

      Peut-être, ça dépend du besoin., Si c’est juste pour avoir la liste des gens qui veulent adhérer et recevoir ces demandes par mail et pourquoi pas les enregistrer en base, ça devrait suffire.

      Si c’est pour faire des traitements sur ces demandes (en faire ensuite d’autres choses que juste les lister en base comme l’enregistrement par défaut) alors il faudra forcément mettre la main à la pâte (ou trouver quelqu’un pour le faire).

    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

  • Introduction à la création d’un livre

    17 janvier – <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Pour produire un livre avec SPIP, on peut produire un PDF. Une des solutions est d’utiliser LaTeX. C’est celle que nous avons choisie. SPIP et LaTeX SPIP permet de produire n’importe quel fichier de type text. En général, il produit des fichiers (...)

  • Escal-V3

    16 février – <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    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é . A l’instar de sa petite soeur plugin Escal-V2 dont elle reprend toutes les (...)

  • SPIP 1.9.2n, 2.0.17, 2.1.12 disponibles

    17 novembre 2011 – 10 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Bonjour, Plusieurs failles de sécurité ont été repérées (Merci à High-Tech Bridge SA Security Research Lab, Davy et Arnault) dans les versions 1.9, 2.0 et 2.1 de SPIP. Nous rappelons à toutes et tous que le meilleur moyen pour signaler des failles, ou (...)

  • Table des Matières

    29 juillet 2007 – 50 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ajoute des ancres en fonction des intertitres et fournit une balise pour afficher la « table des matières » d’un article - autrement dit un « sommaire » -.

  • Navigation AJAX

    31 janvier – 30 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin permet de modifier automatiquement une parties des liens internes de manière à ce qu’ils ne déclenchent pas un chargement complet de la page cible, mais un chargement en AJAX de certains éléments spécifiés à l’avance. Il permet aussi de (...)