Re: Composer et SPIP sont dans un bateau

RastaPopoulos <[email protected]>
Newsgroups gmane.comp.web.spip.devel
Message-ID <[email protected]>
Je vais éviter de répondre quatre fois en créant autant de branches dans
le fil, et essayer de regrouper des réponses à Matthieu, James, Eric…

Le 20/03/2019 à 13:25, Matthieu Marcillaud a écrit :
> Et de temps à y consacrer

Ça c'est pas propre à l'interface pour composer mais à n'importe quel
gros chantier (refonte admin, refonte spip.net et docs, etc). On sait
bien qu'on n'en a pas des masses quelque soit le sujet (alors plusieurs
sujets à la fois…).

> Des plugins ou tous les plugins ? 

Potentiellement tous puisque la majorité ont des dépendances, et pareil
pour les squelettes partagés (tous dépendent de nombreux plugins) et
parfois même pour les thèmes (scss, bootstrap ou autre). Donc si un
plugin nécessité est fait en Composer afin de lui-même nécessiter une
lib (yaml, etc), et bien tous les plugins et squelettes qui en dépendent
devront pouvoir trouver et installer ces dépendances en même temps par
l'interface aussi. Donc oui, très probablement tous les plugins.

Il n'y a donc pas de demi-mesure possible. Et je vois mal comment il
pourrait y avoir de transition avec les deux systèmes à la fois.

