generationcyb.net pointcyb lien vers les points cyb
Inscription à la lettre d'information | Fil infos rss 

 

Accueil > Boîte à outils > Communiquer en réseau et en direct

Jabber : la messagerie instantanée libre et bien plus encore


Version imprimable Version imprimable


Jabber est une application réseau basée sur le protocole [1] XMPP. Jabber offre une alternative ouverte pour la messagerie instantanée, son utilisation la plus connue. Nous vous invitons à travers ces quelques lignes à découvrir les principes de la technologie Jabber et ses avantages. Nous présentons quelques d’usages basés sur Jabber et les outils associés, le plus souvent des logiciels libres.

Le babel des messageries instantanées

Aujourd’hui lorsque vous décrochez votre téléphone pour appeler un correspondant, vous ne vous préoccupez pas de savoir s’il est abonné chez le même opérateur que vous. Il n’en va pas de même pour les messageries instantanées. MSN, Yahoo, AIM, ICQ constituent autant d’univers parfaitement cloisonnés. Vous ne pouvez discuter qu’avec les utilisateurs du même réseau. Il arrive que 2 sociétés décident de rendre compatibles [2] leurs réseaux mais les échanges restent impossibles avec les autres protocoles. On nous prend pour des idiots [3] écrit avec raison Thierry Stoehr sur Formats-ouverts.org.

Un standard ouvert

Jabber est basé sur le protocole ouvert XMPP. Cet article s’inscrit dans la série Des formats ouverts pour des données libres. Les lecteurs pour lesquels les notions de format ouvert et d’interopérabilité ne sont pas familières liront avec intérêt l’introduction de notre article consacré au format Opendocument.

Une architecture décentralisée

L’architecture du réseau Jabber est très proche de celle utilisée pour la messagerie électronique. Chaque client communique avec un serveur. Les serveur échangent entre eux les messages de leurs clients. On trouve un bon aperçu technique [4] sur le wiki Jabberfr.

Cette architecture décentralisée constituée de très nombreux serveurs distribués sur l’ensemble de la planète offre l’avantage de ne pas dépendre d’un fournisseur unique. À l’inverse, Microsoft imposait récemment la mise à jour de son logiciel de messagerie en interdisant l’accès aux utilisateurs récalcitrants [5].

Encore du XML

Comme les standards Opendocument [6] et SVG [7] qui ont fait chacun l’objet d’un article de la série Des formats ouverts pour des données libres, Jabber est basé sur la technologie XML. Notre article consacré au format SVG comporte une courte présentation de cette technologie.

Une norme internationale

XMPP est une norme internationale maintenue par la Fondation XSF [8] et reconnue par l’IETF [9] depuis octobre 2004 [10]. Le protocole est décrit dans des documents appelés RFC (Request For Comment) [11] qui décrivent précisément les différents aspects du protocole. Ces spécifications sont librement consultables [12] [13] et l’IETF n’impose aucune restriction à l’utilisation de sa norme. Il s’agit donc bien d’un standard ouvert tel que définit dans la loi française [14].

Les JEPs (Jabber Enhancement Proposals) permettent d’étendre le protocole pour des applications spécifiques. C’est le cas par exemple de Jingle pour la vidéo [15].

Messagerie instantanée et présence

La messagerie instantanée est sans aucun doute l’utilisation la plus courante parmi les possibilités offertes. On trouve de nombreux clients Jabber [16] sous licence libre : Coccinella [17], Exodus [18], Freetalk [19], Gabber [20], Gajim [21], Gossip [22], Psi [23]. D’autres clients supportent plusieurs protocoles dont Jabber : Adium [24], CenterICQ [25], Kopete [26], Miranda [27], Openwengo [28], Pidgin [29] (anciennement Gaim). Ces listes n’ont pas la prétention d’être exhaustives.

Parmi les applications propriétaires, on peut citer Google Talk [30] dont la FAQ vente les mérites du protocole XMPP en matière d’interopérabilité : Google Talk prend également en charge des clients de communication standard. Les utilisateurs Gmail peuvent donc accéder au service Google Talk et échanger des messages instantanés à l’aide d’autres clients prenant en charge le protocole standard XMPP, tels que Trillian, GAIM, iChat, Adium et Psi. Vous pouvez donc accéder au service Google Talk et envoyer des messages instantanés à partir des principales plates-formes du marché, notamment OSX, Linux et Windows [31].

