Hello,
c'est encore experimental, et il est possible que certaines choses ne marchent pas très bien,
mais il devient possible de référencer un plugin développé sur github sur plugins.spip.net
Pour cela, il faut le référencer en externals dans le dossier _externals_ de la zone, en utilisant l'URL de checkout SVN fournie par github.
En ligne de commande cela donne :
$ cd spip-zone
$ svn up --ignore-externals _externals_
$ cd _externals_
$ svn propedit svn:externals .
Là dans votre éditeur, ajoutez la ligne pour indiquer à SVN le nom du dossier du checkout et l'URL SVN du repository Github.
Par exemple :
video_accessible https://github.com/Cerdic/video_accessible
Enregistrez, et commitez :
$ svn commit . -m"Ajout de video_accessible aux externals"
Pour voir si le checkout va bien fonctionner il suffit de faire
$ svn up .
SVN va alors aller chercher le repository https://github.com/Cerdic/video_accessible et le checkout dans le dossier video_accessible
Il suffit ensuite de l'ajouter a archivelist.txt :
_externals_/video_accessible/tags/v0.6.8/;video_accessible
Important : le checkout du repository Github ne sera pas automatiquement mis à jour en fonction des commit de github, donc inutile de générer un zip depuis le trunk il ne sera jamais à jour.
Il convient absolument d'utiliser un tag pour générer le zip, et de venir mettre à jour le archivelist quand c'est necessaire. C'est un peu plus lourd, mais pour le moment c'est le mieux qu'on puisse faire sans se retrouver avec une génération de zip qui prenne des heures.
Enjoy !
NB : cela ne permettra pas de contribuer depuis le SVN de la zone.
Même si en théorie il est normalement possible de commit depuis SVN en allant par exemple dans le dossier video_accessible/trunk/, Github va refuser le commit car il vient d'un utilisateur qui n'a pas le droit de commit sur le repository, sauf à avoir aussi un compte Github et à avoir les droits de commit sur le repo concerné.
Question à trancher :
----
Peut-être faudrait-il définir un rangement dans _externals_ pour eviter que ce soit le bazar, en faisant un checkout dans un dossier
github.com/githubUser/nomDuRepository
pour eviter les collisions ?
(mais ça fait apparaitre le nom du user github dans l'arbo de la zone, ce qui personnalise et peut être interprété comme contraire à la notion de dev collaboratif...)
--
Cédric