Hello les amis,

Je voudrais partager avec vous un petit retour d'expérience sur la
difficulté à personnaliser des formulaires existants qui par nature sont ou
devraient être assez génériques.

Je viens de terminer le développement du plugin SVP Typologie, le nouveau
module connexe de SVP qui permet aujourd'hui de gérer entièrement les
catégories et les tags de plugin. De fait, cette gestion a été extraite de
SVP et complètement déléguée à ce nouveau plugin.
Il est donc possible aujourd'hui de migrer sans douleur et sans reprise
immédiate de tous les paquet.xml vers les nouvelles catégories. Cela permet
aussi d'alléger SVP dans l'objectif de passer un jour à un SVP Composer.
Dans la foulée, SVP API, le module REST qui permet de récupérer les
collections plugins et dépôts (et oui ça existe!) a été enrichi avec les
collections catégories, tags et affectations (des catégories et des tags
aux plugins). Cela permettrait à un site de récupérer les listes et les
affectations de catégories et de tags aux plugins si besoin.
Voilà pour un petit état des lieux des travaux SVP.

Pour implémenter les typologies (catégorie et tag) j'ai utilisé les
mots-clés techniques et arborescents, les typologies étant matérialisées
par des groupes de mots-clés. Rien d'exceptionnel donc et surtout mais cela
m'a permis de ne pas tout redévelopper.
Les types d'une typologie, appelés génériquement "types de plugin" sont
donc des mots-clés de groupes spécifiques.
Pour définir ou modifier ces types j'ai donc utilisé le formulaire
d'édition d'un mot dans une page dédiée (pas mot_edit) en le personnalisant.
Pour le personnaliser j'utilise donc le pipeline formulaire_fond pour
intercepter le HTML et le modifier.
La modification est assez compliquée car elle joue sur des REGEXP et des
remplacements qui pourraient s'avérer fragiles si on modifiait la structure
du formulaire initial.
Rien de rédhibitoire mais pas super friendly.

Et là je me suis dit que si le formulaire était décrit en PHP avec Saisies
ça simplifierait énormément les choses.
On jouerait juste sur des tableaux ou des index.
Alors je n'ai jamais été un fanatique de Saisies (surtout le YAML) mais en
l'occurrence pour des formulaires un peu génériques je trouve que c'est un
plus indéniable et cela apporte de la simplicité et de la robustesse au
code de personnalisation.
Ne faudrait-il pas envisager une telle migration pour un certains nombre de
formulaires.
Franchement, un tableau PHP de Saisies est tout à fait lisible de mon point
de vue.
Maintenant, ça forcerait à intégrer Saisies au plugins du Core (débat
récurrent) et donc à stabiliser son développement voire à le découper un
peu comme N-Core et Noizetier pour n'y intégrer qu'un noyau et pas toutes
les saisies qui fleurissent tous les jours.

En tout cas, ça me parait une question à se poser et un projet intéressant.

Qu'en pensez-vous ?


++
Eric
----
spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone

Répondre à