[spip-dev] [spip-commit] r15759 - branches/spip-2.1/ecrire/balise branches/spip-2.1/prive/formulaires spip/ecrire/balise spip/prive/formulaires

Hello,

ainsi qu'on l'a plusieurs fois évoqué ici, aborder le problème de la configuration d'un plugin comme entité est une approche trop restrictive et incorrecte à mon sens :

- du point de vue de l'utilisateur, on ne configure pas un plugin mais une fonctionnalité. Qui peut être fournie par plusieurs plugins différents (ex des forums). A contrario, un même plugin peut fournir des fonctionnalités diverses qui ne se configurent pas en même temps.

- plus encore, CFG est utilisé *aussi* (et ce n'est pas un usage mineur ni dérogatoire) par les webmestres pour configurer leur squelette. Autrement dit il faut que la solution qu'on propose soit indépendante des plugins, et puisse permettre à un webmestre d'écrire son formulaire de configuration de squelette. Autrement dit, l'entité logique est bien le forumlaire de configuration, pas le plugin ;

- ton implémentation bloque et empêche toute surcharge du squelette de configuration, ce qui est tout de même contraire au principe même des squelettes de SPIP. S'agit-il en cela d'un 4ème système de squelette que tu proposes ?

- par ailleurs, je note que ton hypothèse par défaut est l'utilisation d'une table meta dédiée au plugin, et qu'il faut ajouter un <meta>meta</meta> dans plugin.xml si on veut stocker dans la table spip_meta de SPIP (avec un prefixe sur le nom de variable). Cas qui me semble être le cas par défaut (je pense aux 25 tables spip_xxx_meta qu'on va créer sur chaque site sinon ...).

- en dernier point, je trouve choquant que l'on se retrouve avec deux syntaxes qui sont supposées remplir le même besoin #FORMULAIRE_CONFIGURER_TRUC et #FORMULAIRE_CONFIGURER_PLUGIN{pluginmachin,truc}, avec la spécificité qu'il faut utiliser l'une OU l'autre selon le mode d'implémentation sous jacent (elles ne sont pas interchangeables) ; et que si on commence par faire un formulaire sans coder de php spécifique et qu'on le fait évoluer on se trouve à devoir changer la syntaxe de son appel dans les squelettes.

Tu critiquais CFG qui ne te semblait pas avoir bénéficié d'un développement collaboratif, mais je trouve qu'ici tu implémente une vision de la configuration des plugins qui t'es propre et n'est partagée par aucun développeur de plugin, ni ne s'appuie sur leur besoin. Il me semble donc que ce n'est pas un très bon contre-exemple de développement collaboratif, de ce point de vue...

Pour conclure, tout cela me semble encore loin d'un consensus abouti, et mérite encore des essais-erreurs avant d'arriver à quelque chose de satisfaisant pour tous, susceptible de remplacer l'usage de CFG et d'être éventuellement intégré dans la branche stable. On devrait effectivement s'en tenir à la branche dev pour le moment.

Cédric

ainsi qu'on l'a plusieurs fois évoqué ici, aborder le problème de la configuration d'un plugin comme entité est une approche trop restrictive et incorrecte à mon sens :

Ton mail est absurde. Tu comprends de travers et tu juges sans demander la moindre explication supplémentaire.

- du point de vue de l'utilisateur, on ne configure pas un plugin mais une fonctionnalité.

ce serait bien, mais ce n'est déjà pas ce que fait CFG, je ne comprends donc pas d'être critiqué parce que je me fixe un but modeste: apporter la même chose que CFG avec du code plus petit, plus rapide, et plus conforme à l'existant du noyau.

