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



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.

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.

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 »