[SPIP Zone] projets stables et versions obsolètes

La prochaine version de la BTE ne fork plus inc/texte.php (merci Fil).
Mais inc/texte.php de SPIP 1.9.1 n'est pas encore à jour (en tout cas en 7378).

Non, ce sera dans 1.9.2

Donc, pour 1.9.1, il faut encore conserver le fork :wink:

Oui mais il faudrait éviter d'utiliser la zone comme un espace de
téléchargement / mise à disposition (voir la discussion d'hier).

Cela dit, tu n'es pas le seul, si ça peut te rassurer :-/

Je viens de supprimer, dans le même esprit, le plugin patch1.9 (puisque 1.9
n'est plus).

PS/ la zone pèse 340 Mo (et occupe 538 Mo sur le disque)

-- Fil

Salut,

Fil a écrit :

PS/ la zone pèse 340 Mo (et occupe 538 Mo sur le disque)
  
Et ?
c'est pour dire youpi il y a des tonnes de code qui vont servir à demarrer plein de projets ou ca fait ch.... ca prend plein de place ?

j'espere que c'est la premiere proposition, car c'est aussi comme ca que j'utilise la zone : une mise en commun de petits morceaux de codes, bonnes pratiques et autres trucs qu'on pourrait reutiliser un jour.
Le seul probleme, c'est que c'est un peu la zone ...
:o)
Il faudrait peut etre un dossier 1.8 ou mettre les projets qui n'ont pas encore suivi ?

Perso j'ai 2 plugins + mots_partout que je bidouille de temps en temps pour faire tourner spipcarto et eventuellement d'autres (comme pour agenda).
Mais j'ai aussi quelques formulaires et autres squelettes pour la 1.8.3.
C'est la parce que ca peut servir à d'autres, que ca peut servir d'exemple à ceux qui demarrent.
Maintenant ca ne me derange pas de faire le menage, mais tant que c'est la, ca me rappelle que ca n'a toujours pas été migré en 1.9, que ces besoins fonctionnels reviendront...
Je ne suis pas attaché à l'historique des modifs sur des vieux trucs, je peux ranger ca dans un coin et le remettre en point de depart quand je migre.
Faut juste donner des regles qu'on puisse appliquer.

Coté travaille en commun, je crois qu'on est tous un peu dans le meme cas : on developpe des truc pour des besoins specifiques en essayant de les rendre le plus integrable et reutilisable possible.
La base de chaque projet est "individuelle", pour que ca genere du travail "collaboratif", il faut que 2 individus se rencontrent sur un besoin commun ET qu'ils soient en phase.
Il est donc normal que des projets assez similaires se developpent, simplement parce que les auteurs ne sont pas sur le meme rythme.
Des fois le timing colle et on arrive à faire avancer un truc à plusieurs, mais ca ne marche pas à tous les coups.
Spip-zone nous en donne l'opportunité et c'est déjà très bien !

@++

On 14 Sep, 2006, at 14:52, Bill wrote:

Salut,

Fil a écrit :

PS/ la zone pèse 340 Mo (et occupe 538 Mo sur le disque)

Et ?
c'est pour dire youpi il y a des tonnes de code qui vont servir à
demarrer plein de projets ou ca fait ch.... ca prend plein de place ?

j'espere que c'est la premiere proposition, car c'est aussi comme ca que
j'utilise la zone : une mise en commun de petits morceaux de codes,
bonnes pratiques et autres trucs qu'on pourrait reutiliser un jour.
Le seul probleme, c'est que c'est un peu la zone ...
:o)
Il faudrait peut etre un dossier 1.8 ou mettre les projets qui n'ont pas
encore suivi ?

je suis d'accord avec tout cela, il faudrait faire un peu de nettoyage pour savoir ce qui est stable, en dev actifs, compatible/pas compatible et abandonné...

je pense, par exemple, que j'ai plusieurs contribs sur la zone que je ne supporte plus mais qui sûrement intéresseraient peut être quelqu'un.

Pierre

Le 14 sept. 2006, à 17:27, Pierre Andrews a écrit :

faire un peu de
nettoyage pour savoir ce qui est stable