- plus encore, CFG est utilisé *aussi* (et ce n'est pas un usage mineur ni dérogatoire) par les webmestres pour configurer leur squelette
Autrement dit, l'entité logique est bien le forumlaire de configuration, pas le plugin ;

Le 2e argument de ACTION_FORMULAIRE permet de donner un autre formulaire de config. Ton accusation est donc fausse.

- ton implémentation bloque et empêche toute surcharge du squelette de configuration,

FAUX

- par ailleurs, je note que ton hypothèse par défaut est l'utilisation d'une table meta dédiée au plugin, et qu'il faut ajouter un <meta>meta</meta> dans plugin.xml si on veut stocker dans la table spip_meta de SPIP (avec un prefixe sur le nom de variable). Cas qui me semble être le cas par défaut (je pense aux 25 tables spip_xxx_meta qu'on va créer sur chaque site sinon ...).

J'ai largement expliqué que
1. cette habitude me parait mauvaise
2. si on veut pourtant la garder, il suffit de ne pas utiliser ce que je propose.

- en dernier point, je trouve choquant que l'on se retrouve avec deux syntaxes qui sont supposées remplir le même besoin #FORMULAIRE_CONFIGURER_TRUC et #FORMULAIRE_CONFIGURER_PLUGIN{pluginmachin,truc}, avec la spécificité qu'il faut utiliser l'une OU l'autre selon le mode d'implémentation sous jacent (elles ne sont pas interchangeables) ;

Le nom de cette balise n'a aucune importance, on peut enlever le "FORMULAIRE" devant. C'est fou à quel point un pb de syntaxe trivial te fait voir rouge.

Tu critiquais CFG qui ne te semblait pas avoir bénéficié d'un développement collaboratif, mais je trouve qu'ici tu implémente une vision de la configuration des plugins qui t'es propre et n'est partagée par aucun développeur de plugin, ni ne s'appuie sur leur besoin.

C'est n'importe quoi. J'ai suscité plein d'échanges pour comprendre CFG et montrer en quoi il n'avait pas profiter de certaines fonctions du noyau que Toggg avait complètement ignoré. S'il y a encore des choses que je n'ai pas vu ou compris, il suffit de le dire. Mais pour le coup je crois plutôt que c'est toi qui n'a rien compris à cette poignée de lignes de code que je viens d'envoyer.

Committo,Ergo:Sum

Pardon, je voulais dire le 2e arg de la nouvelle balise, le 2e de ACTION_FORMULAIRE permettant de raccrocher ce squelette arbitraire avec le jeu de fonctions communs traiter/charger/verifier fournie avec cette balise.

Committo,Ergo:Sum

Bonjour,

Un poil hs par rapport à la discussion je veux juste relater mon expérience de configuration via cfg.

j’utilise juste le core de cfg2 (en raison du temps de calcul de la page admin_plugin notamment)

un lien vers ces feuilles de config est disponible dans le bandeau et sur une page d’index de l’ensemble des script cfg

ils mènent vers un prive/exec (configurer_prefix) y compris pour les plugins dispo sur contrib

l’exec appelle le formulaire “principal” de la config d’un plugin config_prefix,
le menu permettant de naviguer dans les casiers (calculé en php+yaml),
des scripts annexes (souvent de simples liens ou des indicateurs)
et le fil d’ariane.

J’utilise un formulaires/config_nom_du_casier_fonctions.php pour insérer des fonctions persos, et de plus en plus souvent le charger, verifier et le post_traiter de cfg
( j’aurais l’usage du traiter de cfg mais j’ai jamais réussi à le faire fonctionner).

L’idée du #FORMULAIRE_CONFIGURER_PLUGIN l’évolution récente des questions de configurations m’intéressent beaucoup
mais pour l’instant il me semble encore manquer de souplesse pour pouvoir m’en servir vraiment, notament à cause de :

  • pour : Il n’y a pas de fonction _verifier, faute de savoir que vérifier pour chacun (interface à définir pour arranger ça). il peut-être interessant d’au moins vérifier le caractère obligatoire du champs (comme dans saisie)
  • Ce qui me semble rédhibitoire c’est : “Pour fonctionner correctement, les formulaires référencés (implicitement ou non) par cette balise doivent utiliser #ACTION_FORMULAIRE avec comme deuxième argument le nom du plugin”. Fonctionnalité qui semble sonner le glas des casiers dont je fais un usage intensif (sinon impossible de comprendre et d’utiliser les 1200 réglages d’un de mes plugins)…

