Extensible Messaging and Presence Protocol

Page d'aide sur l'homonymie Pour les articles homonymes, voir Jabber.
Extensible Messaging and Presence Protocol
Image illustrative de l'article Extensible Messaging and Presence Protocol

Fonction Messagerie instantanée
Sigle XMPP
Port 5222 (client - serveur) et 5269 (serveur - serveur)
RFC RFC 6120 - RFC 6121 - RFC 6122 - RFC 3922 - RFC 3923

Extensible Messaging and Presence Protocol (qu'on peut traduire par « protocole extensible de présence et de messagerie »), souvent abrégé en XMPP, est un ensemble de protocoles standards ouverts de l’ Internet Engineering Task Force (IETF) pour la messagerie instantanée, et plus généralement une architecture décentralisée d’échange de données. XMPP est également un système de collaboration en quasi-temps-réel et d’échange multimédia via le protocole Jingle, dont la voix sur réseau IP (téléphonie sur Internet), la visioconférence et l’échange de fichiers sont des exemples d’applications.

XMPP est constitué d'un protocole TCP/IP basé sur une architecture client-serveur permettant les échanges décentralisés de messages instantanés ou non, entre clients, au format Extensible Markup Language (XML). XMPP est en développement constant et ouvert au sein de l’IETF.

Les serveurs peuvent être privés (en intranet) ou bien publics, c'est-à-dire reliés aux autres serveurs publics via l'Internet (comme chez Facebook). L'ensemble des serveurs publics créent, ce que l'on appelle, le réseau Jabber (ou le réseau XMPP).

XMPP est ainsi utilisé à travers le monde par des centaines de serveurs publics et privés, et des millions d’utilisateurs. De nombreux acteurs industriels utilisent XMPP, comme Apple, Cisco, Gizmo5, GNOME, Google [1], IBM, Oracle Corporation, etc. [[réf. souhaitée]

Le protocole XMPP est séparé en deux parties différentes :

  • Le protocole de base contient les concepts fondamentaux pour faire fonctionner une infrastructure Jabber. Il est défini par les RFC  6120 [2], 6121 [3], 6122 [4] (qui remplacent depuis 2011 les 3920 [5] et 3921 [6]), 3922 [7] et 3923 [8]. Théoriquement, une telle infrastructure ne peut pas fonctionner sans appliquer complètement ces protocoles.
  • Les XMPP Extension Protocols (XEP) sont des propositions d'ajout de fonctionnalités au protocole Jabber. Les serveurs ou clients ne sont pas obligés d’adopter ces extensions. Cela peut bloquer certaines fonctionnalités entre deux utilisateurs.

XMPP est conçu de manière plus large et ouverte que la simple messagerie instantanée populaire et propriétaire. Il est ainsi utilisé par les entreprises et administrations dans le cadre d’échanges de données entre applications ( ETL, EAI, ESB) au sein des systèmes d’informations, mais aussi dans le cadre du grid computing, des notifications d’alertes ou d’informations, de la supervision système et réseau, ou le cloud computing. Enfin, XMPP est également utilisé dans le domaine du partage et de la collaboration en quasi-temps-réel comme le tableau blanc (« whiteboard ») ou l’édition et le développement collaboratifs, mais aussi des jeux sur Internet (notamment les jeux de cartes et de plateau).

Historique

Le début : Jabber

C’est en 1998 que Jeremie Miller a inventé Jabber, un protocole de messagerie instantanée basé sur XML. Ses travaux se sont inspirés de ICQ, créé en 1996, le premier système du genre.

En janvier 1999, il annonce publiquement [9] sur Slashdot « une plate-forme informatique open source complète pour la messagerie instantanée avec communication transparente vers les autres systèmes d’IM (messagerie Instantanée) ». Le protocole était conçu, ainsi qu’un serveur fonctionnel (jabberd) et des clients de test (WinJab et Gabber).

En août 1999, Jeremie Miller lance un appel à la standardisation du protocole par l’IETF afin de promouvoir les standards ouverts et l’interopérabilité [10]. L’IMPP WG est alors créé et publie en février 2000 les RFC  2778 [11] et 2779 [12] mais n’atteint pas de consensus.

Le serveur open source jabberd 1.0 est publié en mai 2000 et stabilise le protocole. En juin, Jeremie Miller publie un Internet-Draft mais le délai est dépassé. La version 1.2 de jabberd introduit le dialback qui empêche les usurpations d’identités de serveurs.

La Jabber Software Foundation et la reconnaissance par l'IETF

La Jabber Software Foundation est créée en août 2001, afin d’assurer la coordination du nombre grandissant de développeurs open source et entreprises qui adoptent les technologies Jabber ainsi que pour gérer la documentation, la création et le maintien des protocoles XML.

En 2002, des Internet-Draft sont à nouveau soumis à l’IETF en tant que XMPP Core et XMPP IM, et un XMPP WG est créé.

Les RFC  3920 [5] XMPP-Core et 3921 [6] XMPP-IM, ainsi que les RFC  3922 [7] CPIM et 3923 [8] E2E, sont acceptées en octobre 2004.

La JSF devient en 2007 la XSF pour XMPP Standards Foundation, et propose des services d’autorité intermédiaire de certification TLS/SSL.

L'adoption par les acteurs d'Internet

Apple en 2005

Apple introduit le support de Jabber dans son logiciel de messagerie iChat livré avec OS X Tiger en mai 2005.

Google de 2005 à 2013

L’entreprise Google publie Google Talk en août 2005, un client XMPP propriétaire lié aux serveurs de Google. Ce client apporte la voix (téléphonie sur Internet) par le protocole Jingle, dont les spécifications sont publiées avec la bibliothèque libjingle. La JSF prend alors en charge sa standardisation. Quelques mois plus tard, ces serveurs sont ouverts au réseau Jabber. En mai 2013, Google annonce son intention d'abandonner XMPP au profit du protocole propriétaire Google+ Hangouts [13].

Facebook de 2008 à 2015

En mai 2008, les développeurs de Facebook annoncent le support de XMPP pour leur application de chat [14]. La mise en place sera effective le 10 février 2010 [15], cependant le serveur n’est pas raccordé au reste du réseau Jabber. En juillet 2015, Facebook supprime le support de XMPP, obligeant à passer par sa propre API [16].

Tests de ICQ/AIM et Yahoo!

En janvier 2008, AOL, alors fournisseur des logiciels de messagerie instantanée ICQ et AIM (compatibles et basés sur le protocole OSCAR), met en place un serveur expérimental permettant de se connecter via XMPP [17]. C’est donc une base de plus de 50 millions d’utilisateurs [réf. nécessaire] qui vient agrandir le réseau Jabber. En février 2008, Yahoo!, propriétaire de Yahoo! Messenger, annonce également s’intéresser à XMPP [18]. Depuis, les serveurs peuvent se connecter aux autres serveurs XMPP [19]

Skype en 2011

En juin 2011, Skype annonce la création d'un connecteur XMPP sur la version Windows de leur logiciel client en développement [20]. Toutefois, l'utilisation est limitée au texte et pas à la vidéo/audio. Cette intégration semblait avoir pour objectif de se connecter à Facebook qui utilisait XMPP [réf. nécessaire].

MSN en 2011

En septembre 2011, Microsoft annonce que MSN (appelé aussi Windows Live Messenger) va proposer un moyen de se connecter à leur messagerie instantanée via le protocole XMPP [21] à l'aide du système authentification OAuth [22] dans l'optique de son nouveau système d'exploitation Windows 8 et surtout des services en lignes qui y seront associés. Toutefois, l'intégration se fera qu'au niveau client-serveur, interdisant les personnes présentes sur d'autres domaines XMPP (comme gmail.com ou jabber.org) d'interagir avec eux, les spécifications retenues étant peu nombreuses [23].

Cette annonce a été vite suivie d'intégration dans les clients de messagerie alternatifs supportant plusieurs protocoles [24]

Il peut être intéressant de relever que Microsoft a des parts dans Facebook [25] et a racheté Skype en mai 2011 [26], [27]

Rachat de la société Jabber Inc.

En septembre 2008, Cisco annonce un accord de rachat de la société Jabber Inc. [28]. Ni XSF, la fondation à but non lucratif, ni le protocole XMPP ne sont concernés par ce rachat [29].

Other Languages
العربية: إكس إم بي بي
беларуская: XMPP
беларуская (тарашкевіца)‎: XMPP
English: XMPP
hrvatski: XMPP
한국어: XMPP
Bahasa Melayu: XMPP
русский: XMPP
српски / srpski: XMPP
Türkçe: XMPP
українська: XMPP
Tiếng Việt: XMPP
中文: XMPP