Intégrer Jabber dans le processus de développement d’un logiciel

Il y a quelques mois, j’avais commencé à regarder s’il existait des solutions pour apporter la fonctionnalité « messagerie instantanée & présence » à mon environnement de développement habituel : Eclipse. J’étais tombé sur Eclipse Communication Framework, qui permettait de faire du travail collaboratif directement dans l’IDE.

Voilà donc je me suis motivé et j’ai testé un peu pour voir.

La plate-forme

Tous les logiciels sont installés sur un portable Dell sous Debian testing.

L’annuaire LDAP est un OpenLDAP 2.3.24, le serveur Jabber est Wildfire 3.0.1 et Flyspray est la version 0.9.8 (la 0.9.9 vient de sortir…).

  • l’annuaire LDAP : c’est lu qui centralise la gestion des utilisateurs et des groupes. J’ai réalisé un DIT très simple
    1. ou=users,dc=wawax,dc=org pour stocker les utilisateurs
    2. ou=groups,dc=wawax,dc=org pour stocker les groupes

LDAP_DIT

  • le serveur Jabber : j’ai pris Wildfire, car il marche bien, et est facile à configurer. J’ai activé le support LDAP via le fichier de config xml. Vous pourrez trouver un résumé de mes manips sur le wiki de JabberFR .

Users_Wildfire

ECF2

  • le logiciel de bugtracking : j’ai pris Flyspray, qui supporte Jabber pour les créations de comptes et les notifications.

Le but recherché

Je suis persuadé que d’ici quelques années, on utilisera Jabber pour le développement de projets informatiques. En effet de plus en plus de logiciels sont développés par des équipes qui ne se trouvent pas physiquement au même endroit. Imaginez cinq minutes que vous puissiez :

  • travailler en envoyant aux autre développeurs par exemple les logs de votre serveur d’appli directement depuis Eclipse en faisant clic droit -> envoyer à ?
  • programmer à plusieurs sur le même fichier (pour l’extreme programming) ?
  • recevoir les notifications de rapports de bugs directement dans votre IDE ?
  • avoir un tabeau blanc entre développeurs/concepteurs pour parler architecture ?

C’est justement ce que je cherche à tester, même si je suis conscient qu’à l’heure actuelle on en est encore pas là 😉

Résultats

Il y a des choses qui marchent (heureusement).

L’intégration Wildfire + LDAP se fait sans encombre. Une fois ECF installé, on se logge et on récupère tous ses concacts, classés par groupe. Pour mes tests j’ai fait des groupes par projet, mais il faudrait voir si c’est très judicieux…

J’ai remarqué que les connexions ECF ne fonctionnent pas parfaîtement. Parfois cela ne se connecte pas du tout, et je suis obligé de relancer le serveur Jabber…

Au niveau de flyspray, là c’est plus mitigé. L’outil marche et remplit bien son rôle de bugtracker, mais j’ai remarqué les points suivants :

  • il n’est pas possible de l’intégrer avec LDAP. C’est dommage, car cela nécessite de rajouter les utilisateurs à la main dans l’interface du logiciel, en précisant leurs adresses Jabber. On aurait pu tout stocker dans l’entrée utilisateur d’Open LDAP…
  • la confirmation de création de compte via Jabber marche bien
  • les envois de notifications ne fonctionnent pas comme je l’avais imaginé. En effet, elles ne se font pas en temps réel, mais doivent être programmées (par exemple dans la cron) : une page php permet de parcourir toutes les notifications en attente, et de les envoyer en messages jabber.

Réflexions concernant les informations dans LDAP

Je me pose des questions sur la manière de stocker les groupes dans l’annuaire LDAP. Pour l’instant j’ai fait 1 projet = 1 groupe… cela peut vite devenir le foutoir.

De même, le client ECF est bien loin d’un client Jabber (Psi, Gajim, etc..) : ses fonctionnalités sont très limitées (chat). Alors peut être faudrait-il penser à créer des jabberid spéciaux pour le travaill collaboratif. Chacun est libre d’utiliser un autre compte pour son usage personnel ou professionnel. Personnellement je préfererais avoir un jabberid spécialement pour le code, mais je connais d’autres personnes qui pensent justement l’inverse…

Avancées à venir

  • Concernant Wildfire, la gestion de l’annuaire est déjà bonne, donc pas grand chose de plus à espèrer.

Conclusion

A l’heure actuelle, l’intégration de tous les logiciels pré-cités est encore assez faible. Ce qu’il manque c’est le support de LDAP dans Flyspray : on aurait une administration centralisée des utilisateurs dans l’annuaire, ce qui simplifierait beaucoup l’exploitation 🙂

ECF mérite que je m’y penche plus sérieusement. Le but de mes tests était plus de voir que cela pouvait fonctionner que de parcourir toutes les fonctionnalités.

Pour finir, je dirais que je pense qu’il y a un avenir pour une telle intégration… que l’on pourrait complèter avec celle d’un blog (par exemple wordpress + le plugin pour recevoir des notifications par Jabber).

CatégoriesNon classé

One Reply to “Intégrer Jabber dans le processus de développement d’un logiciel”

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.