En tout cas c’est super de voir que vous menez une intense réflexion sur le sujet et de voir les choses avancer peu à peu.

J'utilise un formulaires/config_nom_du_casier_fonctions.php pour insérer des fonctions persos, et de plus en plus souvent le charger, verifier et le post_traiter de cfg
( j'aurais l'usage du traiter de cfg mais j'ai jamais réussi à le faire fonctionner).

tiens donc.

L'idée du #FORMULAIRE_CONFIGURER_PLUGIN l'évolution récente des questions de configurations m'intéressent beaucoup
mais pour l'instant il me semble encore manquer de souplesse pour pouvoir m'en servir vraiment, notament à cause de :
- pour : Il n'y a pas de fonction _verifier,

Je viens d'arranger ça:
http://trac.rezo.net/trac/spip/changeset/15760

- Ce qui me semble rédhibitoire c'est : "Pour fonctionner correctement, les formulaires référencés (implicitement ou non) par cette balise doivent utiliser #ACTION_FORMULAIRE avec comme deuxième argument le nom du plugin". Fonctionnalité qui semble sonner le glas des casiers dont je fais un usage intensif (sinon impossible de comprendre et d'utiliser les 1200 réglages d'un de mes plugins)...

Pourrais-tu en dire plus ? J'ai utilisé ce 2e argument parce que ça me permettait de fournir une alternative à CFG en même pas 5K de PHP.
Si c'est orthogonal à d'autres usages, il faut voir si on peut faire autrement.

J'utilise un formulaires/config_nom_du_casier_fonctions.php pour insérer des fonctions persos, et de plus en plus souvent le charger, verifier et le post_traiter de cfg
( j'aurais l'usage du traiter de cfg mais j'ai jamais réussi à le faire fonctionner).

tiens donc.

ton commentaire est presque rassurant !

L'idée du #FORMULAIRE_CONFIGURER_PLUGIN l'évolution récente des questions de configurations m'intéressent beaucoup
mais pour l'instant il me semble encore manquer de souplesse pour pouvoir m'en servir vraiment, notament à cause de :
- pour : Il n'y a pas de fonction _verifier,

Je viens d'arranger ça:
http://trac.rezo.net/trac/spip/changeset/15760

je teste dès que possible

- Ce qui me semble rédhibitoire c'est : "Pour fonctionner correctement, les formulaires référencés (implicitement ou non) par cette balise doivent utiliser #ACTION_FORMULAIRE avec comme deuxième argument le nom du plugin". Fonctionnalité qui semble sonner le glas des casiers dont je fais un usage intensif (sinon impossible de comprendre et d'utiliser les 1200 réglages d'un de mes plugins)...

Pourrais-tu en dire plus ?

surement mais je ne suis pas certain de la mise en mot aussi voici un exemple concret :

un réglage xzx/top/w pour règler la largeur de l'élément #top
pour le plugin xzx chaque élément html au moins est un casier, ici top

xzx à un casier "racine" : xzx/st (st pour structure) joignagle par configurer_modulation.html qui appelle le formulaire config_structure, lequel et en fonction des réglages choisis calcule le menu dynamiquement (php+yaml)....

J'ai utilisé ce 2e argument parce que ça me permettait de fournir une alternative à CFG en même pas 5K de PHP.
Si c'est orthogonal à d'autres usages, il faut voir si on peut faire autrement.

Je ne vois vraiment pas comment on pourrais se passer des casiers et donc il me semble qu'entre le formulaire "racine" de configuration et le lien qui mène on doit pouvoir intercaler un exec.html ou à défaut eu exec.php. Ceci dit mes compétences ne me permettent pas d'avoir une certitude absolue.

ainsi qu'on l'a plusieurs fois évoqué ici, aborder le problème de la configuration d'un plugin comme entité est une approche trop restrictive et incorrecte à mon sens :

Ton mail est absurde. Tu comprends de travers et tu juges sans demander la moindre explication supplémentaire.

J'ai pris le temps de lire le code, comme tu pourras le voir ci-dessous ...

- du point de vue de l'utilisateur, on ne configure pas un plugin mais une fonctionnalité.

ce serait bien, mais ce n'est déjà pas ce que fait CFG,

Faux. Un formulaire forme une entité logique et automone dans CFG, indépendante du plugin auquel il est rattaché (ou non). Le stockage est associé au formulaire, pas au plugin.

je ne comprends donc pas d'être critiqué parce que je me fixe un but modeste: apporter la même chose que CFG avec du code plus petit, plus rapide, et plus conforme à l'existant du noyau.

on peut faire encore plus petit, plus conforme et plus générique, en se passant d'introduire une nouvelle balise/syntaxe.
Je vais envoyer cela dans spip_bonux, comme tous les trucs biens qui ne doivent pas être dans le core.
Les utilisateurs trancheront.

- plus encore, CFG est utilisé *aussi* (et ce n'est pas un usage mineur ni dérogatoire) par les webmestres pour configurer leur squelette
Autrement dit, l'entité logique est bien le forumlaire de configuration, pas le plugin ;

Le 2e argument de ACTION_FORMULAIRE permet de donner un autre formulaire de config. Ton accusation est donc fausse.

de #FORMULAIRE_CONFIGURER_PLUGIN, j'ai bien noté. A condition que mon formulaire soit dans un plugin.

- ton implémentation bloque et empêche toute surcharge du squelette de configuration,

FAUX

comment dois-je lire
http://trac.rezo.net/trac/spip/browser/branches/spip-2.1/ecrire/balise/formulaire_configurer_plugin.php#L36
qui référence le chemin direct vers le formulaire, avec en prime le bug de confondre prefixe du plugin et nom du dossier dans lequel il est rangé dans plugins/ ?

- par ailleurs, je note que ton hypothèse par défaut est l'utilisation d'une table meta dédiée au plugin, et qu'il faut ajouter un <meta>meta</meta> dans plugin.xml si on veut stocker dans la table spip_meta de SPIP (avec un prefixe sur le nom de variable). Cas qui me semble être le cas par défaut (je pense aux 25 tables spip_xxx_meta qu'on va créer sur chaque site sinon ...).

J'ai largement expliqué que
1. cette habitude me parait mauvaise

vu du plugin association qui stocke un nombre important de données dans la table des meta je comprends bien
Vu des N>>1 plugins qui stockent 2 ou 3 valeurs de config, est-il sérieux de créer autant de tables que cela ?
D'autant que, comme je l'ai indiqué plus haut, l'entité individuelle ne doit pas être le plugin mais le formulaire.

2. si on veut pourtant la garder, il suffit de ne pas utiliser ce que je propose.

Oui, donc tu proposes d'intégrer dans le core une fonctionnalité pour toi uniquement...
Je suis assez agacé de cette conception patriarcale du développement. "Regardez, je sais que ce que fait est bon pour vous, si ça vous plait pas vous êtes bien bêtes", qui n'a, encore une fois, rien d'un développement collaboratif.

- en dernier point, je trouve choquant que l'on se retrouve avec deux syntaxes qui sont supposées remplir le même besoin #FORMULAIRE_CONFIGURER_TRUC et #FORMULAIRE_CONFIGURER_PLUGIN{pluginmachin,truc}, avec la spécificité qu'il faut utiliser l'une OU l'autre selon le mode d'implémentation sous jacent (elles ne sont pas interchangeables) ;

Le nom de cette balise n'a aucune importance, on peut enlever le "FORMULAIRE" devant. C'est fou à quel point un pb de syntaxe trivial te fait voir rouge.

Ce qui me fait voir rouge c'est que le même formulaire de configuration va devoir être appelé par #FORMULAIRE_CONFIGURER_PLUGIN{machin,truc}, puis si on veut implémenter un charger() spécifique car la regexp ne fonctionne pas, devient tout d'un coup #FORMULAIRE_CONFIGURER_TRUC. Et là, le traiter() par défaut n'est plus pris en compte, donc il faut le ré-écrire aussi.

Autrement dit, au lieu d'avoir un process de développement continu, ou l'on peut commencer par n'écrire qu'un squelette formulaire de configuration, puis plus tard l'enrichir d'une fonction charger() spécifique, puis plus tard d'une fonction traiter() spécifique, au fur et à mesure de l'évolution du besoin, on se retrouve avec 2 systèmes orthogonaux (pour reprendre ton vocabulaire), qui, même si ils reposent sur une partie de code en commun, composent pour le webmestre deux systèmes de configuration distincts entre lesquels il faut choisir. Passer de l'un à l'autre suppose revoir le squelette du formulaire, le squelette appelant, et ré-écrire charger() ET traiter(). C'est donc une rupture et non une continuité qui permet d'apprendre par étapes.

Tu critiquais CFG qui ne te semblait pas avoir bénéficié d'un développement collaboratif, mais je trouve qu'ici tu implémente une vision de la configuration des plugins qui t'es propre et n'est partagée par aucun développeur de plugin, ni ne s'appuie sur leur besoin.

C'est n'importe quoi. J'ai suscité plein d'échanges pour comprendre CFG et montrer en quoi il n'avait pas profiter de certaines fonctions du noyau que Toggg avait complètement ignoré. S'il y a encore des choses que je n'ai pas vu ou compris, il suffit de le dire.

Simplement les modes d'utilisations divers, je crois.

Mais pour le coup je crois plutôt que c'est toi qui n'a rien compris à cette poignée de lignes de code que je viens d'envoyer.

Tu jugeras ...

Cédric

Je vais envoyer cela dans spip_bonux, comme tous les trucs biens qui ne doivent pas être dans le core.
Les utilisateurs trancheront.

Autrement dit "je travaille à un produit spécifique en dehors de la référence commune et j'invoque les mannes de la concurrence libre et non faussée".
Il y a mieux comme apologie du travail collaboratif. J'ai peine à croire que c'est toi qui a écrit ça.

comment dois-je lire
http://trac.rezo.net/trac/spip/browser/branches/spip-2.1/ecrire/balise/formulaire_configurer_plugin.php#L36
qui référence le chemin direct vers le formulaire, avec en prime le bug de confondre prefixe du plugin et nom du dossier dans lequel il est rangé dans plugins/ ?

tu dois le lire sans abandonner des facultés de jugement qui sont visiblement parties en week-end avant toi:
ce code a été testé sur le plugin Association_2.0 dont le préfixe est "association",
si un tel bug existait je l'aurais vu.

J'ai pris le temps de lire le code,

Bien mal visiblement; alors reprenons calmement. Pour moi le développement collaboratif ça consiste à essayer de comprendre ce qu'ont fait les autres,
et quand j'en perçois des faiblesses j'essaye de comprendre si c'est intrinsèque à la méthode utilisée ou pas. Qu'il y ait des limitations au 5k de code PHP que j'ai envoyés par rapport au 200K de CFG, c'est probable mais la question est de savoir si c'est rédhibitoire ou pas.

Je passe en revue ce que tu dis d'un point de vue technique, pas du point de vue d'a prioris contestables.

Un formulaire forme une entité logique et automone dans CFG, indépendante du plugin auquel il est rattaché (ou non). Le stockage est associé au formulaire, pas au plugin.

Si l'idée est que les saisies de chaque formulaire doivent être regroupées en une seule entrée sérialisée, c'est facile à faire.
Faut seulement m'expliquer si c'est bien ça l'idée et si elle est vraiment bonne.

on peut faire encore plus petit, plus conforme et plus générique, en se passant d'introduire une nouvelle balise/syntaxe.

On se comprendrait déjà beaucoup mieux si tu arrêtais de confondre systématiquement vocabulaire et grammaire. Apprendre un mot nouveau c'est peu de chose, apprendre une nouvelle règle de grammaire ça demande beaucoup plus d'efforts de compréhension et de mémoire. L'idée du langage de squelettes c'est de définir une syntaxe (autrement dit un grammaire) une fois pour toutes, et d'introduire des mots nouveaux en fonction des besoins. Ca garantit un apprentissage minimal, surtout pour les nouveaux arrivants qui découvrent une langage dont le vocabulaire n'a cessé de s'enrichir au cours des années. Toi qui est là depuis des années, tu ne penses jamais à ça, et c'est, au fond, le seul reproche que j'ai à te faire.

A condition que mon formulaire soit dans un plugin.

Il m'avait semblé que c'était un apriori de CFG, aussi ai-je ajouté _DIR_PLUGINS dans le chemin par souci d'efficacité. Si ce n'est pas le cas, il suffit de l'enlever, pas de quoi hurler.

Vu des N>>1 plugins qui stockent 2 ou 3 valeurs de config, est-il sérieux de créer autant de tables que cela ?

Si tu y tiens absolument, on peut convenir qu'un plugin n'a une table des metas séparée que s'il y a une entrée "meta" dans plugin.xml qui en donne le nom. De nouveau pas de quoi hurler.

Je trouve significatif que tu prennes autant la mouche sur un tel non problème, car ça illustre bien une divergence de fond: pour moi, dès qu'un logiciel atteint une certaine taille, les économies de bouts de chandelle doivent être bannies, parce que le gain en place ou temps est négligeable face à la question de la lisibilité du code (pour la maintenance, pour les nouveaux arrivants etc). Et même au niveau perf, je suis bien certain que le temps de chargement du mastodonte CFG est sans commune mesure avec la lecture des caches de mini-tables metas.

Ce qui me fait voir rouge c'est que le même formulaire de configuration va devoir être appelé par #FORMULAIRE_CONFIGURER_PLUGIN{machin,truc}, puis si on veut implémenter un charger() spécifique car la regexp ne fonctionne pas, devient tout d'un coup #FORMULAIRE_CONFIGURER_TRUC. Et là, le traiter() par défaut n'est plus pris en compte, donc il faut le ré-écrire aussi.

Ce que j'ai posté pour _verifier tout à l'heure peut être fait pour _charger et _traiter si c'est ça le besoin. De nouveau pas de quoi hurler.

Par ailleurs tu ne t'es pas expliqué sur les 3 locutions employées dans tes mails: "configurer une fonctionnalité", "configurer un plugin" et "configurer un squelette", distinctions dont l'appellation éveille mon intérêt mais dont je n'ai pas l'impression que tu en es toi-même une vue bien précise. Ce que je propose à la base, ce sont des fonctions charger/verifier/traiter qui permettent de gérer des saisies d'un formulaire dans une table de meta (actuellement spécifique au plugin d'où provient le formulaire, mais je répète que la table std est utilisable). Ces fonctions sont activables via une balise proche de "#FORMULAIRE_", qui s'en distingue en ayant un trio de fonctions prédéfinies (alors que FORMULAIRE_ n'en a pas) et en précisant le chemin d'accès au squelette (c'est donc peut-etre un mauvais choix, mais ça saute facilement). En utilisant plusieurs fois cette balise dans un squelette, on peut proposer une page de "configuration de fonctionnalité", en ce que cette page alimenterait en une seule soumission des tables de métas issues de plusieurs plugins dont la réunion offre une fonctionnalité. Sauf erreur, CFG ne permet pas actuellement de construire une page multi-plugin, cela me parait donc une avancée.

