Et si on se faisait une expo de nos sites ?

Je suis venue au dernier apéro parisien avec une idée en tête, qui faisait suite à l’envie (exprimée ici) de voir un peu les sites bidouillés lors des apéros d’ici et d’ailleurs... Car l’inconvénient c’est qu’on travaille en général par petits groupes autour d’un ordi, et même si l’on échange par dessus les écrans, il m’est souvent arrivé de repartir sans avoir vu ce que traficotaient mes voisins et voisines, zut ! À force, ça m’a donné l’envie de voir aussi ce qui se faisait dans les autres apéros. On se fait une expo ?

Comment faire ?

Avec SPIP, ce genre de chose est très simple : il suffit de créer un article et d’y activer une "pétition", afin que chacun et chacune puisse la "signer" en présentant son site. C’est la solution utilisée sur le site officiel de SPIP, pour référencer les sites sous SPIP : http://www.spip.net/fr_article884.html.

Mais ça ne suffit pas. Il faut aussi intervenir sur les squelettes, pour qu’ils affichent bien le formulaire qui permet de signer la pétition (#FORMULAIRE_SIGNATURE) et ses résultats, grâce à une boucle SIGNATURES. Comme les squelettes de ce site sont accessibles ici, j’ai pu les télécharger sur mon ordi pour les examiner.

Le problème...

Aïe ! Il y a un problème : sur SPIP Party, les pétitions sont déjà utilisées pour l’inscription aux ateliers, et le formulaire a été modifié pour cet usage. Il ne présente plus que 2 champs de saisie, pour le nom et l’adresse e-mail, ce qui le rend inutilisable pour référencer un site (puisqu’il manque url, nom du site et descriptif).
J’ai passé une bonne partie de l’apéro à chercher une solution. En réalité, il y en a plusieurs — il y a TOUJOURS plusieurs solutions —, mais j’en cherchais une belle, bien fichue, pratique, c’est-à-dire transparente pour l’utilisateur, pour lui simplifier la vie.
-  La première idée était, puisqu’il y a deux usages différents, de tout faire en double : 2 formulaires différents, placés dans 2 squelettes d’articles différents pour afficher des résultats différents, le tout commandé par 2 mots-clefs... Ça paraît simple et logique, mais ça fait beaucoup de nouvelles choses à coder, et surtout, ça m’ennuie de devoir demander aux rédacteurs et rédactrices de ce site de bien penser à ajouter le mot-clef ad hoc. Mauvaise idée donc.
-  On ne sait pas encore comment faire pour éviter ça, mais le problème du formulaire est incontournable. On pense tout d’abord à faire comme pour n’importe quel site : créer un formulaire de toutes pièces, en HTML traditionnel. Mais alors, comment collecter les résultats ? comment les afficher, avec quelle boucle ? Euh... c’est plus simple d’en revenir à SPIP...
-  Inspirées par notre voisin qui se bat avec les champs #EXTRA et le plugin Champs homonymes, on va regarder du côté des plugins (LA grande nouveauté de SPIP 1.9), et on teste le plugin Forms , qui fait ça très bien (épatant ce plugin !) : il permet, depuis l’espace privé et en quelques clics, de créer un nouveau formulaire ET de l’insérer dans la page, ce qui est beaucoup plus simple pour les rédacteurs et rédactrices. Mais ce plugin crée une nouvelle table dans la base de données de SPIP : ne pourrait-on pas éviter ça ?
-  La seconde idée était d’utiliser strictement ce que SPIP met à disposition, en faisant 2 variantes de formulaire_signature.html, sous forme de "modèles" (une nouveauté de SPIP 1.9.1), qui seraient alors appelés depuis l’espace privé par 2 balises différentes (par exemple <form1> ou <form2>), à insérer dans le corps de texte de l’article... et si on pouvait encore simplifier la vie des rédacteurs et rédactrices et leur épargnant d’avoir à faire ce choix ?

Il faut toujours partir de la dist clin d'œil

J’en étais là de mes essais en quittant l’apéro, puis j’ai trouvé mieux, un peu plus tard dans la nuit, en examinant le code du fichier formulaire_signature.html de la dist... Ce fichier contient le code du formulaire de signature des pétitions, et produit un affichage différent selon les options cochées dans l’espace privé. Très intéressant ! J’y remarque en particulier que l’affichage d’un libellé textuel est conditionné par #ENV{site_obli}, c’est-à-dire en fonction de l’option indiquer obligatoirement un site Web. J’ai de la chance : c’est là tout ce dont j’ai besoin !

J’ai donc transformé le fichier formulaire_signature.html en utilisant abondamment [(#ENV{site_obli}|?{site facultatif,site obligatoire})], de façon à ce qu’il affiche tous les champs si l’inscription d’un site est obligatoire, et seulement les 2 champs (nom + email) dans le cas contraire. Le code de ce formulaire transformé est lisible ici, et son application... prochainement en ligne, j’espère ;-)
On a donc un seul fichier, qui produit 2 formulaires différents (c’est ce que j’appelle une noisette conditionnelle), et rédacteurs & rédactrices n’ont à se soucier de rien, youpi !

Vos commentaires

  • Le 2 avril 2007 à 19:24, par ? En réponse à : Et si on se faisait une expo de nos sites ?

    Il faut toujours partir de la dist

  • Le 20 septembre 2007 à 16:29, par Cyril En réponse à : Et si on se faisait une expo de nos sites ?

    c’est un point de vue... personnellement, je conseille plutot de partir d’une page html simple, et d’ajouter peu à peu des boucles et des balises...

    On peut toujours s’aider des squelettes de la dist pour avancer, mais comme dans tout apprentissage, il vaut mieux commencer par se tenir debout avant de savoir marcher (savoir jouer avec une balise avant de faire un squelette)...

  • Le 30 octobre 2009 à 11:12, par Pierre En réponse à : Et si on se faisait une expo de nos sites ?

    Bonne idée !! :)

    Citation

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
  • Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Suivre les commentaires : RSS 2.0 | Atom

septembre 2017 :

Rien pour ce mois

août 2017 | octobre 2017

Abonnez vous