TUTORIEL XML 
Expliquez-moi… Le protocole XMPP
Evolution standardisée d'un système Open Source, XMPP représente l'un des protocoles les plus prometteurs en matière d'interopérabilité de la messagerie instantanée. (03/03/2006)
Après plusieurs années de formats propriétaires (ICQ, AIM, MSN…), l'IETF a entériné un standard de messagerie instantanée : XMPP, pour Extensible Messaging and Presence Protocol (protocole extensible de messagerie et de présence).

Logo du logiciel Jabber, origine de XMPP
Basé sur XML et issu du projet Open Source Jabber et ses nombreuses implémentations, ce protocole a depuis été utilisé au sein de l'outil de messagerie Google Talk, ainsi que dans d'autres projets. Grâce à ce protocole et son adoption par de grands noms, l'interopérabilité entre les outils de messagerie pourrait devenir une réalité.

XMPP n'est pas le seul protocole établi par l'IETF : SIP/SIMPLE (pour Session Initiation Protocol for Messaging and Presence Leveraging Solutions) y est également un standard. SIP, bien qu'encore au stade de l'élaboration, est en partie implémenté dans les récentes versions de Windows Messenger.

L'avantage premier de XMPP est d'être basé sur XML. Celui lui ouvre des possibilités d'extension inaccessibles à SIP. Grâce à cela, XMPP peut être utilisé dans des applications et systèmes très divers.

  Forum

Réagissez dans les forums de JDN Développeurs

Le protocole réalise donc ses échanges de données par transmission de flux XML. Ces flux servent d'enveloppe aux unités d'informations, c'est-à-dire les messages, envoyés selon la syntaxe XML suivante :

Message :

<?xml version='1.0'?>
<stream:stream
  to='example.com'
  xmlns='jabber:client'
  xmlns:stream='http://etherx.jabber.org/streams'
  version='1.0'>
  <message from='expediteur@exemple.com'
    to='destinataire@exemple.net'
    xml:lang='fr'>
    <body>Ceci est une question.</body>
  </message>
</stream:stream>


Réponse au message :

<?xml version='1.0'?>
<stream:stream
  from='example.com'
  id='someid'
  xmlns='jabber:client'
  xmlns:stream='http://etherx.jabber.org/streams'
  version='1.0'>
  <message from='expediteur@exemple.net'
    to='destinataire@exemple.com'
    xml:lang='fr'>
    <body>Ceci est ma reponse.</body>
  </message>
</stream:stream>


XMPP utilise par ailleurs le protocole TLS (successeur de SSL) pour sécuriser les communications. XMPP peut ainsi réaliser des échanges entre client et serveurs, mais également entre serveurs - ouvrant ainsi la possibilité de voir deux serveurs, possédés par des sociétés différentes, partager les mêmes utilisateurs.

Les utilisateurs Jabber - déjà connectés via de multiples logiciels et serveurs - peuvent envoyer des messages aux utilisateurs de Google Talk. Si d'autres grands acteurs passaient à XMPP, il suffirait d'un simple réglage pour que tous ces serveurs puissent partager leurs utilisateurs.

Il faut voir par ailleurs que XMPP n'est pas qu'un simple protocole de messagerie instantanée, mais plus largement, un protocole d'échange de message optimisé pour le temps réel. Il devient donc possible de communiquer directement avec un serveur, comme le propose le format RSS ou le protocole Atom, mais de manière synchrone…
 
Rédaction JDN Développeurs
 
Accueil | Haut de page
 
 





Quand achetez-vous le plus en ligne ?
Du lundi au vendredi
Le samedi
Le dimanche

Tous les sondages