LinuxPedia

Wiki libre et indépendant dédié à GNU-Linux et BSD.

Outils pour utilisateurs

Outils du site


internet:jabber

Jabber

Jabber est une application réseau basée sur le protocole 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 leurs réseaux mais les échanges restent impossibles avec les autres protocoles. On nous prend pour des idiots é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 sur le wikiJabberfr.
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.

Encore du XML

Comme les standards Opendocument et SVG 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 (en) et reconnue par l’http://www.ietf.org/IETF(en) depuis octobre 2004. Le protocole est décrit dans des documents appelés RFC (Request For Comment) qui décrivent précisément les différents aspects du protocole. Ces spécifications sont librement consultables (RFC 3920); (RFC 3921) 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 (voir). 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.

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 sous licence libre :

. D’autres clients supportent plusieurs protocoles dont Jabber :

Ces listes n’ont pas la prétention d’être exhaustives.
Parmi les applications propriétaires, on peut citer Google Talk 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.(lire) 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 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 (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.

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. Chacun peut faire fonctionner son propre serveur Jabber. Parmi les logiciels disponibles, on peut citer : ejabberd, jabberd, Tigase, Wildfire. (Liste de serveurs)

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. (Journal du net)

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, salles de discussion mais aussi voix sur IP et multimédia ou encore jeux en réseau.
Vous aimez consulter rapidement les flux RSS de vos sites favoris ? Avec JabRSS(en), 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 ou Inkboard permettent de partager une fenêtre de dessin entre plusieurs utilisateurs à travers le réseau (voir). Le traitement de texte Abiword peut fonctionner en réseau via Jabber (lire) comme l’illustre une animation disponible sur le site du logiciel (voir).

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>

Source

Pour en savoir plus :

Pour suivre l’actualité de Jabber :

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.

internet/jabber.txt · Dernière modification : 2018/11/17 12:53 de 127.0.0.1