Jabber gère également votre présence, ce qui permet à vos contacts de connaître votre statut (connecté, disponible, occupé…).

Jargon Jabber

- Le JID (Jabber IDentifiant) désigne l’adresse Jabber d’un utilisateur. Sa forme est la même que celle des adresses de courrier électronique.

- Les JUD (Jabber User Directory) sont les annuaires d’utilisateurs Jabber.

- Chaque utilisateur stocke ses contacts dans son roster. Ces contacts sont stockés sur le serveur, ce qui permet de les rendre accessibles quel que soit le lieu de la connexion.

- Les passerelles [32] ou transports vous permet de vous connecter à d’autres réseaux de messagerie instantanée depuis Jabber. Les passerelles sont installées sur le serveur Jabber. On trouve des passerelles pour MSN, ICQ, Yahoo, AIM…

- Les MUC [33] (Multi User Chat) ou salles de discussion offrent la possibilité d’échanges à plusieurs avec Jabber.

D’autres termes vous semblent obscurs, le wiki Jabberfr comporte un très bon glossaire [34].

Jabber côté serveur

Il existe des serveur publics sur lesquels chacun peut s’inscrire pour disposer d’une adresse Jabber. Une liste est disponible sur le wiki Jabberfr [35].

Chacun peut faire fonctionner son propre serveur Jabber. Parmi les logiciels disponibles, on peut citer : ejabberd [36], jabberd [37], Tigase [38], Wildfire [39].

Jabber et la sécurité

Citons le Journal du net : Jabber a aussi le bon goût d’être sûr : il supporte le protocole SSL, les systèmes d’authentification de LDAP et de SQL, il crypte les mots de passe stockés sur le serveur [40].

Autres applications de Jabber

Jabber est conçu comme un protocole d’échange générique, dont une des applications est la messagerie instantanée mais son champ d’application s’étend largement au delà : notification, transfert de fichiers [41], salles de discussion [42] mais aussi voix sur IP et multimédia  [43] ou encore jeux en réseau [44].

Vous aimez consulter rapidement les flux RSS de vos sites favoris ? Avec JabRSS [45], vous pouvez recevoir les mises à jour directement dans votre client Jabber.

Jabber sert également de support à des applications de travail collaboratif en temps-réel. Des outils comme Coccinella [46] ou Inkboard [47] permettent de partager une fenêtre de dessin entre plusieurs utilisateurs à travers le réseau. Le traitement de texte Abiword peut fonctionner en réseau via Jabber [48] comme l’illustre une animation disponible sur le site du logiciel [49].

Jabber dans le texte

Voici un exemple fictif de communication entre un client et un serveur Jabber. Bien entendu, tout ceci est transparent pour l’utilisateur. Nous nous inspirons ici du chapitre 4.8 de la RFC 3920 : Simplified Stream Examples.

Le client :


<?xml version='1.0'?>
     <stream:stream
         to='example.com'
         xmlns='jabber:client'
         xmlns:stream='http://etherx.jabber.org/streams'
         version='1.0'>

Le serveur :


<?xml version='1.0'?>
     <stream:stream
         from='example.com'
         id='someid'
         xmlns='jabber:client'
         xmlns:stream='http://etherx.jabber.org/streams'
         version='1.0'>

Le client :


<message from='juliet@example.com'
                to='romeo@example.net'
                xml:lang='en'>
<body>Art thou not Romeo, and a Montague?</body>
</message>

Le serveur :


<message from='romeo@example.net'
                to='juliet@example.com'
                xml:lang='en'>
<body>Neither, fair saint, if either thee dislike.</body>
</message>

Le client :


</stream:stream>

Le serveur :


</stream:stream>

Pour en savoir plus :

- Le wiki Jabberfr
- Présentation de Jabber sur le wiki Jabberfr
- Le protocole Jabber sur Minet
- Le guide de l’utilisateur Jabber et Vue d’ensemble du système Jabber traduits de l’anglais par Yvon Le Gal.
- Jabber sur Wikipédia
- Les deux crabes, le cocotier et l’utilisateur de Jabber et Jabber pour Marie et les non ordinateuriens… par Ploum
- Quand Jabber ne sert pas qu’à la causette par Talou