Y'a un truc qui me chiffonne avec la zone...
Moi je pars du principe que rien n'est stable sur la zone.
Parce que c'est un lieu de travail, de dev, ou tout est, de fait, bancal. Dans mon idée, on pose un projet sur la zone pour y pouvoir y bosser à plusieurs, puis quand ledit projet est terminé, on propose sa version stable ailleurs et on ferme le répertoire.
Peut-être qu'il faudrait davantage penser à sortir les projets finis de la zone ?

Je trouve qu'il manque, en particulier, un espace pour les plugins (un site dédié, ou une sous-rub de spip-contrib, peu m'importe) : un truc public, où télécharger des paquets joliment ficelés pour les gentils utilisateurs de SPIP...

Romy

Le 15/09/06, Romy Duhem-Verdière <romy@tetue.net> a écrit :


Y’a un truc qui me chiffonne avec la zone…
Moi je pars du principe que rien n’est stable sur la zone.
Parce que c’est un lieu de travail, de dev, ou tout est, de fait,
bancal. Dans mon idée, on pose un projet sur la zone pour y pouvoir y
bosser à plusieurs, puis quand ledit projet est terminé, on propose sa
version stable ailleurs et on ferme le répertoire.
Peut-être qu’il faudrait davantage penser à sortir les projets finis de
la zone ?

heu bah non, sinon comment on gère les corrections de bugs sur les versions stables ?


Arnaud

Romy Duhem-Verdière a écrit :

Le 14 sept. 2006, à 17:27, Pierre Andrews a écrit :

faire un peu de
nettoyage pour savoir ce qui est stable

Y'a un truc qui me chiffonne avec la zone...
Moi je pars du principe que rien n'est stable sur la zone.

+1 !

J'ai aussi un peu de mal à suivre les discussions du moment...
pour moi, une version stable, c'est un numero de version SVN et le numero de version Spip qui va en face.
Je maitrise mieux CVS pour ce qui est des branches, mais mettre un tag, ca, c'est pas trop dur, meme en SVN, et c'est fait pour ca.

Mais bon, je dis ca, mais je ferai comme on me dit ou on me dit... mais la c'est vrai qu'on est un peu dans le flou.

