Formidable, le générateur de formulaires

Un générateur de formulaires facilement configurable pour les non-informaticien·ne·s et facilement extensible pour les développeur⋅euses.

Introduction

Historiquement, deux plugins avaient déjà été développés précédemment pour gérer des formulaires :

  • Forms &Tables, qui n’a pas été complètement porté pour SPIP 2.
  • et spip-formulaire créé par artego mais qui n’était 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évs.

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éveloppeur⋅euses.
    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.

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

À noter, 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.

Dans un contenu
Le tableau de valeurs dans un paramètre defaut sous forme d’une suite de chaînes “clé,valeur” séparée par des virgules :
<formulaire|formidable|id=contact|defaut=hidden1,valeur,input_5,autrevaleur>

Dans un squelette
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}}

Pré remplir les champs depuis une ancienne réponse

Si les réponses sont enregistrées, on peut passer en troisième argument un identifiant de réponse.

#FORMULAIRE_FORMIDABLE{contact,'',23}

pour modifier la réponse 23.

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 :

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.

Envoi de fichiers

Lire l’article complémentaire : Envoyer des fichiers avec un formulaire Formidable.

Mise en forme des saisies

Le plugin ne prévoit aucun réglage de mise en forme des saisies : c’est à chaque squelette d’avoir ses styles. Il respecte cependant la convention d’écriture des formulaire SPIP. Il permet d’ajouter des classes spécifiques sur les saisies.

Affichage des réponses sous forme de tableau

Le plugin Formidable Tablesorter permet d’afficher sous forme de tableau les réponses, dans l’espace privé, avec possibilité de tri et de filtre.

Voir aussi sur le wiki


-  Complément de doc et exemples sur les boucles et balises de formidable
-  Exemples de stylage CSS d’un formulaire Formidable
-  todoFormidable
-  Formidable, présentation aux Grottes (2010)

updated on 16 January 2021

Discussion

