[SPIP Zone] [Troll-débat] couteau suisse vs plugins ?

Bonjour la liste,

Je voudrais avant toute chose remercier Patrice Vanneufville pour le superbe travail qu'il fournit sur le couteau suisse et ses lames que j'utilise maintenant depuis 3 ans sur les sites que je développe.

Cependant (sinon il n'y aurait pas de débat), je déplore que beaucoup des outils n'aient pas, à ma connaissance, d'équivalent en plugin "simple" à fonctionnalités équivalentes (découpe en onglets, sommaire automatique, belles url...).
Ceci est important sur des sites complexes à gros trafic, car les diverses couches de compilation qu'impose la machinerie sous-jacente du CS alourdissent inutilement l'exécution du site et génèrent parfois (rarement, certes) des bugs dont on pourrait se passer.

Maintenant que l'installeur et le gestionnaire de plugins est devenu plus "civilisé" (il reste un peu de travail, mais l'essentiel y est), ne pourrait-on pas envisager de ressortir toutes ces lames en plugins indépendants ?

Désolé pour le troll, mais je pense que c'est un débat important pour l'utilisation de spip sur des sites à fort trafic...

A bientôt
    Simon

On 15/04/10 06:22, Simon Camerlo wrote:

Je voudrais avant toute chose remercier Patrice Vanneufville pour le
superbe travail qu'il fournit sur le couteau suisse et ses lames que
j'utilise maintenant depuis 3 ans sur les sites que je développe.

Moi aussi. Et sa réactivité en cas de bugs aussi.

les diverses couches de compilation qu'impose la machinerie sous-jacente du
CS alourdissent inutilement l'exécution du site

Mais seulement les lames utilisées alourdissent, non ? Le reste n'est pas « installé », ou je me trompe ?

Désolé pour le troll, mais je pense que c'est un débat important

Je n'y vois pas de « troll » :slight_smile:

Paolo

Paolo a écrit :

On 15/04/10 06:22, Simon Camerlo wrote:

Je voudrais avant toute chose remercier Patrice Vanneufville pour le
superbe travail qu'il fournit sur le couteau suisse et ses lames que
j'utilise maintenant depuis 3 ans sur les sites que je développe.

Moi aussi. Et sa réactivité en cas de bugs aussi.

J'ai oublié de le préciser, mais c'est tout à fait vrai.

les diverses couches de compilation qu'impose la machinerie sous-jacente du
CS alourdissent inutilement l'exécution du site

Mais seulement les lames utilisées alourdissent, non ? Le reste n'est pas « installé », ou je me trompe ?

Les outils inactifs ne sont pas installés, mais si j'ai bien compris les outils actifs et leur configuration sont "compilés" et le résultat est placé dans tmp/couteau-suisse, nécessitant parfois des étapes de recompilation d'outil en affichant la page de config du CS quand ça plante (j'ai parfois eu des soucis assez importants m'obligeant à vider les metas de mon site à la main et à refaire la config à cause de plantage causés par les lames "comportement du CS" ou "en travaux").

Par ailleurs, l'interface de configuration du CS, qui fait beaucoup appel à des scripts ajax, fonctionne assez mal dans un contexte où les connexions ne sont pas fiables (le réseau chinois dans mon cas, plus des couches de proxy intermédiaires de sécurité qui font souvent planter les scripts de mise à jour de la configuration à mi-chemin, contrairement au reste de l'interface de spip => je finis parfois par éditer directement les meta avec phpmyadmin).

Le côté "tout en un" du CS peut être utile dans certains cas, c'est pourquoi je n'appelle absolument pas à sa suppression, mais une version pluginisée de chaque lame permettant de l'exécuter seule, indépendamment du "socle" CS serait très utile dans mon cas. Et d'ailleurs, le CS pourrait devenir un "méta-plugin" qui ne ferait qu'altérer l'interface de gestion des plugins sans modifier ce qui se passe dessous, non ? Je ne comprends pas bien la nécessité de construire un niveau intermédiaire entre spip et les plugins, particulièrement maintenant que l'interface est vraiment agréable à utiliser et de plus en plus facilement modifiable par les plugins eux-même (chose que j'ai du mal à comprendre avec CFG aussi d'un point de vue ergonomique).

A bientôt
    Simon

On 15/04/2010 09:57, Simon Camerlo wrote:

Et d'ailleurs, le CS

