[SPIP Zone] coder un plug ou se servir de jquery ?

Bonjour,

j'aimerais votre avis.

Je cherche à modifier le comportement des listes de mots clés dans la page ?exec=mots_tous (espace privé).

1ère étape: créer un bouton supplémentaire à côté de ceux
modifier ce groupe de mots
créer un nouveau mot clé
supprimer ce groupe (caché si le groupe n'est pas vide).

Après une journée passée dans le code de divers plugins et dans celui de spip, si je trouve plusieurs moyens de parvenir à mes fins, je ne trouve *pas* celui d'éviter des conflits avec d'autres plugins.
Notamment quand ils ont leur propre page mots_tous.
ça nique mon inserion d'un <td> supplémentaire contenant le bouton ...

Or, en 5 minutes, je code un script utilisant jQuery

$("div#contenu>div.cadre>div.cadre_padding>table>tbody>tr>td").each(function(i){

var idgrp=$("a",this).attr("href");
idgrp=idgrp.substr(idgrp.indexOf("?")+1).split("&")[1].split("=")[1];

$(this).after('<td><a ... et ses attributs /><span>Modifier qqchose dans le groupe n° '+idgrp+'</span></a></td>');

})

Et je vais poursuivre dans cette voie:
le bouton au lieu d'appeler un ?exec=unepagephp, va appeler un script jquery (à la volée) qui va ouvrir un truc style jqmodal chargée via ajax (sur une page avec un squelette spip qui me ramène ce que je veux)
je fais mes manips (en l'occurrence, une numérotation hiérarchique via un tree drag'n'droppable)
un bouton "save" pour sauver le résultats dans la base de données via une requête spip
le jqmodal se ferme et
(méthode brutale) recharge la page mots_tous
(méthode fine) va rechercher via ajax le contenu du groupe et le met à jour sans tout recharger.

A vue de nez, 2 heures de boulot (sans compter évidemment le temps à peaufiner les fichiers langues et l'aspect visuel)

Sur ce je réfléchis ...
c'est évidemment beaucoup plus rapide à développer qu'un plugin dans les règles de l'art (pipelines, surcharge, réécriture de pages inc ou exec, etc.) parce que c'est beaucoup plus facile !
C'est en outre plus simple à maintenir pour suivre la svn par exemple.
Et je ne surcharge pas inutilement les pages de l'espace privé avec quantité d'onglets, boutons, menus, etc. Je les crée à la volée, selon les besoins.

Le principe peut s'appliquer à beaucoup de choses compte tenu de la puissance de JQuery.

Je n'utilise plus que des squelettes, et les fonctions natives de spip pour le traitement des données et la sauvegarde.

Bien sûr je ne peux pas tout faire avec ça !

Néanmoins

je pose la question aux spécialistes des plugs:
cette méthode est-elle à proscrire ?
Si oui pourquoi ?
Sinon pourquoi n'est-elle pas plus utilisée ?

merci de votre avis
RB

rburton a écrit :

$(this).after('<td><a ... et ses attributs /><span>Modifier qqchose dans le groupe n° '+idgrp+'</span></a></td>');

je pose la question aux spécialistes des plugs:
cette méthode est-elle à proscrire ?
Si oui pourquoi ?
Sinon pourquoi n'est-elle pas plus utilisée ?

J'imagine que quelqu'un qui n'a pas javascript ne peut tout simplement pas voir tes modifications.

MM.

Matthieu Marcillaud a écrit :

J'imagine que quelqu'un qui n'a pas javascript ne peut tout simplement pas voir tes modifications.

Certes
mais pour ce qui est de l'utilisation de l'espace privé, je me demande s'il y a une seule personne qui débranche son javascript ...
Essaie d'utiliser l'espace privé natif ... sans le javascript !
Je veux bien encore imaginer que pour des raisons d'accessibilité, ce point reste à retenir pour l'espace public, mais pour l'espace privé (administrateurs, webmasters, rédacteurs), il me semble que requérir le javascript n'est pas excessif !

RB