Donc s'il te plait, essaye de retrouver tes facultés de jugements pendant le week-end et discutons calmement. Je rappelle que tout est parti de ma reprise du plugin Association que j'essaye de débarasser de CFG en touchant le moins possible au code du config du plugin, ce qui tend à prouver que c'est un travail utile à tous les utilisateurs de CFG et non, comme tu m'en accuses, d'un besoin perso qui ignore ce qui s'est fait autour de CFG depuis qu'il existe.

Committo,Ergo:Sum

Autrement dit "je travaille à un produit spécifique en dehors de la référence commune et j'invoque les mannes de la concurrence libre et non faussée".
Il y a mieux comme apologie du travail collaboratif. J'ai peine à croire que c'est toi qui a écrit ça.

Ou bien : "je travaille là où il est effectivement possible de travailler en commun (la zone), et on verra plus tard pour l'intégration au noyau...".

Ma phrase va être volontairement excessive, mais en gros : tu as découvert les plugins il y a deux mois, en mettant le nez dans Association.
D'autres, beaucoup d'autres, utilisent ce système depuis des années maintenant, et ont donc eu cette problématique de "configurer quelque chose" depuis autant de temps.

Je précise bien : pour l'instant je ne parle en aucune façon de la qualité du code ou même de la qualité de sa conception en amont. Je parle d'abord du *besoin* des utilisateurs. Ce qui est quand même la base avant de commencer un projet générique : ici "donner la possibilité de configurer des valeurs facilement".