Scénario (très) crédible :
- Touti développe un plugin avec Composer qui nécessite une lib, ce
n'est donc installable que par Composer
- Charles développe un squelette générique, totalement destiné aux
end-users donc, qui doivent pouvoir le choisir dans leur site, et ce
squelette nécessite le plugin de Touti (et 15 autres dont plusieurs
peuvent être en Composer)
- Jean-Michel Admin a lu la doc du super squelette configurable de
Charles et le trouve génial, il décide donc de l'installer sur son site
(sur lequel il n'a pas la main techniquement, ou bien il a un mutu sans
accès à l'extérieur). Jean-Michel DOIT pouvoir trouver et installer le
squelette ET tous les plugins dont il dépend (et toutes les libs vendor/
dont eux-mêmes dépendent).

Si tu veux donc "profiter de Composer" pour ton petit plaisir personnel
de dev ok, c'est compréhensible, mais donc faut bien être conscient que
ça ne sera utilisable QUE par les prestataires de service.

> Tout est hypothétique… même le fait de perdre N% des utilisateurices… qui seraient déjà partis de toutes façon pour plein d’autres bonnes raisons… 

Totalement en désaccord pour ce point. Et là ça rejoint des réponses à
d'autres plus loin dans la discussion.

James a écrit :
> Si ça vous inquiète vraiment, parlons-en, cherchons des solutions. Cherchons alors à comprendre pourquoi on perd aujourd'hui des utilisateurs alors que rien n'a vraiment bougé sur le plan technique depuis ... allez, disons une dizaine d'années... (et je ne fais aucun sous-entendu ni de reproche)


Utilisateurices tout court ça ne veut rien dire, et j'ai bien fait des
distinctions précédemment.

Les gens qui sont des utilisateurices au sens "utilisateurices d'un
framework", bah s'illes veulent vraiment un framework, illes vont
utiliser ce qui est réellement conçu pour ça (laravel, symfony etc).

Je ne crois absolument pas qu'on va amener des gens à SPIP parce qu'on
se mettrait à faire du Composer. Allez pour être gentil, une ou deux
personnes à la marge.

Pour les utilisateurices au sens "intégrateurices, du dimanche, ou pro,
mais pas énorme" : il n'y a RIEN d'hypothétique, là on a eu noir sur
blanc des réactions sur le blog, les réseaux sociaux, etc, que si pas
d'interface, on les perdait. Alors je n'en sais rien de la quantité,
d'où le N%, mais dans un cas on est sûr de perdre des gens, et dans
l'autre ya aucune sorte d'indice qui laisserait penser qu'on en
gagnerait *pour cette raison*.

Pour les utilisateurices au sens "end-users de l'interface, admins,
rédacs", là encore moins. S'illes ne peuvent plus installer Accès
Restreint ou Formidable sans faire appel à un⋅e tech.

La raison principale pour laquelle on va passer en Composer (pour moi
c'est acté), c'est pour que les gens *déjà actifs* puissent utiliser des
projets tierces, afin d'arrêter de tout maintenir nous-mêmes,
d'économiser nos forces, et nous concentrer sur ce qu'on veut vraiment
apporter et améliorer dans SPIP.

Cela touchera donc les end-users, mais de manière indirecte, en ayant un
peu plus de temps et d'esprit libre pour des choses plus importantes que
les morceaux que d'autres ont codé mieux que nous ailleurs (et mieux
maintenus).

Je suis pour ma part totalement d'accord avec Éric, ce qui fait qu'on
perd des gens, c'est surtout que ça n'a pas bougé depuis 10 ans au
niveau ergonomique, et pour certaines fonctionnalités majeures qui sont
maintenant partout ailleurs (constructions par blocs, vrai
multi-domaines, etc). Et ce point pour le coup vaut d'abord pour les
end-users mais AUSSI pour les devs et intés : c'est parce qu'un logiciel
est assez utilisé, aimé, plébiscité, et ça encore mieux dans plusieurs
domaines différents (assos, militants, collectivités, musées, médias,
etc) que du coup il y a des dévs et intés qui vont vouloir/devoir
travailler avec, puis dessus.

Attention je ne confonds pas : oui quand on part de zéro, de la base, on
peut faire un truc avant tout destiné aux devs, qui font ensuite décider
de l'utiliser pour les fondations d'un truc plus gros qui sera pour des
end-users. Mais là on parle de SPIP. D'un CMS "produit final" pour les
gens qui écrivent et publient. C'est donc avant tout ce public là qu'il
faut aider et chérir pour espérer augmenter les dévs.

> Passons cette première étape et pour que tous les chantiers qui s'en suivront ne se bloquent pas les uns les autres, on propose de fournir non pas une distribution de SPIP, mais deux :

C'est une expérience de pensée intéressante :), mais au niveau concret,
ça aboutit à une balkanisation des plugins puisque de fait le principal
but est dans la phrase juste avant :
> Pendant ce temps, les développeurs et développeuses auront enfin le loisir d’utiliser des outils de base "modernes" pour contribuer à SPIP.

Et que donc dès qu'un plugin nécessitera un projet tiers de l'écosystème
PHP, il ne pourra s'installer qu'avec Composer, et que donc sans
interface dès le début de prévu… bah impossible d'avoir une seule
communauté unie. Cf le détail plus haut dans la réponse à Matthieu dès
qu'il y a des dépendances (y compris dans un squelettes donc).

> La préoccupation principale semble être SVP. Soit. On vous accueille à bras ouverts pour avancer sur le sujet.

Oui, c'est bien tout l'objet de la discussion (pour moi). Je ne
m'inquiète absolument pas du noyau, de la dist.

Et donc c'est contradictoire avec :
> Personne n'a annoncé que SVP allait disparaître. Arrêtons les fantasmes un instant, s'il vous plaît.

C'est bien dit pour rassurer, mais concrètement… non, on n'a pour
l'instant pas de solution sous la main pour trouver et installer les
plugins (je parle bien uniquement des plugins) qui de plus en plus vont
se mettre à nécessiter des projets tiers (donc plus installables par
SVP). Cf encore le scénario très basique et commun décrit plus haut. Et
tu le dis de toute façon toi-même dans le mail suivant.

Et comme dit plus haut, je ne vois pas comment ça pourrait cohabiter.

> Mais le vrai problème urgent qui vient, c'est qu'il y aura nécessité à changer le fonctionnement de trad.spip.net pour fonctionner avec git et composer
Oui, et ça on en a besoin dès le core…

Je n'en sais rien de l'ampleur (jamais regardé le code de trad.spip et
salvatore), mais si de toute façon il faut recoder des choses, je me
demande tout haut si on ne devrait pas aller vers du format standard
côté trad, quand bien même ensuite un script retransformerait tout en
format SPIP machin_fr.php (qui sont surchargeables, fusionnables etc).

Ça permettrait peut-être de ne plus avoir à maintenir une appli dédiée
trad.spip, avec ses tables, etc. Mais bon je dis ça à l'arrache, si
c'est "juste" que salvatore puisse pusher vers les différents Git,
peut-être que c'est trop différent en temps pour que ça vaille le coup.

Pouet, dodooooo :(

-- 
RastaPopoulos

_______________________________________________
liste: https://listes.rezo.net/mailman/listinfo/spip-dev
doc: http://www.spip.net/
dev: http://trac.rezo.net/trac/spip/
irc://irc.freenode.net/spip
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.