Carnet Wiki

ZxWP : un plugin d’administration en public..

Page de réflexions, analyse et notes techniques de travail, pour proposer un plugin d’administration de SPIP (au niveau Redacteur, Administrateur) permettant la quasi-totalité des manipulations d’édition depuis et dans l’espace public standard, sans modification du core de spip, ni meme surcharge des appels de #FORMULAIRES standard de SPIP.

Des deux approches suggérées (une interface par Services Web cf Mist. GraphX ou un plugin dans l’esprit initié par MiniBando qui étend le classique bandeau spip_admin d’administration contextuel), cette page s’intéresse à l’approche de création d’un plugin.

Nota Bene : il s’agit d’un travail en cours de conception, donc actuellement ne pas considérer cette rédaction comme aboutie et finalisée ; Vos remarques sont aussi les bienvenues, dans le texte ou en commentaires...

Le contexte

Si pour des rédacteurs habitués à créer des articles dans SPIP l’espace privé propose une interface structurée par thématiques fonctionnelles, simple à comprendre dans cette perpective de « redaction » journalistique, ce n’est plus la meme chose dans un contexte de travail collaboratif [1], où la logique est d’abord une logique applicative, soit informationnelle (enrichir les informations autour d’un thème, qu’il s’agisse d’une rubrique, d’une entreprise ou d’une notion technique ou commerciale...) soit d’une logique « métier » (par exemple dans un intranet Qualité ou Support de Production, ou fillière administrative) : les utilisateurs interviennent dans l’espace de consultation public de SPIP -qui est leur outil d’information avant d’être leur outil de travail-rédaction collaborative- et veulent passer du statut de consommateur au statut de participant contributeur (d’abord en commentant => forum, puis en contribuant => wiki [2], enfin en participant => création d’articles) [3].

L’approche prise en compte considère [4] l’adjonction d’un menu de commandes complet dans l’espace public.

Description extérieure de la solution

En raison de la largeur croissante des ecrans, proposer une colonne à gauche de l’ecran (de largeur limitée aux icones principales) pour fournir l’équivalent du bandeau horizontal de SPIP [5]

Analyse technique du plugin à créer

La solution est naturellement de proposer un plugin (compatible a la fois pour les squelettes classiques et les squelettes sur le principe Z), remplaçant les boutons d’administration traditionnels, comme le fait déjà MiniBando !
Le principe étant de rester (au maximum) sur l’espace public de façon contextuelle, le premier point concerne le retour en fin d’edition (le paramètre #SELF du formulaire du privé), pour des squelettes de formulaires dans ./prive/formulaires/.. qu’il n’est pas question de modifier ni de surcharger.

[1Voir un mail précédent https://www.mail-archive.com/spip@r... donnant quelques aperçus !

[2Cf. le plugin Crayons !

[3Cf. la progression d’implication décrite par B.Bayard : conférence à La Liberte de l’Esprit !

[4à l’exemple de WordPress depuis les versions 3.7

[5Voir pour mémoire le travail de Luis (ici ? et ) qui proposait une stylisation ’verticale’ du bandeau privé originel de SPIP 2 !

Cette page fait suite à de nombreuses reflexions depuis Quels-besoins-pour-une-edition-collaborative-sous-SPIP , relancées par un échange sur IRC, retranscrit partiellement ci-dessous :

Les contraintes et motivtions

10:47:23 - mist_gx : Salut YannX ;-) non ^^ pas avancé plus que ça, quand je l’ai mis en test ça perturbais plus les utilisateurs-trices que ça n’apportais de confort d’utilisation , maintenant je pense plutot a une administration coté public directement ce qui permetrais beaucoup plus de souplesse au niveau design sans péter l’interface privé qui reste réservé aux webmestres
10:47:53 - mist_gx : vla la ou j’en suis au niveau réflexion …
10:48:55 - YannX : oui mist_gx j’en suis sur la meme demarche : avoir un transfert du mini-bando en mode ZxWP (analogie « trollesque »),
10:48:55 - YannX : qui donnerait sur le coté gauche une min colonne permettant l’appel des pages liées
10:49:15 - YannX : cela parait bcp plus facile aux utilisateurs dans une logique de site collaboraitf
10:49:37 - YannX : et simplifie la compréhension de novices en Web […]
-eliminer l’accès au privé pour les redacteurs (voire les administrateurs) me semble une tres bonne voie d’evolution pour un SPIP collaboratif

10:50:58 - pierretux : YannX : avec #SELF dans les formulaire
10:51:09 - pierretux : perso moins l’utilisateur va dans spip, mieux on se porte
10:51:35 - YannX : oui pierretux (salut) mais cela implique de surcharger pratiquement tous les formulaires de l’espace privé !

Les Solutions techniques envisageables


-  La piste Services
-  la piste appels formulaires du privé
10:59:37 - pierretux : ba si un #FORMULAIRE_EDITER_ARTICLE{new,#SELF} devrait le faire

10:59:54 - pierretux : faut l’id_rubrique aussi mais je sais plus ou
11:03:00 - mist_gx : si on a une seule page oui on peut tout invalider et avec ajax on est bon,comme dit déjà fait , mais géréer l’édition sur toute les pages du site genre avec le seo, le theme, l’objet ou les objets , la c’est pas la mm ,
11:03:02 - pierretux : tu le fais dans ton squelette perso
11:04:12 - mist_gx : oui tu appele le form, ça je l’ai fait sur mon_compte (plugin perso) je modifie pas les formulaires du privé …
11:04:50 - mist_gx : je les appeles juste en public, grace a spip ^^

10:58:41 - YannX : […] si tu as déja regardé les pages du privé avec var_mode=inclure tu as sans doute remarquer que chaque page d’edition fait appel a de tres nombreux inclures...... pas convaincu que cela ne sioit aussi simpliste que tu l’évoques
10:59:03 - YannX : prive/formulaires => 72 fichiers une paille ;-)

10:51:52 - mist_gx : ha ben pour une bonne partie d’utilisateur-trices l’espace privé reste obscur ^^ en fait j’ai mm déjà fait un form si connecté pour poster l’article depuis le sommaire genre facebook like et au post je recharge les posts , … le problème c’est la gestion du cache
10:52:22 - pierretux : tu invalides le cache en fin de formulaire et basta
10:53:06 - YannX : a moins que /-je n’ai pas vérifié et je ne sais pas exactement comment faire-/ les URL de retour en fin de process ne soient déja générées par une fonction (genre generer_url_privé : qu’il faudrait éventuellement surcharger pour dérouter en cas de venue du Public, et/ou auquel il suffirait de passer une liste de pages exception !)

11:05:08 - YannX : « mon squelette perso » : analysons (sur le modele du minibando qui est précurseur !
11:05:08 - YannX : - il faut que chaque appel d’une page d’edition privée (donc le-les squelettes, noisettes, formulaires utilisés dans la moulinette du privée... et plugins/pipelines) soient surchargés pour rajouter ton #SELFpour retour dans la bonne page de l’espace public !

Mist. GraphX , YannX - Mise à jour :1er février 2019 à 22h36min