Je pense donc clairement que ceux qui utilisent CFG, qu'ils fassent des plugins ou juste des squelettes peu importe, qui en discutent depuis des années sur spip-zone et sur IRC, et bien cet ensemble de personnes est plus à même de définir le besoin de manière générique que toi en deux mois.
Si si, le bon sens ça existe aussi.

tu dois le lire sans abandonner des facultés de jugement qui sont visiblement parties en week-end avant toi:
ce code a été testé sur le plugin Association_2.0 dont le préfixe est "association",
si un tel bug existait je l'aurais vu.

Moi j'ai lu :

Je cite :
#FORMULAIRE_CONFIGURER_PLUGIN{Association_2.0}

Autrement dit :
#FORMULAIRE_CONFIGURER_PLUGIN{nom d'un dossier}

Le nom d'un dossier écrit en dur (et pas les variables _DIR_MACHINCHOSE) n'a jamais eu *aucune* valeur technique dans le cas des plugins.

Si j'installe Association, et que je renomme le nom du dossier en "Gloubiboulga", ça ne correspond plus.

C'est ce que Cédric a appelé "confondre le nom du dossier du plugin et son préfixe".

Si l'idée est que les saisies de chaque formulaire doivent être regroupées en une seule entrée sérialisée, c'est facile à faire.
Faut seulement m'expliquer si c'est bien ça l'idée et si elle est vraiment bonne.