Remarque tout de meme : C'est pas plutot un script allant pecher la version "stable" et les versions "à tester" qu'il faudrait ?
La on a 50 versions dans la nature, dont des trucs qui ne marchent pas (et c'est normal).
Qu'on garde 2 branches sous forme de repertoire quand c'est necessaire, c'est plus simple à gerer coté client, donc ca me va.
Mais pour la plupart des projets, on a une suite de commit qui perd eventuellement sa compatibilité à un moment donné, mais c'est lineaire.
De toutes facons, on a besoin d'une branche que si on doit faire des corrections sur une ancienne version.
Si on tag par exemple VER-1.9.1 la version qui perd la compatibilité avec la 1.9.0, on a l'info (et c'est ce qu'on fait normalement avant de commencer une branche).
on peut aussi par exemple mettre un tag TEST-1.9SVNXXX ou TEST-1.9.1 pour les versions testables et ne diffuser que ces versions
Et bien sur, à un moment donné, on met le tag REL-1.9.1 pour dire que c'est la version stable pour la 1.9.1
Bon, il faudrait surement prevoir dès le depart REL1-1.9.1 histoire de pouvoir mettre à jour...
Mais il n'y a normalement que la derniere REL d'un numero de version Spip qui doit etre telechargeable "grand public"
Il est par contre pour nous tres important de pouvoir diffuser des versions de test en maitrisant un peu les choses et en simplifiant un peu la vie aux betatesteur quand aux prérequis pour tester.

Je suis totalement incapable de faire ce genre de batch, mais une fois en fonction, il "suffit" de surveiller les nouveaux commits.
Quand on voit passer un tag, on genere le zip dans le bon repertoire, en remplacant l'ancienne version s'il y en a une (surtout pour les versions de test)
Bon, si tout le monde s'amuse à mettre 3 tags par jour, ca va faire un truc enorme, mais au moins on aurait au maximum 1 release et une version de test par version stable de spip plus une version test corresondant à une version SVN Si en plus, le nom de chaque zip contient sa date de generation, je pense qu'on a toutes les billes.

Voila, je ne sais pas si c'est une bonne solution mais aujourd'hui, c'est clair qu'on a un probleme de maitrise de la diffusion des sources, et les utilisateurs qui veulent bien faire les beta testeurs aussi (et je ne parle pas de la masse grandissante d'utilisateurs qui pensent que ce qui sort de la zone est stable).

mes 2 sous.

@++

Le 15 sept. 2006, à 22:01, Ventre Arnaud a écrit :

Le 15/09/06, Romy Duhem-Verdière <romy@tetue.net> a écrit :

Dans mon idée, on pose un projet sur la zone pour y pouvoir y
bosser à plusieurs, puis quand ledit projet est terminé, on propose sa
version stable ailleurs et on ferme le répertoire.
Peut-être qu'il faudrait davantage penser à sortir les projets finis de
la zone ?

heu bah non, sinon comment on gère les corrections de bugs sur les versions stables ?

Alors, oui, ça dépend des projets :wink:
Si besoin de de débug ou de dev d'une version suivante, on garde effectivement et évidemment le même répertoire. Mais idéalement, la version stable devrait être *sortie* de la Zone, c'est-à-dire dispo en téléchargement "ailleurs" (sur spip-contrib, spip-squelettes, spip-plugins ou sur mon-site-perso.net).

L'exemple, c'est le plugin Agenda : sa version stable est dispo sur spip-contrib, ce qui n'empêche pas de continuer à l'améliorer sur la Zone, en vue d'une prochaine version, de la suite, de sa descendance.

À mon avis, et c'est ce que je voulais dire, il ne devrait pas y avoir de *versions stables* sur la Zone, mais que des *projets*.

Et il ne devrait y avoir pas d'autre raison de venir sur la Zone que pour développer & tester : ce n'est pas, ça ne doit pas être, un espace de téléchargement de versions stables.
En tout cas, moi je ne me sens pas d'y envoyer les gentils utilisateurs de SPIP !

Faut un espace intermédiaire pour eux : une "vitrine" avec des jolis paquets zip (= spip-contrib ou autre), parce que c'est pas sympa de les envoyer dans l'"arrière-boutique" où tout le monde se perd :-/

Romy Duhem-Verdière a écrit :

Faut un espace intermédiaire pour eux : une "vitrine" avec des jolis paquets zip (= spip-contrib ou autre), parce que c'est pas sympa de les envoyer dans l'"arrière-boutique" où tout le monde se perd :-/

Donc si tu veux du stable, tu vas sur Connexion · GitLab

La discution porte sur le fait de savoir quelle version SVN est définie comme stable ou non (si j'ai bien compris) et à quel moment elle est injectée dans une interface pour utilisateurs ou utilisatrices qui cherchent du stable et du sûrs...

A+

Franck

J’ai à 100% la même impression que romy
il faut différencier développement et correction de bug rien à voir
une version stable n’est jamais à l’abris d’un bug

Peut-être qu’il faudrait davantage penser à sortir les projets finis de
la zone ?

définitevement oui

J’avoue ne pas être encore au courant des usages sur la spip-zone c’est juste une impression en arrivant,
ainsi que la documentation en générale (règle de codage, pour faciliter la participation à des projets existant, …ou alors j’ai raté de la doc c’est possible) une documentation des plugins dans un fichier texte/xml dans svn pour chaque plugin (c’est toujours plus facile à mettre à jour la doc quand est elle proche du codage) et extraite automatiquement de svn sur une page web pour suivre et participer plus facilement aux developpements.

bref comment rendre tous cela plus communicatif, je vois pleins de trucs géniaux circuler, mais je ne sais pas comment y participer ?
la première chose semble t il serai comme l’indique Romy d’avoir une meilleurs visibilité extérieure, non ?

à Franck viens de répondre, donc …, oui mais ce lien n’est pas très fun, une petite page web expliquant ce que fait le téléchargement, comment l’installer, un petit flux rss pour connaître les nouveautés des versions stabilisées serai un peu mieux perçu je pense, (je sais entre faut faire et fait le il y a un gap, mais une fois qu’on se met d’accord sur un principe on trouve toujours une solution technique)

enfin voilà voilà

Le 15 sept. 06 à 22:01, Ventre Arnaud a écrit :

Le 15/09/06, Romy Duhem-Verdière <romy@tetue.net> a écrit :


Y’a un truc qui me chiffonne avec la zone…
Moi je pars du principe que rien n’est stable sur la zone.
Parce que c’est un lieu de travail, de dev, ou tout est, de fait,
bancal. Dans mon idée, on pose un projet sur la zone pour y pouvoir y
bosser à plusieurs, puis quand ledit projet est terminé, on propose sa
version stable ailleurs et on ferme le répertoire.
Peut-être qu’il faudrait davantage penser à sortir les projets finis de
la zone ?

heu bah non, sinon comment on gère les corrections de bugs sur les versions stables ?


Arnaud


spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

Le 15/09/06, Romy Duhem-Verdière <romy@tetue.net> a écrit :

Le 15 sept. 2006, à 22:01, Ventre Arnaud a écrit :

Et il ne devrait y avoir pas d’autre raison de venir sur la Zone que
pour développer & tester : ce n’est pas, ça ne doit pas être, un espace
de téléchargement de versions stables.

c’est bien mon avis aussi le svn de zone est un espace de développement, si des version stables existent dessus c’est juste pour que le(s) tagguer la release qui doit être empaquetée (mais bon j’ai pas suivant en détail les tags, toggs, et autres tics et tacs :slight_smile: ) et mis à disposition dans un espace plus approprié pour les gentils utilisateurs.


Arnaud

On 15 Sep, 2006, at 22:19, Ventre Arnaud wrote:

Le 15/09/06, Romy Duhem-Verdière <romy@tetue.net> a écrit :

Le 15 sept. 2006, à 22:01, Ventre Arnaud a écrit :
...
Et il ne devrait y avoir pas d'autre raison de venir sur la Zone que
pour développer & tester : ce n'est pas, ça ne doit pas être, un espace
de téléchargement de versions stables.

c'est bien mon avis aussi le svn de zone est un espace de développement, si
des version stables existent dessus c'est juste pour que le(s) tagguer la
release qui doit être empaquetée (mais bon j'ai pas suivant en détail les
tags, toggs, et autres tics et tacs :slight_smile: ) et mis à disposition dans un
espace plus approprié pour les gentils utilisateurs.

oui, je suis tout à fait d'accord avec tout cela, et je crois que c'est exactement ce dont on parlait.

Avoir une methode automatique qui fait des paquetages des versions sur la zone, les mets dans un coin (/file/spip-zone) d'où on peut facilement pointer depuis un article pour les novices, ça simplifie déjà beaucoup.

Maintenant, si se script préremplis une DB, avec la version du plugin, son paquetage, etc... etc... alors il y aura déjà un minimum d'info disponible pour faire un site de distribution des paquetages fini. Avant même que les devs écrive un article à propos.

Pierre

Pierre Andrews a écrit :

Avoir une methode automatique qui fait des paquetages des versions sur la zone, les mets dans un coin (/file/spip-zone) d'où on peut facilement pointer depuis un article pour les novices, ça simplifie déjà beaucoup.
  

Il me semble qu'il est intéressant que la méthode de génération automatique des paquets paquets.sh permette :

1) à court terme un téléchargement facile de chaque plugin au format zippé par des novices;

2) à un peu plus long terme une gestion automatique des paquets depuis un spip : génération en local d'une liste des paquets disponibles, des paquets téléchargés et des paquets activés, mise à jour automatisé des paquets.

Bon juste quelques idées pour reprendre un peu le concept de paquets à la debian et après avoir jeté un oeil sur paquet.sh (Connexion · GitLab) et le résultat Connexion · GitLab (où l'on trouve pour l'instant pèle mèle plugin individuel, lots de plugins, squelettes et autres).

Pour les 2 situations il faut prendre en considération l'état d'un paquet (dev, test, stable, experimental), son numéro de version (pas la version svn mais un numéro de version arbitraire qui ne change que suite à des modifications majeures d'autant qu'un commit peut être synonyme de régression) et la version de spip (1.9, 1.9.1, ...).

A partir de là on peut imaginer que la méthode automatique paquets.sh génère une arborescence de la forme :

- 1.9
  |- dev
  |- test
  |- stable
  |- experimental

- 1.9.1
  |- dev
  |- test
  |- stable
  |- experimental

Pour cela, une idée serait de rajouter dans plugin.xml des informations de versions de spip et de prendre en considération les fichiers plugin.xml dans la génération des paquets.

Par exemple :
<spip_version>1.9<spip_version>
<spip_version>1.9.1<spip_version>

[tant qu'à faire, on peut également ajouter un truc du genre <depend>Plugin1</depend> <depend>Plugin2</depend>]

Faire une charte des développeurs de plugins précisant qu'un nouveau paquet n'est généré que lors d'un changement d'état, de version et de spip_version, ce qui impose à modifier <version>, <etat> et <spip_version> pour déclencher un nouveau paquet.

L'idéal est de pouvoir générer plusieurs versions d'un même paquet (la release x svn déclarée stable génère un paquet alors que la release x+1 svn du même plugin peut être déclaré en test).

Cela complique paquets.sh puisqu'il faut regarder les plugins.xml et archiver nom, version, etat, spip_version dans une bd pour savoir si on génère ou non un nouveau paquet. En effet, un utilisateur final n'a pas besoin de mettre à jour ses plugins à chaque commit mais que suite à des changements majeurs ou corrigeant des bugs bloquants.

Concernant le 2), il est en outre nécessaire de séparer le plugin proprement dit de l'information concernant le plugin : son nom, sa version, son etat, la version spip, sa description, ceci pour permettre de récupérer via le net la liste de tous les plugins disponibles sans avoir à télécharger tous les plugins nécessaires (en résumé sortir le svn.revision du paquet) On peut imaginer alors de générer en local (soit en bd soit sous formes de fichiers xml dans plugins/) la liste des plugins disponibles (sorte de apt-cache update), la liste des plugins téléchargés en local (cache dpkg) et la liste des paquets installés.

A partir du moment où la caractérisation du paquet est sorti du zip, on a la possibilité de coder les fonctions permettant de collecter les infos à partir du dépot des paquets, de télécharger les paquets correspondant à sa version de zip et de les décompresser (ainsi que de mettre à jour lors d'un changement de version).

<disgression>

Exemple de fichiers xml dans le répertoire plugin que pourrait générer cette fonction (ou en bd mais c'est juste pour montrer l'idée).

paquets_disponibles.xml :

<plugin>
<nom>PluginTruc</nom>
<version>0.9</version>
<depend>Plugin1</depend>
<depend>Plugin2</depend>
</plugin>
<plugin>
<nom>PluginMachin</version>
<version>1.1</version>
</plugin>
...

paquets_actives.xml :

<plugin>
<nom>PluginTruc</nom>
<version>0.9</version>
</plugin>
...

sources.list :
http://plugins.spip.org

Tant qu'à faire autant pouvoir préciser un dépôt miroir (plus pratique à Bamakode télécharger la liste et les plugins depuis un miroir local proche situé à l'université plutôt qu'à des milliers de kilomètres).

</disgression>

Quant à savoir quand un paquet est jugé stable ou non ? Ici je pars du principe que c'est à la discrétion des commiters. On peut aller plus loin en affectant un mainteneur comme pour les paquets debian et d'associer un hash pour que ce ne soit pas quelqu'un d'autre que le commiter qui versionne mais ca parait quand même trop compliqué. Ou que plusieurs personnes de mainteneur décident du passage de test à stable mais une charte des développeurs de plugins précisant quelques règles communes devraient suffire.

La question des mises à jours automatiques par la suite n'est pas anodine car quand je vois toutes les vieilles versions de spip en production sur une plate-forme mutualisé d'hébergement, sans possibilité de mettre à jour facilement un plugin, x versions d'un même plugin peuvent se retrouver dans la nature (trop fastidieux de s'informer et de mettre à jour manuellement les plugins).

V'là pour quelques idées en vrac ... [je veux bien commencer un prototype de récupération de listes de plugins/téléchargement/décompactage de plugins à partir du moment où on peut disposer de la caractérisation des plugins en dehors des paquets :wink: ]

Amicalement,
Philippe

Note : super les articles http://www.spip.net/fr_article3448.html et http://doc.spip.org/@Tuto-Se-servir-des-points-d-entree !

Maintenant, si se script préremplis une DB, avec la version du plugin, son paquetage, etc... etc... alors il y aura déjà un minimum d'info disponible pour faire un site de distribution des paquetages fini. Avant même que les devs écrive un article à propos.

Pierre
_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone