Ce blog a déménagé et parle maintenant uniquement anglais.

This blog has moved and now only speaks English.

blog.floriancargoet.com

See you there!

/home/florian

le blog de florian cargoet : du linux, du web et du logiciel libre



Categorie: Forge Evolix

Plugin Planet pour GForge

11 August, 2008 (15:47) | Forge Evolix | Florian Cargoet

Voilà, c’est enfin fait, mon plugin planet est en place sur EvoForge, et sera bientôt téléchargeable sur cette même forge (Projet Plugin Planet).

Roadmap GForge / Lenny

8 August, 2008 (12:18) | Forge Evolix | Florian Cargoet

Pas un vrai post, plutôt une note rapide :

RoadMap GForge : la roadmap (en anglais) qui donne quelques infos sur la 4.7, qui est censée être prête pour lenny (septembre).

ejabberd 2.0.1-3 pour Debian

24 July, 2008 (12:38) | Forge Evolix | Florian Cargoet

Une nouvelle version d’ejabberd est sortie pour Debian, je ne vais pas reprendre le Changelog que vous pouvez lire ici, mais simplement insister sur un point : dans cette nouvelle version, le module mod_ctlextra est censé avoir été mis à jour (par rapport à l’upstream) et on devrait donc désormais bénéficier de nouvelles commandes pour ejabberdctl.

Néanmoins, toujours pas de commandes pour lister les shared rosters et récupérer les infos relatives à un groupe malgré la fermeture de mon bug (la nouvelle version est censée apporter ces commandes). Bref, les commandes n’y sont pas, on va devoir continuer à les rajouter à la main. J’essaye cependant de faire rouvrir le bug en espérant qu’il soit pris en compte pour la prochaine version.

Edit : Oups ! La dernière version est la 2.0.1-3, et j’ai testé la 2.0.1-2 à la place. La 2.0.1-3 est disponible en unstable.

Plugin Planet

22 July, 2008 (10:49) | Forge Evolix | Florian Cargoet

J’en ai déjà parlé dans un précédent article : PlanetPlanet, agrégateur de flux (RSS,RDF,Atom), codé en Python, très léger (page statique générée par un cronjob).

Parallèlement au développement du plugin WordPressMU qui apportera un blog pour chaque développeur, j’ai entamé l’écriture d’un plugin pour intégrer PlanetPlanet à GForge afin de pouvoir, entre autres, réunir les articles des blogs concernant chaque projet. C’est un plugin orienté projet, activable et configurable par l’administrateur du projet qui ajoute un onglet Planet au projet et qui affiche une page regroupant l’ensemble des flux choisis par l’administrateur. On peut également de cette manière ajouter des flux extérieurs au site, comme par exemple le blog d’un développeur qui préfère rester sur son site perso plutôt que d’héberger son blog sur la forge.

Exemples de planet :

Ce logiciel est très simple à utiliser : un fichier de configuration très simple et commenté pour chaque planet, ensuite, il suffit de générer la page du planet régulièrement via un script python fourni.

Cette simplicité facilite le travail d’intégration. Par ailleurs, la page étant générée à partir de templates, il est facile de faire un template minimal pour l’intégrer facilement à GForge avec un include php plutot qu’avec un <object> html.

Comme d’habitude, les détails, au fur et à mesure de mon avancement, sur le wiki.

Un plugin pour bloguer dans GForge ?

17 July, 2008 (12:01) | Forge Evolix | Florian Cargoet

Pour aller encore plus loin dans l’esprit communautaire de GForge, pourquoi ne pas offrir la possibilité à chaque développeur d’avoir son blog sur la forge ? Chaque développeur pourrait alors parler de son travail autour des différents projets de la forge auxquels il participe, et on peut facilement imaginer chaque projet ayant un genre de Planet, qui centraliserait les posts taggués ‘projet machin’ de tous ses développeurs !

Allez hop, au boulot !
Lire la suite »

Projet Jabber sur GForge.org

10 July, 2008 (12:28) | Forge Evolix | Florian Cargoet

Au vu de mon activité autour du projet GForge, notamment avec le travail effectué autour d’ejabberd, Timothy Perdue (membre GForge) m’a proposé d’héberger mon travail sur gforge.org.

Cet hébergement me servira pour publier fichiers, sources et documentation en anglais. Je continuerai à travailler avec Trac pour la version française en développement. Régulièrement, je publierai de la documentation sous un format plus figé que le wiki lorsqu’elle sera un peu mieux organisée. J’en profiterai pour la traduire en anglais.

Bugs & Patchs pour GForge

4 July, 2008 (16:46) | Forge Evolix | Florian Cargoet

Ah ! Ce qu’on est fier lorsque ses premiers patchs sont acceptés ! J’utilise la version SVN (/trunk) de GForge et de temps en temps, j’y trouve un bug, que je signale et/ou corrige si j’en suis capable.

Voici quelques bugs corrigés (en anglais) :

Lire la suite »

Script pour les shared rosters

4 July, 2008 (10:34) | Forge Evolix | Florian Cargoet

Nous avons maintenant accès aux commandes pour lister les groupes et utilisateurs, on peut donc modifier notre script pour qu’il n’ajoute que les utilisateurs qui ne sont pas déjà dans le projet et qu’il ne crée que les nouveaux groupes plutôt que de tout refaire à chaque fois. On peut en profiter pour gérer l’effaçage des développeurs dont le compte aura été supprimé.

Ce script écrit en Perl compare la liste des groupes jabber et celle des projets GForge et s’efforce de les égaliser puis fait la même chose pour les développeurs de chaque projet.

On peut imaginer pour plus tard peut-être un plugin GForge qui permet à chacun de choisir d’apparaitre ou non dans les projets, qui permet à l’administrateur du projet de changer le nom du groupe…

Le script Perl est disponible sur le wiki.

Modification du paquet Debian ejabberd

3 July, 2008 (16:25) | Forge Evolix | Florian Cargoet

Je l’ai dit précédemment, le paquet Debian d’ejabberd n’intègre pas la dernière version du module mod_ctlextra qui contient des commandes qui pourraient beaucoup nous aider.

En effet, ejabberdctl ne permet pas de lister les shared rosters et les utilisateurs inscrits dans ces rosters ce qui nous oblige à :

  • soit recréer les rosters et les remplir à chaque fois que l’on veut synchroniser les groupes GForge et les groupes Jabber, ce qui est très long car il faut les créer un par un (quelques secondes pour une poignée d’utilisateurs, imaginons pour 10 000 ou 100 000 utilisateurs…).
  • soit utiliser une base de données auxiliaire pour stocker cette information et ainsi de modifier que les rosters qui en ont besoin.
  • rajouter ces fonctionnalités à ejabberd. Ce n’est pas très compliqué car le code est déjà écrit et est disponible dans le repository de mod_ctlextra.

C’est la première option que j’ai utilisée dans un premier temps, ça fonctionne mais, comme prévu, c’est très long ne serait-ce que pour 5 utilisateurs dans 4 groupes…

Je dois donc me tourner vers la troisième option. J’aurais consideré un peu plus la deuxième si le code n’était pas déjà écrit car ejabberd est codé en Erlang, langage avec lequel je n’ai pas encore beaucoup d’expérience.

Pour avoir un déploiement le plus simple possible et également pour apporter ma pierre à l’édifice, j’ai choisi de modifier le paquet Debian. Si la procédure vous intéresse, elle est disponible sur le wiki.

Cette modification a été proposée en wishlist au mainteneur du paquet.

En projet : modifier le script qui créer les groupes pour tenir compte de ces nouvelles commandes.

Ejabberd, serveur XMPP

3 July, 2008 (15:50) | Forge Evolix | Florian Cargoet

Ejabberd est un serveur Jabber simple à mettre en oeuvre et robuste.

Il est codé en Erlang, ce qui offre d’intéressantes possibilités : montée en charge, clustering, tolérance aux pannes…

Pour notre projet de forge, nous souhaitons que chaque développeur inscrit dans un ou plusieurs projets se voit automatiquement attribuer un compte jabber (user@forge.evolix.net par exemple) et retrouve dans ses contacts, tout aussi automatiquement, l’ensemble des développeurs avec qui il travaille, groupés par projet.
Lire la suite »