Sérialisé je n'en sais rien pour l'instant, mais le point principal c'est que le système n'ait rien à voir *d'essentiel* avec l'entité "plugin".

  A condition que mon formulaire soit dans un plugin.

Il m'avait semblé que c'était un apriori de CFG

C'est tout le contraire.

Par ailleurs tu ne t'es pas expliqué sur les 3 locutions employées dans tes mails: "configurer une fonctionnalité", "configurer un plugin" et "configurer un squelette", distinctions dont l'appellation éveille mon intérêt mais dont je n'ai pas l'impression que tu en es toi-même une vue bien précise.

Comme le principe de CFG tourne autour d'un formulaire, il permet de configurer "un ensemble de valeurs", sans préjuger du pourquoi du comment.
On peut donc l'utiliser pour configurer une fonctionnalité en un ou plusieurs formulaires venant d'un ou plusieurs plugins. On peut proposer de configurer un squelette qui n'est *pas* distribué en plugin.

Donc s'il te plait, essaye de retrouver tes facultés de jugements pendant le week-end et discutons calmement.

Après plusieurs discussions, comme j'ai l'impression que l'on est plusieurs, à la fois sur spip-zone et sur IRC, à s'être fait les mêmes réflexions : fûmes-nous pris d'une folie collective embrouillant collectivement notre faculté de jugement ?