Pour suivre l’actualité de Jabber :
- Le Jabber Journal
- News Jabber
- Le Planet Jabberfr

A propos de l’auteur

Jean-Christophe BECQUET est le fondateur d’APITUX, cabinet spécialisé dans la formation et le conseil en informatique libre. Il est également l’auteur du site Apitux.org consacré aux enjeux du logiciel libre, aux standards ouverts et à l’interopérabilité.

Cet article est publié selon les termes de la licence Créative Commons BY-SA.


[1] Qu’est-ce qu’un protocole ? sur le site de l’Open Discussion Day

[2] Compatibilité, standard de fait et interopérabilité sur Apitux.org

[3] On nous prend pour des idiots sur Formats-ouverts.org

[4] Aperçu technique sur le Wiki Jabberfr

[5] Microsoft impose la màj Windows Live Messenger 8.1 sur Clubic

[6] Bureautique : le format Opendocument sur Generationcyb.net

[7] Le format SVG sur Generationcyb.net

[8] La fondation XFS : XMPP Standards Foundation

[9] IETF - Internet Engineering Task Force

[10] Messagerie instantanée : la norme internationale XMPP sur Formats-ouverts.org

[11] RFC sur Wikipédia

[12] Extensible Messaging and Presence Protocol (XMPP) : Core RFC 3920

[13] Extensible Messaging and Presence Protocol (XMPP) : Instant Messaging and Presence : RFC 3921

[14] Formats ouverts et interopérabilité sur Apitux.org

[15] Jingle sur le wiki Jabberfr

[16] Clients Jabber sur le wiki Jabberfr

[17] Coccinela (en anglais)

[18] Exodus (en anglais)

[19] Freetalk (en anglais)

[20] Gabber (en anglais)

[21] Gajim

[22] Gossip (en anglais)

[23] Psi (en anglais)

[24] Adium (en anglais)

[25] CenterICQ (en anglais)

[26] Kopete (en anglais)

[27] Miranda (en anglais)

[28] Openwengo (en anglais)

[29] Pidgin (en anglais)

[30] Google Talk

[31] Google Talk - Foire aux questions (FAQ)

[32] Les passerelles sur le wiki Jabberfr

[33] Les MUC sur le wiki Jabberfr

[34] Glossaire sur le wiki Jabberfr

[35] Serveurs sur le wiki Jabberfr

[36] ejabberd (en anglais)

[37] Jabberd (en anglais)

[38] Tigase (en anglais)

[39] Wildfire (en anglais)

[40] Jabber : une messagerie instantanée libre et universelle sur le Journal du net

[41] Le transfert de fichiers sur le wiki Jabberfr

[42] MUC sur le wiki Jabberfr

[43] Solutions de voix et de vidéo sur le wiki Jabberfr

[44] Gtetrinet sur Telepathy par Alban Crequy

[45] JabRSS (en anglais)

[46] Aperçu du tableau blanc partagé dans Coccinella

[47] Inkboard

[48] Wiki, Google Docs et Abiword par Alban Crequy

[49] Abicollab : partage d’une fenêtre de traitement de texte via Jabber (animation multimédia)

Mis en ligne le mercredi 10 octobre 2007



Répondre à cet article

Forum

Des mêmes auteurs

apitux | (APITUX) : Formateur et conseil en informatique libre. Auteur du site http://www.apitux.org/ consacré aux enjeux du logiciel libre, aux standards ouverts et à l’interopérabilité. APITUX vous accompagne dans votre migration vers le logiciel libre.

- Des agendas partagés en toute liberté avec Webcalendar
- Le format SVG
- Le format Opendocument
- Jabber : la messagerie instantanée libre et bien plus encore

Contact | Plan du site | Espace privé
Dernier ajout : vendredi 24 mai 2013 | 821 articles sur ce site.

Generationcyb.net est motoris´ par Spip 1.9.2e associ´ a un squelette spip Rizom
Sauf indication, les articles sont mis a disposition sous un contrat Creative Commons
Ministere en charge de la jeunesse Institut national de la jeunesse et de l'education populaire Information jeunesse Centre d'information et de documentation jeunesse