Formidable, le générateur de formulaires

Un générateur de formulaires facilement configurable pour les non-informaticiens 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 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 :

  1. #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 :

  1. #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.

  1. #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 :

  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.

Envoi de fichiers

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

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)

Dernière modification de cette page le 23 mars 2019

Discussion

649 discussions

  • 11

    Bonjour,
    Problème pour valider « Configurer les traitements » -> Page blanche + non prise en compte des changements. sous SPIP 3.2.4, tous les plugins mis à jour, corbeille vidée, et PHP 7.0. Pour info « Configurer les champs » fonctionne quant à lui.

    • y a t-il eu une mise à jour récentr des plugins ?

    • Bonjour Maïeul,
      Oui, comme je le disais, TOUS les plugins ont été mis à jour. Cache (et non corbeille) étant vidé, également par FTP pour être certain.

      Pour tester et mieux te renseigner, je viens de désactiver tous les plugins sauf Formidable et ceux qui lui sont nécessaires, et de vider le cache.
      1) D’abord, j’ai le site complètement en rade, page d’erreur SPIP : « Attention : un problème technique (serveur SQL) empêche l’accès à cette partie du site. Merci de votre compréhension. »
      Au bout de quelques minutes j’ai de nouveau la main. J’essaye de modifier le formulaire.
      2) Là, j’essuie un 503 « Service Temporarily Unavailable ». Comme quand j’ai mis à jour les plugins il y a 4 jours. Au bout de 20 min je reprends la main
      3) Il n’y a donc que le plugin formulaire. Or ça continue de planter dans la partie « traitement » quand on essaye de valider...

    • Oui, comme je le disais, TOUS les plugins ont été mis à jour. Cache (et non corbeille) étant vidé, également par FTP pour être certain.

      la phrase était ambigue. On pouvait comprendre que le problème survenait MALGRÈS la mise à jour du plugin et pas SUITE a une mise jour des plugins.

      Cela étant, on dirait fortement que tu as une grosse, grosse instabilité au niveau de l’hébergeur, qui coïncide avec cela. Il n’y a pas eu de mise à jour récente de formidable qui pourrait expliquer cela. Pour voir d’où cela provient, il faudrait les logs du serveur.

    • Je me demandais si un des plugins dont dépend Formulaire ne créait pas un bug.

      En début de semaine, sur un site (en PHP 5.6.30) qui avait complètement planté suite à une mise à jour des plugins sous SPIP 3.2.1, je me suis résolu à downloader le site en local, mettre à jour les plugins et passer sous 3.2.4, pour rebalancer online. Ce fut la seule façon. Ca ne cessait de planter, j’ai dût tenter la manip 100 fois, n’y croyant pas vraiment. Saisies, Couteau Suisse, Yaml étaient parmi ceux qui faisaient automatiquement bugger le processus d’installation, ce qui occasionnait l’impossibilité d’accès à l’espace privé : page blanche. Obligé de renommer en FTP le dossier « plugins » pour reprendre la main. de recharger, vider le cache... quelque chose cloche.

    • page blanche -> configurer pour afficher les erreurs > on pourra y voir plus clair https://contrib.spip.net/Mon-site-affiche-une-page-blanche-ou-je-ne-peux-plus

    • Quant aux logs, je les ai, mais ne sais pas les interpréter...

    • bah nous les envoyer (éventuellement en privé) permettrait peut être d’avoir des pistes.... nous on peut peut être les interpreter

    • Quel est l’hébergeur / type d’hébergement (dédié, VPS, mutualisé...)  ?

    • Bonjour Manu,
      Tous les sites sont en mutualisé, chez 2 ou 3 prestataires. Certains sous PHP5.6, d’autres en 7.0, 7.1 ou 7.2.

    • manu

      OK... Alors, je suis un peu comme Maieul : les premiers messages d’erreur laissent présager d’une instabilité/faiblesse côté serveur. Le fait qu’il s’agisse de mutualisés va dans ce sens.
      Si c’est un formulaire formidable qui fiche le bazar (le plugin est un plugin pourtant éprouvé, mais, bon, pourquoi pas) alors, je ferais bien l’essai de ****désinstaller***** (et pas désactiver) puis réinstaller le plugin histoire de redémarrer sur une base propre, puis de rebâtir le formulaire.

    • Re-bonjour Manu,
      Merci pour ta réponse rapide ; Pour info, les formulaires passent très bien après la mise à jour, aucun problème.
      Le problème vient juste au moment de l’installation du plugin, et encore je ne sais pas si c’est le plugin Formidable ou l’un des plugins nécessaires à son fonctionnement (je serais tenté incriminer Saisies ou Yaml). Tout est il que c’est la 1re fois en 10 ans de SPIP que je rencontre autant de problèmes de mise à jour sur autant de sites...

    Répondre à ce message

  • 11

    Bonjour,
    Je viens de faire la mise à jour et j’ai ce message juste sous le bandeau d’en-tête (dans l’espace administrateur)

    Erreur dans les plugins : /home/monidentifiant/www/plugins/auto/formidable/v3.36.3/formidable_pipelines.php

    Quelqu’un peut me dire ce que cela veut dire et pourquoi j’ai ça ?

    • Le cache der SPIP a-t-il bien été vidé ?

    • je ne pense pas que ce soit un problème de cache. On dirait plutot que le ficheir de pipelines a mal été installé.
      Est-ce que tu peux regarder si le fichier est bien présent ?

    • Le fichiers “formidable_pipelines.php” se trouve bien dans le dossier “v3.36.5” avec un total de 32 éléments confondus (dossiers + fichiers).

    • Ah ! Mais le message indique que le problème se situe en v.3.36.3 et non pas v3.36.5. Donc c’est visiblement un problème de cache, effectivement. Un truc a du mal se passer au moment de la mise à jour.

      Vous pouvez soit vider le cacher intégralement, soit effacer les fichiers charger_ dans le dosiser tmp/cache

    • Voici les 4 fichiers trouvés :

      charger_pipelines.php
      charger_plugins_chemins.php
      charger_plugins_fonctions.php
      charger_plugins_options.php

      Si je les supprime tous, que va-t-il se passer ?

    • Il vont se recréer automatiquement, mais avec un contenu actualisé. Normalement ils auraient du être recrée au moment de la mise à jour du plugin, mais visiblement tel n’a pas été le cas.

    • Merci Maïeul ! Juste avant de faire cette nouvelle mise à jour (3.36.6), j’avais supprimé ces 4 fichiers et c’est bon. Je ne vois plus ce message :

      Erreur dans les plugins :
      /home/monidentifiant/www/plugins/auto/formidable/v3.36.3/formidable_pipelines.php

       ;)

    • Bonjour,

      J’ai à nouveau le même problème avec le plugin “saisies” :

      Erreur dans les plugins : /home/monidentifiant/www/plugins/auto/saisies/v3.18.10/saisies_pipelines.php

      Je supprime à nouveau :

      charger_pipelines.php
      charger_plugins_chemins.php
      charger_plugins_fonctions.php
      charger_plugins_options.php

      du dossier tmp/cache ?

    • oui mais ce n’est pas normal. C’est encore arrivé après une mise à jour de plugin ?

    • Oui mais après avoir rafraichi la page la ligne s’en va.
      En faisant “Vider le cache” aussi.

    • oui, mais cela ne devrair pas arriver....

    Répondre à ce message

  • 5

    Alors j’ai un problème avec l’affichage des réponses des formulaires dans le privé.

    J’ai un modèle squelettes/modèles/formulaires_reponse.html
    pour afficher les réponses sur le site public (avec <formulaires_reponse|id_formulaire=x> ) . Il fonctionne.
    Sauf que du coup dans l’espace privé je ne vois plus les valeurs des réponses sur une page / ?exec=formulaires_reponse&id_formulaires_reponse=xx
    Il y a juste « Réponses données : » et rien en-dessous.

    Lorsque je désactive ce squelettes/modèles/formulaires_reponses.html, je vois bien les réponses dans le privé.
    Mais pourquoi ??

    • Il faudrait avoir ton modèle pour en dire plus.

    • Voici :

      <BOUCLE_spip_formulaires(FORMULAIRES) {id_formulaire}>
      
          <B_reponses>
              [<div class='pagination'>(#PAGINATION{page})</div>]
      
              <table class="spip tablesorter">
                  <thead>
                      <tr class='row_first'>
                          <th>Date demande</th>
      
                          [<th>(#SAISIES|unserialize|saisies_chercher{selection_multiple_2}|table_valeur{options/label})</th>]
                          [<th>(#SAISIES|unserialize|saisies_chercher{input_1}|table_valeur{options/label})</th>]
                          [<th>(#SAISIES|unserialize|saisies_chercher{input_2}|table_valeur{options/label})</th>]
                          [<th>(#SAISIES|unserialize|saisies_chercher{input_3}|table_valeur{options/label})</th>]
                          [<th>(#SAISIES|unserialize|saisies_chercher{radio_1}|table_valeur{options/label})</th>]
                          [<th>(#SAISIES|unserialize|saisies_chercher{radio_2}|table_valeur{options/label})</th>]
                          [<th>(#SAISIES|unserialize|saisies_chercher{textarea_1}|table_valeur{options/label})</th>]
                          [<th>(#SAISIES|unserialize|saisies_chercher{email_1}|table_valeur{options/label})</th>]
      
                      </tr>
                  </thead>
                  <tbody>
      
                      <BOUCLE_reponses(FORMULAIRES_REPONSES formulaires){id_formulaire} {pagination 20}>
                          <tr[class="(#COMPTEUR_BOUCLE|alterner {'row_even','row_odd'})"]>
      
                              <td>
                                  [(#DATE|affdate)]
                              </td>
                              <td>
                                  #VOIR_REPONSE{selection_multiple_2,valeur_uniquement}
                              </td>
                              <td>
                                  #VOIR_REPONSE{input_1,valeur_uniquement,''}
                              </td>
                              <td>
                                  #VOIR_REPONSE{input_2,valeur_uniquement,''}
                              </td>
                              <td>
                                  #VOIR_REPONSE{input_3,valeur_uniquement,''}
                              </td>
                              <td>
                                  #VOIR_REPONSE{radio_1,valeur_uniquement,''}
                              </td>
                              <td>
                                  #VOIR_REPONSE{radio_2,valeur_uniquement,''}
                              </td>
                              <td>
                                  #VOIR_REPONSE{textarea_1,valeur_uniquement,''}
                              </td>
                              <td>
                                  #VOIR_REPONSE{email_1,valeur_uniquement,''}
                              </td>
                              </tr>
                              </BOUCLE_reponses>
      
                  </tbody>
              </table>
      
          </B_reponses>
      --Il n'y a pas encore de réponses--
          <//B_reponses>
          </BOUCLE_spip_formulaires>
    • Mais déjà dans la conception même ça ne va pas ton truc. Le modèle il vaut pour tout le site, pour n’importe quel formulaire. Et là tu le surcharges en appelant des champs précis qui ne valent sûrement que pour un formulaire précis.

      Si t’as besoin de ça, tu fais plutôt un modèle avec un autre nom, juste pour ce formulaire là, à priori.

    • Merci,
      j’ai renommé mon modèle et c’est bon. Je ne savais pas que les modèles influaient aussi sur l’espace privé. Maintenant je sais !

    • oui c’est pour ca que je voulais avoir le contenu du modèle. Parce que tu pourrais avoir un modèle générique qui irait pour tout les formulaires, mais qui correspondrait à tes besoins.

      Bref, problème résolu.

      Pour le futur, j’indique que ?var_mode=inclure fonctionne aussi dans l’espace privé. Ca permet de voir comment son construite les pages privées.

    Répondre à ce message

  • 5

    bonjour,
    j’ai créé un formulaire avec une « grille de questions », cela donne l’image en pj : la ligne du titre est noire.
    Je ne suis ps un fort en Css , car je suppose que c’est cela. Ne pourrait t’on pas enlever le fond sur cet objet ce qui simplifierait la tâche pour des nuls comme moi ?
    sinon à court terne, il faut faire quoi à part m’en passer ?
    merci

    • bonsoir,
      est-ce si compliqué ou ma question n’est pas claire ?
      merci !

    • Ce sont les styles de ton thème graphique, donc sans rapport avec ce plugin. Je ne sais ni comment il est fait, quels fichiers il utilise etc, et dans tous les cas ce n’est pas du ressort de ce plugin. Il faudrait plutôt demander à la personne qui a fait le thème du site, ou à la personne qui maintient le thème si c’est un thème générique installable.

    • bonjour,
      justement, ce n’est pas défini dans ses css ,(c’est scolaspip) : moi je lis (sous FF examiner cet élément ), que c’est dans comme une classe (/html/body/div[2]/div[3]/div/div[1]/div/article/div/div[2]/div/div/form/div/div[2]/div[2]/fieldset/div/div[6]/table/thead/tr/th[1]) « th scope » et la background color est #3737373 et il suffit de la mettre à 00000 pour que ce soit lisible.

      Ne puis-je pas ajouter dans l’élément « gille de questions » du formulaire , tab « affichage » , il y a : « Classes CSS supplémentaires » et « Classes CSS supplémentaires sur le conteneur » : que puis-je mettre pour mettre le fond en blanc svp ?

    • Mais rien, ça n’a aucun rapport avec le fait d’ajouter un nom de classe dans l’attribut HTML de l’élément, ça a à voir avec définir les styles graphiques des tableaux ici, et donc aucun lien avec ce plugin qui ne s’occupe pas du tout des styles graphiques, mais avec ton thème. Donc tu dois poser la question aux gens qui ont fait ton thème, comme déjà dit.

    • ok : merci, effectivement : je partage la solution ; il suffit de changer dans l’espace privé du plugin Scolaspip : « Couleur de fond du bandeau » et mettre à FFFFFF par ex (blanc)

    Répondre à ce message

  • 3

    Bonjour,

    Je continue d’explorer votre plug-in.

    J’aimerai pouvoir personnaliser le fichier formulaire_accuse.html à ma guise.
    J’ai d’abord copié le répertoire notifications dans mon dossier squelettes.
    J’ai l’habitude d’utiliser mjml pour créer des mails responsive.

    Dans le fichier formulaire_accuse.html, j’aimerai pouvoir faire quelque chose comme :

    Bonjour {{$nom}},
    Votre email : {{$email}}
    Votre message : {{$message}}

    Mais qu’elles sont les balises à utiliser pour cela.

    J’imagine que c’est quelque part dans :

    [(#ENV*{message_retour}|propre)]
    #VOIR_SAISIES{#ENV*{saisies}, #ENV*{valeurs}}

    Si vous avez des pistes ?

    Merci

    • normalement #ENV{valeurs/nomduchamp}. Attention, par nomduchamp on entend le nom technique du champ (input_1,input_2,etc pas le libellé.

    • Entendu Maïeul et merci.
      Je tente cela en rentrant demain ;-)

    • Excellent ! une fois de plus :-)
      Merci

      J’adopte… belle souplesse pour nos formulaires ce plug

    Répondre à ce message

  • 2

    Bonjour,

    Je suis en train de tester ce super plugin en local pour évidemment l’utiliser par la suite.
    Je rencontre un souci tout bête !!! :-)
    Je ne vois pas ou changer l’intitulé du bouton submit :
    Pour moi c’est « Enregistrer » alors que je souhaiterai autre chose comme « Envoyer » ou autre…
    Merci de vos réponses.

    • Ce n’était pas possible jusqu’il y a peu. C’est désormais possible après les dernières modifications de Rastapopulos.
      Donc si vous avez bien la dernière version, vous avez au dessus de la liste des champs, lors de la modification des formulaires, un bouton « configurer les options globales ». Un clique dessus fait apparaître un formulaire permettant de régler cela.

      Et si vous désirer le faire pour l’ensemble des formulaires, c’est possible en changeant une chaîne de langue.

    • Merci beaucoup Maïeul
      C’est justement très pratique de pouvoir mettre ce que l’on veut sur chacun des formulaires !!
      Extra.

      Je reviendrai pour d’autre question je pense ;)

      Merci

      Chrys

    Répondre à ce message

  • 1

    Bonjour,
    Jamais je n’aurais pensé que ça pouvait être aussi simple, surtout avec le tuto qui m’a servi ++ .
    Une chose manque à mon bonheur, comme puis-je embellir tout ça avec des styles que j’ai dans perso.css ? Faut-il en faire des spécifiques ?
    Bonne journée,
    Yves

    • Bonjour, merci à l’avenir de répondre au message de forum auquel vous répondez, et non pas de commencer un nouveau sujet.

      Pas compris votre question sur les styles. Normalement les formulaires formidable portent les classes standards des formulaires SPIP. Il est aussi possible d’ajouter des classes spécifiques sur certaines saisies.

    Répondre à ce message

  • 9

    Bonjour
    Je souhaite afficher dans un formulaire une réponse pré-remplie avec le nom d’utilisateur de la personne qui complète le formulaire (et donc qui s’est connectée).
    Comment dois-je faire ?
    D’avance merci.
    Guietfa

    • est-ce que vous inséfrer votre formulaire dans un article ou bien directement dans un squelette ?

    • Je l’insère dans un article

    • Bon,
      alors le mieux serait de créer son propre modèle.

      La doc sur les modèles.
      https://www.spip.net/fr_article3454.html

      On va donc créer dans le dossier modeles du dossier squelettes (à créer le cas échéant) un fichier form_prerempli_session.html, contenant la simple ligne suivante

      #FORMULAIRE_FORMIDABLE{#ENV{id_formulaire}, #ARRAY{#ENV{champ},#SESSION{nom}}}

      Explication :
      -  comme expliquer en haut, #FORMULAIRE_FORMIDABLE permet dans un squelettes d’afficher un formulaire formidable (logique)
      -  le numéro de formulaire sera passé en paramètre au modèle : #ENV{id_formulaire}
      -  le champ #ENV{champ}, passé en paramètre, sera prè rempli avec la valeur du champ <code>nom de la session courante.

      Et donc ensuite, si le formulaire en question est le 4 et le champ à pre-remplir est input_1, on insère dans un article avec

      <form_prerempli_session|id_formulaire=4|champ=input_1>
    • Merci beaucoup pour ta réactivité et ta pédagogie !
      Je me rends compte que ce n’est pas si simple que ce que j’espérais.
      Du coup, ma question était mal posée. En fait, je souhaite pré-remplir le nom d’utilisateur dans un champ (input5) puis je souhaite également pré-remplir la biographie de l’auteur dans un second champ (input7)
      Quelle sera la marche à suivre du coup ?
      Désolé pour cette nouvelle question...

    • Pas si compliqué que cela. C’est juste que ce n’est pas livré « clé en main » car pas un besoin suffisament générique.

      Donc dans ton fichier form_prerempli_session.html mettre plutôt

      #FORMULAIRE_FORMIDABLE{#ENV{id_formulaire}, #ARRAY{#ENV{champ_nom},#SESSION{nom},#ENV{champ_bio},#SESSION{bio}}}

      et dans l’article

      <form_prerempli_session|id_formulaire=4|champ_nom=input_5|champ_bio=input_7>

      Comme expliqué en début d’articvle, on peut passer en paramètres les valeurs de bases de n’importe quel champ. Ici, j’ai juste mis un peu de souplesse en disant que le nom des champs à preremplir se passe au moment de l’appel au modèle, ce qui permet des évolutions plus facile dans le futur.

    • Merci beaucoup. Tout cela fonctionne parfaitement.

    • pas de souci...

    • C’est génial ce modèle. Est-ce que par hasard il est possible récupérer en plus la valeur d’un champ d’un autre formulaire remplit par le même auteur ?
      Dans mon cas l’auteur est récupéré par un champ hidden :
      <form_prerempli_session|id_formulaire=8|champ=hidden_1>
      et j’ai un autre formulaire :
      <form_prerempli_session|id_formulaire=7|champ=hidden_1>

      Ça permettrait de récupérer les valeurs consolidées concernant un même ID auteur

      Bon là c’est peut-être un peu too much, mais sait-on jamais

      Merci en tout cas je m’éclate bien avec formidable.

    • tu dupliquerai ainsi l’info entre deux champs. Il vaudrait mieux n’enregistrer l’info qu’une fois et rechercher la deuxième fois. Enfin, ca depend du problème exact, du besoin. Pas sur que ce soit la bonne solution.

    Répondre à ce message

  • 4
    Michel du lac de Créteil

    Bonjour,

    Je souhaite permettre un signalement sur une carte (emplacement) par un point ou un cercle (par ex. avec GIS4) par le visiteur qui rempli le formulaire https://laccreteil.fr/spip.php?article423 ,
    -  Cette problématique vous a-telle été déjà posée ?
    -  Idem idem avec une image comportant des données EXIF de GPS (prise de vue par smartphone, reflex, etc.) ?

    Bonne journée.
    Michel
    https://laccreteil.fr

    • Le plugin GIS propose une Saisies « carte », mais elle n’est pas déclarée techniquement (avec un YAML du même nom) afin d’être listée avec les autres types de champs. Cela dit, ça ne fait pas tout, car un point, c’est une latitude et une longitude, et la saisie actuelle ne gère pas ces champs, elle gère juste la carte, et quand on clique ça peut remplir la valeur de champ déjà existant par ailleurs.

      Bref, c’est pas du tout cuit, ya une base, mais ya rien de directement utilisable tout de suite.

    • Michel du lac de Créteil

      Effectivement, c’est ce que j’ai constaté... mais il doit y avoir d’autres solutions.
      -  Le besoin en informations géographiques devient de plus en plus important et leur traitement permet d’enrichir considérablement les connaissances dans certains domaines ( biodiversité => inaturalist.org, photo => Flickr.com, etc. ).
      -  Pour ce qui concerne les photos réalisées avec un smartphone ou un reflex équipé d’un GPS, les informations sont dans les données EXIF, serait-il possible de les récupérer automatiquement, et afficher ensuite le positionnement sur une carte ?
      Bonne journée.
      Michel
      https://laccreteil.fr
      https://laccreteil.fr/spip.php?article376 (iNaturalist)
      https://www.flickr.com/map (carte Flickr)

    • Aucun rapport avec Formidable, donc, mais GIS fait déjà ça, il récupère déjà les données géo des documents joints quand tu actives les points sur les documents.
      https://zone.spip.net/trac/spip-zone/browser/spip-zone/_plugins_/gis/trunk/gis_pipelines.php#L86

    • Michel du lac de Créteil

      Le rapport avec Formidable est évident !!!
      Il nous faut un moyen simple pour que la personne qui remplit le formulaire puisse communiquer la position de son observation, que ce soit à partir de coordonnées GPS, d’une carte, d’une photo géopositionnée, ou tout autre moyen... actuellement nous faisons télécharger une photo aérienne du secteur et demandons de positionner un point sur cette photo et de nous joindre ce fichier modifié au formulaire... mais c’est compliqué et nous recherchons un moyen simple et intégré au formulaire.
      Bonne journée.
      Michel
      Pour exemple http://laccreteil.fr/spip.php?article423

    Répondre à ce message

  • 2

    Bonjour,

    Savez-vous s’il y a une manière plus ou moins compliquée de rajouter un captcha à un formulaire formidable ?

    • Le captcha est une mauvaise solution qui n’aide que les dévs en embêtant tous les utilisateurs.

      Tu peux par contre mettre NoSpam, qui sert à ça, Formidable s’y déclare déjà, ya rien à faire.

    • Avez vous deja activé le plugin antispam ? Le captcha n’est vraiment pas une bonne idée.

    Répondre à ce message

Ajouter un commentaire

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

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom