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.

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 »

Hello World

19 June, 2008 (12:02) | Forge Evolix | Florian Cargoet

Ouverture du blog !

Ce blog a pour objet de présenter, au fur et à mesure de son avancement, le projet de portail collaboratif d’Evolix.

L’idée essentielle du projet est de partir du fonctionnement d’une forge (SourceForge étant la plus connue) et d’y ajouter les fonctionnalités qui nous manquent.

Pour nous le plus important étant l’aspect communautaire, il est indispensable de disposer d’outils tels que :

  • les mailing-lists avec archivages
  • des outils de blogging
  • des outils d’agrégations (Planet, RSS)
  • une messagerie type Jabber

Le but global étant d’héberger des projets de développement, il est nécessaire d’avoir accès à :

  • plusieurs logiciels de gestion de code source : CVS, SVN, GIT…
  • un accès shell sécurisé

C’est donc avec ces objectifs que nous démarrons ce projet en cherchant un outil global libre qui propose un maximum de ces fonctionnalités, et facilement modifiable pour pouvoir y ajouter les fonctionnalités manquantes.

Toutes nos avancées seront bien entendu documentées afin d’en faire profiter tout le monde !

A noter qu’en parallèle de ce blog nous avons mis en place un Trac qui donne des informations plus techniques.