Je rappelle que tout est parti de ma reprise du plugin Association que j'essaye de débarasser de CFG en touchant le moins possible au code du config du plugin, ce qui tend à prouver que c'est un travail utile à tous les utilisateurs de CFG et non, comme tu m'en accuses, d'un besoin perso qui ignore ce qui s'est fait autour de CFG depuis qu'il existe.

Le plugin Association n'est pas forcément l'exemple d'utilisation le plus commun qu'il soit. C'est une partie. Coller à ce besoin n'est pas coller au maximum des cas d'utilisations actuels (sans parler de coller à tous).

Quand on laisse tomber le point central d'une argumentation (savoir ici la question de l'homogénéité et de la minimalité des choses à savoir pour aborder SPIP), il est facile de présenter celle-ci comme minable. Comme ce n'est pas le première fois que ça arrive, il faut vraiment n'avoir pas un gramme de paranoia pour ne pas y voir de la malveillance, et donc penser que ce n'est pas la peine d'y répondre rationnellement car le pb doit être ailleurs. Essayons quand même.

Ma phrase va être volontairement excessive, mais en gros : tu as découvert les plugins il y a deux mois, en mettant le nez dans Association.

Au moment où la question des plugins s'est posée, j'ai dit que celle-ci était prématurée dans son aspect TECHNIQUE (je ne parle pas de l'aspet social, qui était très en phase avec l'attente de la communauté). L'avenir ne m'a pas donné tort puisque la 1.9.2 s'est déclaré incompatible avec les plugins de 1.9.1, et que nous souffrons toujours aujourd'hui d'absence d'un outil de configuration intégré au noyau. La suite on la connait: Cédric et Romy ont posté, sans aucune concertation préalable, un énorme changement du noyau, résultat et procédé qui ont été excessivement (c'est le mot qui convient) mal vécus. Depuis, le travail sur le noyau s'est considérablement ralenti par peur de nouveaux conflits, donnant l'impression que le projet est à l'agonie. Je trouve donc gros que tu viennes me reprocher de ne pas me conformer à l'attitude générale de fuite, et puisque tu te permets des phrases excessives, je dirais en retour que je trouve fascisant cette incapacité à accepter les points de vue divergents, a fortiori quand il s'agit de résister à une attitude générale préjudiciable à l'avenir du projet.

Je précise bien : pour l'instant je ne parle en aucune façon de la qualité du code ou même de la qualité de sa conception en amont.

...

cet ensemble de personnes est plus à même de définir le besoin de manière générique que toi

Ca aussi c'est une attitude politiquement inacceptable: "je ne vais pas voir ce qui est proposé, j'affirme d'avance que la majorité a nécessairement un meilleur avis". Là ce n'est plus le fascime, c'est le populisme. Et cette posture est d'autant plus inacceptable que tu occultes toutes les questions que j'ai posées sur pourquoi ceci est fait comme cela dans CFG et consorts, alors que j'aurais pu balancer dans le noyau tout ce que je voulais sans rien demander à personne. Que je n'ai pas pensé à poser certaines questions, sans doute, mais on peut aussi dire que ce sont les utilisateurs de CFG qui n'ont pas pensé à donner certains infos importantes.

Alors je repose ma question initiale: pourquoi cette malveillance ?

Committo,Ergo:Sum