743 discussions

  • 11
    William

    Bonsoir,
    galére depuis trois jours pour récupérer une image envoyer via le formulaire.
    RAS tout est renvoyé par mail en fichier joint.
    Mais je voudrais insérérl’image dans le format prevu du mail.
    #SETma_saisie, #LISTE#ENV*saisies|saisies_chercherinput_2

    #SETma_saisie, #LISTE#ENV*saisies|saisies_chercherfichiers_1
    #VOIR_SAISIES#GETma_saisie, #ENV*valeurs
    ne donne rien ( fichiers_1 est la ref du champ)

    j’a iessayé aussi (#ENV*valeurs/input_2 de différentes façons

    j’ai fouillé dans SAISIES, dans les divers commentaires Mais je n’arrive à rien.

    bref comment récupérer le chemin d’une fichier image pour la placer ou souhaiter dans une notification formulaire_XXX_email.html

    si quelqu’un à une piste pour me réorienter. Merci

    • hum, il suffirait pas juste de cocher l’option pour mettre directement la PJ dans le mail?

      quel serait le cas d’usage ?

    • il faudrait sans doute utiliser le filtre formidable_generer_chemin_fichier

      https://git.spip.net/spip-contrib-extensions/formidable/src/branch/master/inc/formidable_fichiers.php#L555

      a appliquer sur un #ARRAY retournant tout les bon paramètres

    • William

      bien sur ca marche sans probleme, mais la fichier est placé en fin de mail.

      Mais je veux placer ce fichier dans le mail, bref formater les éléments dans la reponse

      Utiliser ce filtre formidable_generer_chemin_fichier m’était apparu mais impossible de comprendre comment gérer les paramètres.
      Il me manque quelques connaissances dans ces fichus paramètres

    • William

      les parametres sont si je lis bien
      * formulaire => identifiant numérique du formulaire,
      * timestamp => timestamp de la réponse (si la réponse est uniquement envoyée par courriel)
      * reponse => identifiant numérique de la réponse
      * saisie => nom du champ formidable (type fichier_1)
      * fichier => nom du fichier
      OK pour l’identif du formulaire
      pas besoin de timestamp
      je sèche pour reponse
      OK pour saisie
      je sèche pour fichier

    • moausi, moi je vois ce qu’il faut, mais faut que je teste en produisant un exemple. Peut être demain matin, Là je suis pris

    • William

      Super
      Prends ton temps

    • En fait il faudrait que j’améliore #VOIR_REPONSE pour pouvoir trouver les chemins de fichiers + proposer quelque fonctions de plus haut niveau pour répondre à ton genrer de besoin.

      Pas hyper long, mais sans doute pas trop le temps avant 2 semaines

    • Bon,

      alors en attendant des fonctions natives dans formidable, voilà ce que cela donne pour récuperer le chemin du fichier

      #SET{params,#ARRAY{
              formulaire,#ENV{id_formulaire},
              reponse,#ENV{id_formulaires_reponse},
              saisie,fichiers_1,
              fichier,#ENV{valeurs/fichiers_1/0/fichier}
              }
              [(#GET{params}|formidable_generer_chemin_fichier|var_dump)]

      Explication sur la construction du fameux tableau de paramètres (#GETparams) :
      -  formulaire : #ENV{id_formulaire} passé à l’environnement
      -  reponse : c’est l’identifiant numérique de la réponse, il est passé à l’environnement sous la forme #ENV{id_formulaires_reponse} (voir les tablés de formidable pour comprendre le pourquoi du comment
      -  saisie : bon ca c’est clair
      -  fichier : il s’agit du nom du fichier. Pas évident de la trouver à l’avance, puisque ca dépend de ce qu’envoie l’internaute. Mais il faut savoir qu’il est stocké dans la base de donnée, et du coup par là dans le tableux des VALEURS passée au gabarit d’email. Là où cela se complique, c’est que théoriquement on peut avoir plusieurs fichiers pour une même saisie. Donc faut chercher dans la clé 0 de la saisie pour le première fichier, la clé 1 pour le second, etc. Et chaque clé renvoie elle-même à un tableau donnant plusieurs propriétés pour le fichier (voir en base pour les détails). Du coup cela donne in fine #ENV{valeurs/fichiers_1/0/fichier}
      et avec cela #ENVvaleurs/fichiers_1/0/fichier.

      Avec ca formidable_generer_chemin_fichier donne bien le chemin. Après j’y connais rien en email, et je ne sais pas comment se servir de cela pour placer le fichier exactement au bon endroit.

    • William

      superbe réponse qui va compléter ce que je viens de trouver

      #VOIR_REPONSEfichiers_1, valeur_uniquement
      fichiers_1 c’est le nom du champ
      trouvé dans : https://contrib.spip.net/Balises-et-boucles-avec-Formidable

      pour construire le mail, je pars du fichier formulaire_XXX_email.html extraits du dossier notifications de formidable et copié dans un dossier notifications dans mon dossier de squelettes XXX estle nom de mon formulaire

      En tete du fichier quelques lignes de style CSS pour gerer le formatage des div que j’ai créées. dans le cas présent une div entete (longueur, hauteur définies) contenant une
      div #logo, une div #titre, une div #photo
      C’est dans la div #photo que je place #VOIR_REPONSEfichiers_1, valeur_uniquement
      et hop

      ce matin j’affiche la photo dans la div correctement mais avec le nom du fichier. Ce n’est qu’un moindre mal que ta superbe explication va sans doute me permettre de résoudre

    • oui alors l’article en question c’est un peu du vrac et du n’importe quoi.

      Bon il faudrait que j’écrive une doc complète sur le stockage desd fichiers et les tables

      Pour l’instant je je ne l’ai pas encore eu le temps de faire cela. mais à terme il faudra le faire, ca évitera ce genre de questions et aussi d’avoir une docu fait “à la petite volée” avec du grand n’importe quoi (notamment le |unserialize, qui n’est pas nécessaire)

    • William

      J’essaie en meme temps que je resouds mon petit probleme de me faire un aide memoire pour la prochaine fois.

      Je te le passerai et tu pourras compléter d’un oeil technique expert
      William

      PS pour l’instant je me bats avec les div

    Reply to this message

  • 7

    Bonjour,

    je n’arrive plus à afficher mes formulaires avec la méthode habituelle :

    .

    Version de php 7.3, hebergeur : ovh

    <?php include_once("./" _DIR_RACINE "ecrire/balise/formulaire_.php"); if ($lang_select "fr"$lang_select lang_select($lang_select); inserer_balise_dynamique(balise_FORMULAIRE__dyn('FORMULAIRE_FORMIDABLE''17'), array('''''''''fr')); if ($lang_selectlang_select(); ?>

    • SPIP 3.2 n’est pas compatible php 7.3. Peut être la cause.

    • bonjour,
      merci pour votre aide. C’est un filtre qui me posait problème. C’est réglé :)

    • Bonsoir, j’ai le même problème. Impossible d’afficher la liste des formulaires dans la partie privée de spip...
      Comment y remédier ?
      Merci

    • heu, ce n’est pas “le même problème”.

      Avez vous un message d’erruer? où est-ce que les formulaires ne s’affichent pas alors qu’ils devraient? êtes vous repassé par la page de gestion des plugins? avez vous tenté une réparation de la base depuis l’espace privé de spip ?

    • Les formulaires ne s’affichent pas. Je vois les onglets Proposé / publiés... etc mais pas de liste de formulaires Donc pas de gestion possible.
      En fait en collant l’url : http://XXXX/ecrire/?exec=formulaire&id_formulaire=X alors je peux entrer dans la gestion du formulaire.
      Là tout est visible pour gérer les réponses et autres...
      Seul le premier onglet qui affiche la liste des formulaires n’est pas visible.
      Un message d’erreur évoquant compteur_left en ligne 7 de : prive/objets/liste/formulaires.html du plugin ...
      J’ai désinstallé tous les plugins. recrée la liste mis saisies en version 3.43.2 et formidable en version
      4.7.1

      Toujours le meme pb.
      La seule manip que je n’ai pas fairte c’est reparer la base de données.
      Comme le site est en production mais pas actif public j’ai refait une install de spip avec les meme version des deux plugins et là tout ok....

    • bah du coup vu que tu as reussi, c’est dur de savoir où était le problème. une réparation de la base aurait sans doute servie, mais bon...

    • Oui si re... soucis... je tente... Belle journée

    Reply to this message

  • 17

    Bonjour

    Sur l’un de mes sites, les fichiers de langue semblent ignorés. Dans l’interface de gestion des formulaires, j’ai

    <:saisies:option_groupe_description :>

    ou

    <:formidable:traiter_enregistrement_titre :>

    au lieu de voir les traductions en français (voir copie d’écran).

    Sur un autre site, j’ai les mêmes versions des plugins saisies (3.43.0) et formidable (4.6.3), et je n’ai pas ce problème. Les 2 sites sont en spip 3.2.8

    Il n’y a rien de spécial dans les logs du site.

    Auriez-vous une idée où chercher pour trouver la source du problème ?

    • Est-ce que les fichiers de langue sont bien présents dans les dossiers des plugins ?

    • Oui, ils sont bien là :

      formidable/v4.6.3/lang/formulaires_reponse_fr.php
      formidable/v4.6.3/lang/formidable_fr.php
      formidable/v4.6.3/lang/formulaire_fr.php
      formidable/v4.6.3/lang/paquet-formidable_fr.php
      saisies/v3.43.0/lang/paquet-saisies_fr.php
      saisies/v3.43.0/lang/saisies_fr.php

    • Je viens de passer en v4.7 pour formidable, mais ça ne change rien.

      Point de configuration peut-être important, mon installation est mutualisée.

      Le problème apparaît sur tous les sites hébergés sur le même moteur mutualisé.

    • Ah vous êtes en mutualisé. Une hypothèse pourrait être que un des sites a “vu” la maj mais pas les autres.

      Il faudrait je pense voir ce que cela donne après être passé sur la page de gestion des plugins.

      Est-ce que vous avez le problème avec d’autres chaines de langues d’autres plugins ?

      Que donne un vidage de cache ?

      Quels sont les droits sur les fichiers ?

      Je suis désolé de pas trop aider, mais j’ai l’impression que c’est plus un problème d’install sur vos sites qu’un problème du plugin ....

    • Les 2 plugins qui posent problème sont saisies et formidable. Et posent problème sur tous les sites de l’instance.

      iextra, facteur, acces_restreint... fonctionnent sans problème sur tous les sites de l’instance.

      Les sites fonctionnaient correctement avec saisies et formidable il y a encore quelques semaines (formulaire créé fin septembre avec une utilisatrice en formation, j’aurais constaté le problème s’il avait été là).

      La seule chose qui a changé c’est la mise à jour en 3.2.8.

      Vider le cache ne change rien (ni via l’interface, ni en faisant un rm -Rf dans tmp/ et local/

      Dans le répertoire plugins/auto/ les fichiers appartiennent à www-data et sont en mode 777

    • Je note aussi que seules les pages
      -  Configurer les champs
      -  Configurer les traitements
      -  ecrire/?exec=formulaire
      sont affectées par le problème.

      Les pages
      -  “Configurer le formulaire”
      -  ecrire/?exec=formulaires
      -  les menus latéraux (exporter les réponses, importer un formulaire)
      fonctionnent très bien

    • Quelle version du plugin yaml ?

    • YAML Version :
      1.5.4 SVN [110445]

      Je me rends en effet compte que les chaines non traduites viennent toutes de fichier .yaml. Celle des fichiers html sont bien traduites.

    • On sait jamais, essayé une maj vers la 2.0.11.

    • Non... ça ne change rien (après vidage du cache)

    • honnetement je sais pas...

      mais peut être que vous auriez des messages dans les logs php qui pourrais nous éclarer ?

    • Malheureusement, non.

      Rien dans tmp/log/spip.log et rien dans les logs Apache, même en mettant LogLevel debug

    • toujours le même problème ?

    • Je viens de mettre à jour Formidable en v4.7.1 et saisies en v3.43.2 et j’ai toujours le même problème.

      je vais tenter de reproduire le problème sur une autre machine.

      en attendant, y a-t-il des tests que je pourrai faire pour tenter de comprendre ?

    • J’avoue ne pas trop savoir en fait où regarder. Il faudrait que je puisse debuger “en direct” par essaie / erreur. Serait-il possible de mettre sur le même serveur, mais à part 1 site en install mutualiser reproduisant le problème,. et de m’y conner les accès, aussi en ftp ?

    • Je viens de trouver où était le problème !

      Dans mon fichier config/mes_options.php

      J’avais le code suivant :

        if (!function_exists('_T_ou_typo')) {
           function _T_ou_typo($valeur, $mode_typo = 'toujours') {
             return $valeur;
           }
        }

      Je me rappelle l’avoir ajouté il y a un paquet d’années, mais impossible de me rappeler pourquoi (et j’avais visiblement oublié de dire pourquoi :-( )

      Par contre, pourquoi ce code a-t-il commencé à poser problème ???

      En tout cas, désolée pour le dérangement...

    • _T_ou_typo() est une fonction qui pour des raisons historiques est défini à la fois par saisies et par spip bonux (avec 2 définitions identiques). Comme son nom l’indique, elle passe une chaine par le transformateur de chaine de langue, et sinon par le filtre typographique.

      Votre définition se contentait de renvoyer la chaîne de langue,

      J’imagine que vous l’aviez mis pour des cas où vous ne vouliez pas avoir à installer l’un ou l’autre de ces plugins, sans pour autant provoquer des plantages.

      Par contre je suis surpris que la fonction dans mes_options.php l’emporte sur celle dans Bonux/Saisies.

    Reply to this message

  • 6

    Bonjour,
    J’utilise le squelette sarka ainsi que les plugins “formidable” , “formulaire de participation formidable” et agenda.
    Comment faire pour que, à partir d’un selecteur d’événement , le choix des dates disponibles se met automatiquement pour l’utilisateur qui renseigne un formulaire.
    En effet, mis à part inviter la personne à utiliser “recalculer la page” dans le bandeau, une fois une date choisi, la liste des dates disponibles ne se rafraichit pas automatiquement lors d’une autre utilisation du formulaire
    De même, je souhaiterai changer les couleurs et le style de la police de caractères d’un formulaire, mais je ne trouve pas comment faire.
    J’ai essayé en ajoutant des paramètres dans “classes CSS”, mais celà ne marche pas.
    Merci d’avance pour votre aide.

    • Je ne comprend pas votre question sur les dates.

      Quand à la personnalitsation des couleurs et styles de police, ce n’est pas propre à formidable. Il vous faut créer votre propre feuille de style css.

    • Bonjour,
      ci-joint le visuel :-)

    • oui mais pourquoi le selecteur d’evenement devrait-il être rafraichi. Sur quel critères ?

    • le selecteur d’événement contient des dates avec des événements définis dans l’agenda “inscription en ligne -Limiter le nombre de places : 1”) . Une fois la date N1 prise, elle ne peut plus être utilisée. Cependant, elle reste selectionnable malgré l’enregistrement en base de données tant que “recalculer cette page” n’est utilisée.

    • En soit le selecteur d’evenement n’inscrit pas les personnes à l’evenement. Il vous faut en plus un traitement spécifique (fourni avec un autre plugin).

      Je vous inviterai à lire cet article qui explique comment faire ce que vous souhaitez. https://contrib.spip.net/Tutoriel-utiliser-Agenda-Formidable-et-Formulaire-de

    Reply to this message

  • 1

    Bonjour,

    Merci pour ce pugin qui m’a déjà pas mal sorti d’affaire jusqu’ici. On me demande de mettre en place un formulaire style doodle

    https://www.doodle.com/poll/hqgw773cmimbeuf3?utm_source=poll&utm_medium=link

    Mais je ne sais pas comment rappeler un formulaire avec les choix de tous les utilisateurs et également faire en sorte que les heures déjà choisies soient inactives pour les utilisateurs suivants.

    Pouvez-vous me mettre sur la piste.

    Merci

    • Bonjour,

      je ne pense pas que formidable soit fait pour cela. Il faudrait sans doute écrire un plugin à part.

    Reply to this message

  • 8
    Michel Suquet

    Bonjour,

    depuis de nombreuses années, nous utilisons votre plugin pour les inscriptions à notre concours, et aussi à d’autres activités pour nos adhérents. Votre plugin nous rend service et nous vous en remercions.

    Cependant, cette année cela ne fonctionne plus : lorsqu’une personne qui veut s’inscrire valide après avoir complété les champs du formulaire, il obtient une page blanche et l’inscription n’est pas faite. Vous pouvez le constater aussi par vous même en tentant de vous inscrire.

    Voyez-vous d’où vient le problème ?

    Spip est à jour, le plugin aussi et le cache a été vidé sans effet malheureusement.

    Cordialement,

    Michel suquet

    • page blanche c’est une erreur fatale php -> il faut pouvoir retrouver les logs php pour voir les messages d’erreur, ou bien activer temporairement le message d’erreur sur le site public.

      A partir de là on pourra vous aider.

    • Michel Suquet

      comment fait-on cela ?

    • pour retrouver les logs c’est à voir avec votre hebergeur

      pour afficher directement, voir https://www.spip.net/fr_article4453.html#Page-blanche

    • Michel Suquet

      voici ce que j’obtients :

      Fatal error: Uncaught Error: Call to undefined function saisies_lister_par_etapes() in /home/apmepileex/www/plugins/auto/formidable/v4.7.1/formulaires/formidable.php:226 Stack trace: #0 /home/apmepileex/www/ecrire/public/aiguiller.php(222): formulaires_formidable_verifier_dist(’concours_objets’) #1 /home/apmepileex/www/ecrire/public.php(105): traiter_formulaires_dynamiques() #2 /home/apmepileex/www/spip.php(26): include(’/home/apmepilee...’) #3 main thrown in /home/apmepileex/www/plugins/auto/formidable/v4.7.1/formulaires/formidable.php on line 226

      Cordialement,

      Michel Suquet

    • je viens de voir que vous êtes victime du bug de la version fantome du plugin saisies.

      la version 4.0.0 n’a jamais existé vraiment. Ce n’est que par erreur qu’elle a été diffusée.

      Je vous invite à la désinstaller et installer la bonne version (3.43.0) et cela devrait résoudre vos problèmes....

    • Michel Suquet

      C’est fait et cela fonctionne maintenant.

      Un grand merci pour votre aide !

      Une question : ne peut-on passer le plugin en 4.0.1 pour réparer le bug de la version fantôme car la version 3.43.0 est indiquée comme étant obsolète ? Je trouve cela bizarre. Cela ne risque-t-il pas de poser des problèmes lors de mise à jour de spip ?

      Cordialement,

      Michel Suquet

    • non, car un changement de version majeure suppose une vrai rupture, ce qui n’est pas le cas.

      l’affaire de la version 4.0,0 sortie par erreur ne devrait pas impliquer beaucoup de monde (ca a duré 2 jours en tout et pour tout... manque de pot pour vous vous y étiez).

      par contre pour l’indication sur la version obsolète : il faudrait effectivement que vous reinitialiser le flux de plugin (?exec=depots => vous supprimez vos depots et remettez le depot de base) http://plugins.spip.net/depots/principal.xml

    • Michel Suquet

      C’est fait et en fait j’avais juste désactivé la version fantôme pour ne pas avoir à réinstaller les plugins en dépendance. Après avoir supprimer le plugin dans sa version 4.0.0, tout est «retomber en marche»©

      Encore une fois merci pour votre aide.

      Bonne soirée,

      Michel Suquet

    Reply to this message

  • 18

    Bonjour,
    Je constate des messages d’erreur depuis la mise à jour auto en 4.7.0, en particulier avec GIS (remplissage de leur formulaire ou modifications apportées).
    Bonne soirée.

    • Peux-tu expliquer plus en détail, parce que quel rapport avec GIS ?

    • heu.......

      1) à ma connaissance il n’y a pas de lien direct entre formidable et gis
      2) “des messages d’erreurs” c’est tout sauf précis, et donc ne permet absolument pas de vous aider.

    • Dans ce cas, est-ce lié à Saisies pour formulaires 3.43.0 ... car le message est fugace et disparait très rapidement (erreur squelette?)

    • Bah encore une fois, dure de vous répondre en l’absence de message d’erreur précis...

    • Mais le message de quoi ? De quel plugin ? Dans quelles pages ? En faisant quelle action précisément ? C’est ça qu’il faut expliquer pour savoir quoi faire, tester, reproduire

    • le message est si fugace que je n’ai ni le temps de le lire, ni de faire une copie d’écran...

    • bah du coup on moi donnez nous une adresse et une procédure pour qu’on puisse le reproduire...

    • et tant qu’à faire si c’est un formulaire formidable, envoyez nous un export .yaml...

    • J’ai capturé en vidéo de la fenêtre et ensuite réalisé une capture du message en pièce jointe.
      Bien à vouS.
      Michel

    • Apparement la mise à jour ne s’est pas faite totalement, et ta structure de table de données n’est pas bonne.

      Est-ce que tu peux repasser par la page de gestion des plugins ? Il devrait t’indiquer un message du style “mise à jour de formidable en 1.0.0”, quelque chose comme ca.

    • Voici ce que j’ai :

      Formidable 4.7.0 - stable
      Générateur de formulaires

      Plugin actifConfiguration Formidable
      Création de formulaires avec une interface graphique et configuration des traitements associés (envoyer par courriel, enregistrer les réponses, etc).

      Documentation
      par
      RastaPopoulos, Les Développements Durables, Maïeul
      Licence
      GPL 3
      Version :
      4.7.0
      Préfixe
      formidable
      Répertoire :
      plugins/auto/formidable/v4.7.0/
      Nécessite :
      SPIP Bonux ≥ 3.3.8, Saisies pour formulaires ≥ 3.34.0, API de vérification ≥ 1.6.2, YAML ≥ 1.5.2, Facteur ≥ 3.6.2, NoSPAM ≥ 1.6.1

    • ce n’est pas du tout ce que je demandais ;)

      je parlais plutot d’un message qui t’indique une MISE À JOUR. Cf capture d’écran

    • Je n’ai pas de message de ce type actuellement... Je l’ai eu lors de la mise à jour vers 4.7.0

    • hum

      tu as du être victime du bug de l’opcache php recalciltrant.

      La seule solution que je vois est de créer à la main le bon champ dans phpmyadmin

    • Je vais tester à nouveau en ayant désactivé et réactivé...

    • Bonjour,
      J’arrive dans la conversation en cours, mais j’ai également le même problème que Michel.

    • @michel : c’est pas en désactivant/réactivant que tu va corriger le problème, puisque le problème est précisement le manque de création du champ, et l’activation/desactivation n’y change rien.

      Cela étant, on me murmure que la solution la plus simple à ce problème (fréquent mais que je ne rencontre jamais car dépend des configurations hébergeur) c’est de passer dans Maintenance->Maintenance technique->Réparer la base.

    • Merci.
      Pour mon cas, cela a corrigé le problème.
      Bonne soirée et merci de votre réactivité.
      jean-Michel

    Reply to this message

  • 6

    Bonjour

    Un très soucis depuis quelques jours : les données des formulaires se mélangent d’une réponse à l’autre.

    J’utilise un formulaire pour que mes clients me fournissent des infos concernant leur projet. Et bien, les données du client précédent sont carrément affichées dans le formulaire du client suivant. Ce sont des données confidentielles. Mes clients perdent confiance et nous nous mélangeons les pinceaux dans les projets.

    C’est arrivé il y une semaine pour un client. Je pensais à un BUG transitoire et exceptionnel. Mais cela vient de se reproduire sur plusieurs clients.

    • Heu... peut être un bug de votre côté sur la manière dont vous appeler les formulaires en disant de reprendre les anciennes données lorqu’un client veut modifier ses données, mais il y a pas de raison que cela se produise.

      Donc deja

      1. Quel est la configuration du formulaire ?
      2. Comment l’apperlez vous

      Et surtout : avec vous mis à jour formidable récemment. Cela permettrait de detecter une éventuelle regression.

    • Merci pour l’aide

      La configuration :
      -  Enregistrer les résultats du formulaire dans la base de données
      -  modération a posteriori
      -  Modifiable : Les visiteurs peuvent modifier leurs réponses après coup.
      -  Identification : Par cookie (identifiant aléatoire, ne stocke aucune information personnelle)

      Appelé dans le texte d’un article :

      <formulaire|formidable|id=ficheprojet>

      J’étais sur la version 4.0.7. Je viens de faire la mise à jour vers 4.6.2.
      Donc très en retard, mais c’est inquiétant que le bug survienne subitement sans mise à jour préalable.

    • Donc tu étais sur la 4.0.7 au moment où tu avais le bug, et tu viens juste de passer en 4.6.2 ? ou bien tu étais en 4.0.7 et c’est en passant en 4.6.2 que tu as eu le bug ?

    • Le bug était avec la 4.0.7.

      J’ai mis à jour vers 4.6.2 en lisant votre message. Pour le moment, je ne peux pas dire si le bug est toujours présent ou pas. Il n’y a que mes clients qui peuvent me le dire. Je reviendrai ici si besoin.

    • Des nouvelles sur ce problème ?

    • Bonjour Maïeul, merci pour le suivi.

      Le bug ne s’est pas reproduit depuis.

      Vu l’étrangeté, je me demande si il n’est pas lié à un manque d’espace disque sur le serveur ? cela m’arrive régulièrement ; des logs et des caches qui grossissent jusqu’à saturer le disque. Cela provoque des trucs bizarres. Peut-être que APACHE s’embrouille dans les fichiers de sessions, faute de ne pouvoir en créer de nouveau. Du coup, mixe entre les visiteurs.

      Il se trouve que c’est arrivé à la même période.

      Ni SPIP, ni FORMIDABLE ne seraient en cause si cette hypothèse est avérée.

    Reply to this message

  • 4

    Bonjour et merci pour ce travail qui me rend bien service.

    Mon soucis :
    Je n’ai pas la liste des formulaires et des réponses dans l’espace privé.

    J’ai vérifié et mis à jour Spip en SPIP 3.2.8 [24473] & Formidable en 4.6.2 .
    Indices: une fenêtre de bug avec “2 erreur(s) dans le squelette”
    N°1=> Critère inconnu “Objet” dans le squelette :
    ../plugins/auto/formidable/v4.6.2/prive/objets/liste/formulaires.htm
    boucle _formulaires ligne 7
    et N°2=> id_objet même endroit.
    Pour info, j’ai choisi dans préférences: “Afficher le menu Développement”
    Et avec la possibilité de voir les tables de la base, j’ai bien mes formulaires et les réponses.
    Ce n’est donc que la visu dans l’espace privé qui semble poser problème.

    Dans le squelette signalé, j’ai enlevé dans la boucle indiquée {objet?}{id_objet?} et ça affiche bien la liste des formulaires, mais je ne sais si ça ne risque pas d’impacter le reste ???

    Par avance merci de votre intérêt, Alain
    Si quelqu’un peut m’indiquer quoi faire, je serais très reconnaissant.

    • As tu bien la table spip_formulaires_liens ? qu’-est-ce que cela donne si tu fais un &var_mode=recalcul dans l’espace privé ?

    • Oui, j’ai bien la table : spip_formulaires_liens
      &var_mode=recalcul me redonne bien la liste des formulaires, merci beaucoup
      c’était cela qui coinçait !!!

      Je saurais m’en souvenir, encore merci Maïeul

    • Après avoir fermé le navigateur et ouvert à nouveau, je dois mettre &var_mode=recalcul pour avoir mes formulaires, ce n’est pas d’office affiché.
      Je suis sous Firefox, dernière version et je vide le cache et l’historique à chaque fermeture.
      Je sais comment me dépanner, mais si ce n’était pas nécessaire de faire la manip, ce serait plus “Formidable”, merci, Alain

    • bah heu il y a que chet toi que cela arrive, comme si tu avais un vieux cache de spip qui trainait.

      Donc vide l’ensemble de ton cache spip, deja, et on verra ensuite.

    Reply to this message

  • 2

    Bonjour,
    Message d’erreur reçu lorsqu’un visiteur veut remplir le formulaire https://laccreteil.fr/spip.php?article423 sur notre site :
    Formidable 4.6.2 & Saisies pour formulaires 4.0.0 & SPIP 3.2.8 [24473]

    Fatal error: Uncaught Error: Call to undefined function saisies_lister_par_etapes() in /home/laccrete/www/plugins/auto/formidable/v4.6.2/formulaires/formidable.php:226 Stack trace: #0 /home/laccrete/www/ecrire/public/aiguiller.php(222): formulaires_formidable_verifier_dist(’Alerte1’) #1 /home/laccrete/www/ecrire/public.php(105): traiter_formulaires_dynamiques() #2 /home/laccrete/www/spip.php(26): include(’/home/laccrete/...’) #3 main thrown in /home/laccrete/www/plugins/auto/formidable/v4.6.2/formulaires/formidable.php on line 226
    L’avez-vous constaté ailleurs?

    Bonne journée
    Michel

    • Tu a eu le bug de la version fantome du plugin saisies. La version 4.0.0 a été diffusé par erreur, mais n’existe pas en vrai.

      Donc
      1. Déinstalle la version 4.0.0
      2. Reinstalle la bonne version 3.43.0 (version actuelle)

    • Parfait, c’est OK maintenant!
      Merci beaucoup!

    Reply to this message

Ajouter un commentaire

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom