Infrastructure de développement communautaire : Différence entre versions
Ligne 70 : | Ligne 70 : | ||
Outre un gestionnaire de projet de type wiki ou Trac, une mailing liste de dev est nécessaire, potentiellement différente de celle destinées aux "GO" du jeu. | Outre un gestionnaire de projet de type wiki ou Trac, une mailing liste de dev est nécessaire, potentiellement différente de celle destinées aux "GO" du jeu. | ||
+ | |||
+ | Comme il est important de pouvoir discuter de certaines choses à plusieurs, il est bon de pouvoir en discuter plus rapidement que par la mailing list. IRC (le new-chat) est un excellent outil pour ca, et permet de souder une communauté. | ||
=En terme d'infrastructure serveur= | =En terme d'infrastructure serveur= |
Version du 13 juin 2008 à 17:27
Cette page à pour but de centraliser les réflexions sur les outils à mettre en oeuvre pour favoriser un développement / une gestion communautaire du projet.
Sommaire
Les besoins
On peut résumer les besoins à :
- publier de la documentation
- publier du code
- collaborer autour des 2 premiers points
essentiels
- Disposer d'un point d'accueil pour les contributeurs volontaires
- Pouvoir centraliser la doc, et la compléter
- Mettre à disposition le code source
- Pouvoir publier/proposer une modification de manière simple
- Pouvoir tester certaines modifications sans mettre en jeu le site lui même
- Respecter les besoins de sécurité de la société qui héberge VLM
- Suivre les sujets / tâches, en garder la trace
annexes
- utiliser des outils compatibles avec les déplacements du grand manitou François
- héberger les projets annexes autour du jeu
Les possibilités logicielles
Pour le code
A ce stade du projet, il est nécessaire d'avoir de quoi publier le code et surtout en suivre les modifications. Cela signifie utiliser un gestionnaire de source. Les 2 logiciels Subversion et Mercurial sont les archétypes des solutions possibles, et sont tous les 2 compatibles avec Trac ou Ikiwiki (Cf. Plus bas)
Utiliser Subversion
- C'est le standard actuel, probablement celui avec lequel les développeurs sont les plus familiers.
- les possibilités d'authentification sont assez souples
- Inconvénient : il faut être connecté pour "versionner" ses modifications
Utiliser Mercurial
Mercurial est un gestionnaire de source "distribué", par opposition au centralisme de Subversion.
- adapté aux nomades qui travaillent sur leur portable
- authentification dépendante d'une infrastructure ssh (pas un pb sur un serveur au demeurant)
- Inconvénient : il faut, même pour certains habitués de subversion ou cvs, acquérir de nouveaux réflexes.
Pour la documentation
Utiliser simplement ce type de Wiki
C'est le plus simple, le plus évident. La doc développeur n'est alors qu'une partie de la documentation générale du jeu. C'est intéressant car cela rend la frontière entre joueur et développeur plus perméable
Techniquement, il faut php5 et mysql.
Utiliser Trac
Trac est un quasi standard en tant que gestion de projet communautaire. Il s'intègre facilement avec mercurial ou subversion et permet d'avoir :
- un wiki
- une gestion de tâches (bugreport) pour différents projets gérés dans le même subversion/mercurial
Beaucoup de développeurs du monde du logiciel libre le connaissent.
Utiliser IkiWiki
Ikiwiki est un wiki qui a la spécificité de s'appuyer sur un gestionnaire de source de type mercurial ou subversion. L'avantage immédiat est que de facto la documentation et les sources sont gérées dans le même espace, ce qui sur le long terme incite à documenter.
En terme de gestion de tâches, elle s'effectue dans le wiki en assignant des mots-clefs (todo, done, bug, ...) dans des billets textes non normés. Cela devient un inconvénient s'il y a beaucoup de contributeurs.
Pour la collaboration
Outre un gestionnaire de projet de type wiki ou Trac, une mailing liste de dev est nécessaire, potentiellement différente de celle destinées aux "GO" du jeu.
Comme il est important de pouvoir discuter de certaines choses à plusieurs, il est bon de pouvoir en discuter plus rapidement que par la mailing list. IRC (le new-chat) est un excellent outil pour ca, et permet de souder une communauté.
En terme d'infrastructure serveur
Il serait bien d'avoir :
- un vhost qui permet d'administrer les logiciels de dev (un compte utilisateur simple suffit). Par exemple dev.v-l-m.org
- un vhost qui peut servir de pré-production pour tester surtout les modifs d'interface (permet des retours d'utilisateurs lambda plus facilement), Par exemple : tests.v-l-m.org
Synthèse
Toutes les combinaisons sont possibles, instalables relativement facilement sur n'importe quel serveur Debian.
La plus rapide est d'avoir ce wiki + un subversion. Le plus standard est d'avoir ce wiki+subversion+trac Les autres combinaisons ont elles aussi leurs avantages.
paparazzia : ma préférence va vers mercurial+ikiwiki, mais je suis partisant ;)