pourrait devenir un "méta-plugin" qui ne ferait qu'altérer l'interface
de gestion des plugins sans modifier ce qui se passe dessous, non ? Je
ne comprends pas bien la nécessité de construire un niveau intermédiaire
entre spip et les plugins, particulièrement maintenant que l'interface
est vraiment agréable à utiliser et de plus en plus facilement
modifiable par les plugins eux-même (chose que j'ai du mal à comprendre
avec CFG aussi d'un point de vue ergonomique).

J'avais discuté un peu avec Pat il n'y a pas très longtemps, et il m'a semblé qu'il était également d'accord avec ce constat (il me reprendra le cas échéant). Une sorte de méta plugin facilitant la gestion des configurations via une API, ou modifiant la structure des pages de configuration, ou je ne sais quoi, mais qui permette d'avoir chaque lame de manière totalement autonome.

On en revient à des problèmes récurrents qui ont vu naître certains plugins et solutions plus ou moins fiables et fonctionnelles. Je mettrais un peu dans le même panier CFG, Kconf, CS et STEP.

Ils regroupent à eux tous divers outils pour :
- faciliter l'installation de fonctionnalités et leurs dépendances éventuelles, avec des options de tris par catégories (CS et STEP)
- faciliter la configuration d'éléments pour les utilisateurs (CFG, Kconf, CS)
- offrent une API pour simplifier la création de formulaire de configuration (CFG, Kconf, CS)
- offre une API pour se brancher sur des pipelines (CS)

***

A mon sens, il ne faut qu'un seul plugin, ou plutot, faisant partie intégrante de SPIP pour gérer l'installation, la recherche de fonctionnalités, les tris par catégorie, en tenant compte si possible des dépendances (à mon sens c'est important pour pas agacer les utilisateurs : tu cliques «spip-zen», ça t'installe l'ensemble des libs et plugins nécessaires).

Pour les configurateurs, c'est vraiment plus délicat. Je ne m'étends pas sur Kconf que je ne connais pas vraiment. CFG, et CS offrent 2 moyens différents de créer des interfaces de configuration. Dans les deux cas, il manque un peu ce que repproche ARNO* à juste titre, c'est à dire une interface «intégrée». Chaque configuration devrait se placer à l'endroit idéal dans SPIP (oui, c'est quasi impossible), mais pas dans ?exec=cfg ou dans ?exec=CS : un plugin x doit avoir sa configuration sur un lieu y quelque soit le configurateur qu'il utilise.

Donc, je dirais bien que ce sont des plugins qui, lorsqu'une interface dans SPIP de recherche, installation de plugin par catégorie sera là, auront fait leurs temps. Il reste à inventer la suite. Où placer les configurations ? avec quelle API ?

Bien que je le maintienne, je suis pas un grand fan de CFG, il y a certainement mieux à inventer au niveau interface. Cependant il a un grand avantage actuellement, c'est que ses formulaires sont en CVT et peuvent être appelés n'importe où, en ajax ou non. Par conséquent, il serait enviseageable de dire «tel formulaire se place ici» (et non sur ?exec=cfg).

***

Juste pour info, dans le CFG2, plugin d'expérimentations, on peut écrire n'importe où : #FORMULAIRE_CONFIGURER{toto} et avoir un fichier : configurer/form_toto.html de la sorte, contenant simplement les paramètres CFG et les saisies qu'on veut. Simple, rapide et suffisant pour la plupart des configurations.

<!-- nom=sarka -->
<!-- casier=style/couleurs -->
<!-- autoriser=administrateur -->
<!-- refus=<:cfg:refus_administrateur:> -->

[(#SAISIE{couleur, fonda, label=<:sarka:label_style_fond:>})]
[(#SAISIE{couleur, face, label=<:sarka:label_style_face:>})]
[(#SAISIE{couleur, titre, label=<:sarka:label_style_titre:>})]
[(#SAISIE{couleur, bordure, label=<:sarka:label_style_bordure:>})]
[(#SAISIE{input, texte, label=Du texte})]
[(#SAISIE{textarea, larea, label=Du texte plus gros})]

--
MM.

Matthieu Marcillaud a écrit :

On 15/04/2010 09:57, Simon Camerlo wrote:

J'avais discuté un peu avec Pat il n'y a pas très longtemps, et il m'a semblé qu'il était également d'accord avec ce constat (il me reprendra le cas échéant). Une sorte de méta plugin facilitant la gestion des configurations via une API, ou modifiant la structure des pages de configuration, ou je ne sais quoi, mais qui permette d'avoir chaque lame de manière totalement autonome.

Alors là, si ça arrive, je dis chapeau, et j'applaudis des deux mains (en fait c'est super dur d'une seule :slight_smile:

A mon sens, il ne faut qu'un seul plugin, ou plutot, faisant partie intégrante de SPIP pour gérer l'installation, la recherche de fonctionnalités, les tris par catégorie, en tenant compte si possible des dépendances (à mon sens c'est important pour pas agacer les utilisateurs : tu cliques «spip-zen», ça t'installe l'ensemble des libs et plugins nécessaires).

Voilà, tout à fait d'accord

Pour les configurateurs, c'est vraiment plus délicat. Je ne m'étends pas sur Kconf que je ne connais pas vraiment. CFG, et CS offrent 2 moyens différents de créer des interfaces de configuration. Dans les deux cas, il manque un peu ce que repproche ARNO* à juste titre, c'est à dire une interface «intégrée». Chaque configuration devrait se placer à l'endroit idéal dans SPIP (oui, c'est quasi impossible), mais pas dans ?exec=cfg ou dans ?exec=CS : un plugin x doit avoir sa configuration sur un lieu y quelque soit le configurateur qu'il utilise.

A mon avis comme onglet ou sous-menu dans "configuration", c'est ce qui paraît le plus naturel, non ?
Après, l'API est moins importante, mais la nécessité d'une API montre à mon avis un manque du core en la matière.

A bientôt Simon