Jabber

Image manquante
Jabber_logo.png
Logo Jabber

Jabber est un protocole de messagerie instantanée ouvert, standard et basé sur le langage standard XML. Des logiciels basés sur Jabber sont déployés sur des milliers de serveurs sur Internet et sont utilisés par sept à dix millions d'utilisateurs (à dater d'octobre 2003) à travers le monde. Le protocole lui-même est maintenu par la Jabber Software Foundation et est standardisé par l'IETF sous le nom XMPP.

À la différence des autres systèmes de messagerie instantanées populaires, Jabber est utilisé dans les systèmes d'information d'entreprises et administrations dans le cadre d'échange de données entre applications (EAI, ETL).

Sommaire

Fonctionnement

Image manquante
Gossipfr.jpg
Un exemple parmi d'autres : Gossip utilise Jabber.

Le réseau des utilisateurs de Jabber est décentralisé. Il fonctionne de manière similaire à celle du courrier électronique, c'est-à-dire qu'un utilisateur est identifié par un nom d'utilisateur et un nom de serveur, les deux champs étant séparés par un arobas. Cet identificateur est appelé Jabber ID. Les messages instantanés sont transférés d'un utilisateur à l'autre par l'entremise de leur serveur respectif.

Par exemple, si un utilisateur bob@jabber.org souhaite communiquer avec gilles@jabber.cz, il commence par envoyer son message à son serveur (jabber.org). Ensuite, le serveur de Bob contactera le serveur de Gilles (jabber.cz) et lui transférera le message. Enfin, le serveur jabber.cz pourra contacter Gilles, s'il est en ligne (sinon le message sera gardé en attente), et lui communiquer le message. Évidemment, toutes ces étapes se font de manière transparente et instantanée à l'utilisateur, comme pour les courriers électroniques.

Transports

Une des particularités de ce protocole est le fait qu'il permette l'utilisation de transports (également appelés agents ou passerelles) vers d'autres systèmes de messagerie instantanée. Les utilisateurs peuvent s'enregistrer à ces transports en fournissant leurs informations (par exemple, pour ICQ, il faut fournir l'UIN et le mot de passe). Une fois cette opération faite, l'utilisateur peut ajouter des contacts utilisant un autre réseau comme il le ferait pour un contact utilisant Jabber. À l'heure actuelle, les protocoles les plus importants sont supportés, comme ICQ, MSN Messenger, Yahoo! Messenger et AOL Instant Messenger.

Toutefois, certaines compagnies -- notamment AOL -- bloquent l'accès aux serveurs Jabber importants, tel que jabber.org et jabber.com, sur leur réseau. Ceci rend donc impossible l'utilisation des transports concernés sur ces serveurs. Certaines entreprises ont aussi modifié leur protocole, selon certains dans le but de contrer l'utilisation de leur réseau par des clients alternatifs ou par des transports Jabber.

Jabber ID

Un Jabber ID, ou JID, est l'identifiant d'un utilisateur utilisant Jabber. Il est composé de 3 parties :

Ces trois champs sont présentés sous la forme utisateur@serveur/ressource.

Par exemple, l'usager toto sur le serveur jabber.org utilisant la ressource Travail aura le JID suivant : toto@jabber.org/Travail

Ressources

La ressource est une partie optionnelle du Jabber ID. C'est le dernier champ de celui-ci, séparé par une barre oblique ( / ) des autres. Une ressource indique généralement l'endroit où un utilisateur de Jabber est situé. Par exemple, les valeurs Maison, Travail ou École sont courantes. La ressource devient utile lorsqu'un utilisateur se connecte à plusieurs endroits au même moment. À ce moment, ses contacts auront le choix de lui envoyer un message à l'une ou l'autre de ses ressources, ou bien à celle par défaut, c'est-à-dire celle ayant la plus haute priorité -- la priorité d'une ressource est une propriété configurable dans la plupart des clients Jabber.

Au sujet de la priorité, l'information est contradictoire avec : http://www.linux-quebec.org/presentations/2002-2003/2003-01-16/jabber/#sect27 (voir la fin) J'ai lu quelque part qu'en cas d'égalité sur la priorité, le message va à celui qui s'est connecté en premier. À vérifier.

Standard

Le protocole Jabber a été soumis comme une ébauche à l'IETF, pour qu'il puisse devenir un standard de messagerie instantanée. En 2002, le groupe XMPP a été formé et a travaillé à standardiser le protocole. C'est ainsi que le 4 octobre 2004, les spécifications du protocole ont été publiées en tant que RFC (cf. Documentation du protocole). Depuis cette date, la Jabber Software Foundation a cédé le contrôle de ses principales technologies à l'IETF tout en continuant à développer de nombreuses extensions à XMPP (série des JEP).

Clients

Voici une liste de quelques clients Jabber populaires :

Jabber uniquement

Multi protocoles

Serveurs

Il existe une grande quantité de serveurs Jabber en fonctionnement. Certains sont publics, c'est-à-dire accessibles par tous, et d'autres sont réservés à un groupe de gens -- par exemple les employés d'une entreprise. Voici une liste de quelques serveurs Jabber publics :

Conversation client/serveur via Jabber

Exemple de conversation entre un client et un serveur utilisant le protocole Jabber :

Un client (clientjabber1) se connecte à un serveur jabber (amessage.de port 5222/tcp), envoie un message (Sujet : « test 1449 » et corps du texte : « test 1449 ») à un autre client (clientjabber2) puis quitte.

clientjabber1 :

<?xml version="1.0"?>
 <stream:stream xmlns:stream="http://etherx.jabber.org/streams"
 xmlns="jabber:client" to="amessage.de">
 

amessage.de :

<stream:stream xmlns='jabber:client'
 xmlns:stream='http://etherx.jabber.org/streams' from='amessage.de'
 id='1461777714'>
 

clientjabber1 :

<iq type="set" id="auth_2" to="amessage.de" >
   <query xmlns="jabber:iq:auth">
     <username>clientjabber1</username>
     <password>mypassword</password>
     <resource>Work</resource>
    </query>
 </iq>
 

amessage.de :

<iq from="amessage.de" id='auth_2' type='result'/>
 

clientjabber1 :

<message to="clientjabber2@example.com" >
   <subject>test 1449</subject>
   <body>test 1449</body>
 </message>
 <presence type="unavailable" >
   <status>Logged out</status>
 </presence>
 </stream:stream>
 

amessage.de :

</stream:stream>
 

Liens externes

Pour les utilisateurs de Jabber

Pour les administrateurs de serveurs

Documentation du protocole

See also: Jabber, 2002, 2004, 4 octobre, AOL, AOL Instant Messenger, Adium, Akeni Jabber Client, Arrobe, CenterICQ