| Fonction | Messagerie instantanée |
|---|---|
| Sigle | XMPP |
| Date de création | |
| Port | 5222 (client - serveur) et 5269 (serveur - serveur) |
| RFC | RFC 6120 - RFC 6121 - RFC 7395 - RFC 7590 - RFC 7622 - 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 par son extension 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 exploitant 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 Internet. L'ensemble des serveurs publics crĂ©ent le rĂ©seau Jabber (ou le rĂ©seau XMPP).
XMPP est ainsi utilisĂ© par des centaines de serveurs publics et privĂ©s et des millions dâutilisateurs. De nombreux acteurs industriels utilisent XMPP, comme Apple, Cisco[1], Gizmo5, GNOME, Google, IBM, Oracle Corporation[2][rĂ©f. souhaitĂ©e].
Le protocole XMPP comprend deux parties :
- le protocole de base contient les concepts fondamentaux pour faire fonctionner une infrastructure Jabber. Il est défini par les RFC 6120[3], 6121[4], 6122[5] (qui remplacent depuis 2011 les 3920[6] et 3921[7]), 3922[8] et 3923[9]. 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 (informatique en nuage). Enfin, XMPP est Ă©galement utilisĂ© dans le domaine du partage et de la collaboration en quasi-temps-rĂ©el comme le tableau blanc interactif (TBI) ou lâĂ©dition et le dĂ©veloppement collaboratifs, mais aussi des jeux sur Internet (notamment les jeux de cartes et de plateau).
Logiciels (clients) XMPP
[modifier | modifier le code]De nombreux logiciels, diffĂ©rents et variĂ©s, peuvent ĂȘtre utilisĂ©s pour communiquer avec XMPP [10].
Historique
[modifier | modifier le code]Le début : Jabber
[modifier | modifier le code]Câest en 1998 que Jeremie Miller a inventĂ© Jabber, un protocole de messagerie instantanĂ©e exploitant le XML. Ses travaux se sont inspirĂ©s de ICQ, créé en 1996, le premier systĂšme du genre.
En janvier 1999, il annonce publiquement[11] 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Ă©[12]. LâIMPP WG est alors créé et publie en fĂ©vrier 2000 les RFC 2778[13] et 2779[14] 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
[modifier | modifier le code]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 (Working Group) est créé.
Les RFC 3920[6] XMPP-Core et 3921[7] XMPP-IM, ainsi que les RFC 3922[8] CPIM et 3923[9] 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
[modifier | modifier le code]Apple en 2005
[modifier | modifier le code]Apple introduit le support de Jabber dans son logiciel de messagerie iChat livré avec OS X Tiger en mai 2005.
Google de 2005 Ă 2013
[modifier | modifier le code]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[15].
Facebook de 2008 Ă 2015
[modifier | modifier le code]En mai 2008, les dĂ©veloppeurs de Facebook annoncent le support de XMPP pour leur application de chat. La mise en place sera effective le 10 fĂ©vrier 2010, 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!
[modifier | modifier le code]En janvier 2008, AOL, alors fournisseur des logiciels de messagerie instantanĂ©e ICQ et AIM (compatibles et exploitant 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 agrandit 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]
Plusieurs éléments indiquent que l'application de messagerie WhatsApp a utilisé le protocole XMPP comme base[20],[21]. En 2024, un document de la justice américaine met au jour que Whatsapp utilise FunXMPP sur ses infrastructures, comme adaptation de XMPP pour les communications[22].
Skype en 2011
[modifier | modifier le code]En juin 2011, Skype annonce la création d'un connecteur XMPP sur la version Windows de leur logiciel client en développement[23]. 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].
WLM en 2011
[modifier | modifier le code]En septembre 2011, Microsoft annonce que Windows Live Messenger (appelé aussi MSN (de MicroSoft Network)) va proposer un moyen de se connecter à leur messagerie instantanée via le protocole XMPP[24] à l'aide du systÚme authentification OAuth[25] 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 ne se fera qu'au niveau client-serveur, interdisant aux 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[26].
Cette annonce a été vite suivie d'intégration dans les clients de messagerie alternatifs supportant plusieurs protocoles[27].
Il peut ĂȘtre intĂ©ressant de relever que Microsoft a des parts dans Facebook[28] et a rachetĂ© Skype en mai 2011[29],[30]
Rachat de la société Jabber Inc.
[modifier | modifier le code]En septembre 2008, Cisco annonce un accord de rachat de la société Jabber Inc.[31]. Ni XSF, la fondation à but non lucratif, ni le protocole XMPP ne sont concernés par ce rachat[32].
XMPP et Jabber
[modifier | modifier le code]
XMPP est le protocole au cĆur de Jabber ; XMPP est Ă Jabber ce que le Hypertext Transfer Protocol (HTTP) est au World Wide Web.
Le protocole est maintenu par la XMPP Standards Foundation (ancienne Jabber Software Foundation) et est standardisĂ© par lâInternet Engineering Task Force (IETF) sous le nom XMPP.
Bien que les deux noms coexistent, XMPP est prĂ©fĂ©rĂ© pour dĂ©signer le protocole. Jabber pouvant parfois ĂȘtre employĂ© comme synonyme de XMPP mais pouvant Ă©galement dĂ©signer l'entreprise Jabber Inc.
Applications XMPP (Jabber)
[modifier | modifier le code]
Jeremie Miller a mis le projet sur pied en 1998 et la premiĂšre version publique est sortie en mai 2000. La principale production du projet est jabberd, un serveur libre permettant aux logiciels clients de se connecter pour discuter. Ce serveur permet soit de crĂ©er un rĂ©seau Jabber privĂ© (derriĂšre un pare-feu), soit de rejoindre dâautres serveurs publics fĂ©dĂ©rĂ©s sur Internet, pour dialoguer en ligne avec ses correspondants.
De trĂšs nombreuses applications Jabber peuvent ĂȘtre créées :
- messagerie instantanée et présence
- notifications
- diffusion par push
- transferts de fichiers
- travail collaboratif en temps-réel
- échange de données
- jeux en ligne
GrĂące Ă Jingle, extension multimĂ©dia de XMPP, il est possible dâĂ©tendre les flux Ă tout contenu binaire : tĂ©lĂ©phonie sur Internet, visioconfĂ©rence, etc.
Fonctionnement
[modifier | modifier le code]Le rĂ©seau des utilisateurs de XMPP est dĂ©centralisĂ©, câest-Ă -dire quâil est composĂ© de plusieurs serveurs, reliĂ©s entre eux. Il fonctionne de maniĂšre similaire Ă celle du courrier Ă©lectronique : les messages instantanĂ©s sont transfĂ©rĂ©s dâun utilisateur Ă lâautre par lâentremise de leur serveur respectif. Autre similaritĂ©, un utilisateur est identifiĂ© par un nom dâutilisateur et un nom de serveur, les deux champs Ă©tant sĂ©parĂ©s par une arobase « @ ». Cet identifiant est appelĂ© Jabber ID ou plus simplement « adresse Jabber » ou « adresse XMPP ».
Par exemple, si un utilisateur bob@jabber.org souhaite communiquer avec gilles@jabber.cz, le logiciel client de Bob commence par envoyer son message Ă son serveur (jabber.org). Ensuite, le serveur de Bob contactera le serveur de Gilles (jabber.cz) via Internet et lui transfĂ©rera le message. Enfin, le serveur jabber.cz pourra contacter le logiciel client de Gilles, sâil est en ligne et lui communiquer le message (sinon le message sera conservĂ© en attente sur le serveur et dĂ©livrĂ© lorsque Gilles sera en ligne). Ăvidemment, toutes ces Ă©tapes se font de maniĂšre instantanĂ©e et transparente pour lâutilisateur, comme pour les courriers Ă©lectroniques.
|
â |
|
â |
|
â |
|
â |
|


Jingle
[modifier | modifier le code]Jingle permet les sessions de voix sur réseau IP et de visioconférence. Jingle est intégré dans plusieurs clients XMPP. Il a été utilisé par Google Talk jusqu'en 2014 avant que ce dernier soit remplacé par Google Hangout[33],[34].
Applications
[modifier | modifier le code]Jingle, grĂące Ă sa conception large, son Ă©volutivitĂ© et sa standardisation, offre un large spectre dâapplications :
- discussion en ligne un à un (chat, clavardage), présence et discussion de groupe (groupchat)
- VoIP et visioconférence ou plus généralement initialisation de sessions multimédia
- notifications et alertes
- middleware comme les ETL, EAI et ESB
- applications dâĂ©dition collaborative en quasi-temps-rĂ©el comme les documents de bureautique (textes structurĂ©s, graphiques vectoriels, feuilles de calcul, prĂ©sentation, etc.)
- contrĂŽle Ă distance
- monitoring et supervision
- réseaux sociaux
- jeux en ligne
Standard ouvert, norme
[modifier | modifier le code]Le protocole XMPP (Jabber) a Ă©tĂ© publiĂ© comme une Ă©bauche (« draft ») par lâIETF, pour quâil puisse devenir un standard de messagerie instantanĂ©e.
En 2002, le groupe XMPP a Ă©tĂ© formĂ© et a travaillĂ© sur la standardisation du protocole. Câest ainsi que le 4 octobre 2005, les spĂ©cifications du protocole ont Ă©tĂ© publiĂ©es en tant que RFC. Depuis cette date, la XMPP Standards Foundation a cĂ©dĂ© le contrĂŽle de ses principales technologies Ă lâIETF tout en continuant Ă dĂ©velopper de nombreuses extensions au protocole (sĂ©rie de XEP).
Avantages et inconvénients
[modifier | modifier le code]Avantages
[modifier | modifier le code]- Libre : les protocoles et documents officiels sont détaillés et accessibles à tous en téléchargement
- Standard : lâIETF a normalisĂ© les bases du protocole (XMPP) et son Ă©volution continue par ses extensions avec la XMPP Standards Foundation
- DĂ©centralisĂ© : comme le courrier Ă©lectronique, les services XMPP ne dĂ©pendent pas dâun seul point dâaccĂšs.
- SĂ©curisĂ© : la communication entre le client et le serveur peut ĂȘtre chiffrĂ©e Ă la demande du client et la communication entre serveurs est chiffrĂ©e
- Extensible : il est possible de créer et documenter des extensions du protocole par les « XEP »
- Flexible : XMPP est également utilisé dans de nombreuses autres applications que le simple chat : communication inter-applicative, collaboration quasi-temps-réel, supervision, diffusion de messages, etc.
- ConfidentialitĂ© : XMPP autorise le chiffrement OMEMO, OpenPGP[35] ou les protocoles OTR, S/MIME[36] et ZRTP[37], les serveurs intermĂ©diaires ne peuvent alors pas observer le contenu des messages. Pour se prĂ©munir contre les attaques de l'homme du milieu, il est recommandĂ© de chiffrer les connexions vers les serveurs[38]. L'adresse IP ne peut pas ĂȘtre dĂ©voilĂ©e si l'utilisateur de cette adresse IP ne vous a pas acceptĂ© dans sa liste de contacts[39]. Les informations sur un contact oĂč les messages ne peuvent pas ĂȘtre Ă©changĂ©s tant que les deux interlocuteurs n'ont pas confirmĂ© l'ajout de l'autre dans sa liste de contact: ce qui limite le spam[40].
- Adoption : XMPP est adopté par des grands noms : Google, IBM, Sun[réf. nécessaire], France Telecom [réf. nécessaire], SkyRock[réf. nécessaire], Wengo, Nokia[réf. nécessaire], Apple, Adobe, Process One, Jive Software, etc.
Inconvénients
[modifier | modifier le code]- Effet rĂ©seau : les principaux systĂšmes de messagerie instantanĂ©e existants (MSN, AIM, YahooâŠ) sont non interopĂ©rables, et leur effet rĂ©seau rend difficile la migration des utilisateurs Ă un autre systĂšme. Jabber est lui-mĂȘme peu connu du grand public, et ne dispose pas de son propre effet rĂ©seau.
- Audio et visio confĂ©rence : XMPP a Ă©tĂ© conçu comme un systĂšme de messagerie instantanĂ©e et de prĂ©sence, transportant du texte structurĂ© sous forme de flux XML. AprĂšs diverses tentatives, notamment avec le protocole de voix sur rĂ©seau IP SIP, la communautĂ© XMPP sâest arrĂȘtĂ©e en 2005 sur le protocole Jingle. La plupart des dĂ©veloppeurs de clients XMPP attendaient une version finale de Jingle avant de vraiment commencer lâimplĂ©mentation de ce protocole ce qui explique quâĂ ce jour[Quand ?], peu de clients proposent la fonctionnalitĂ© de VoIP. Cependant, beaucoup[Qui ?] de logiciels ont une version de dĂ©veloppement avec la prise en charge de Jingle.
Références
[modifier | modifier le code]- â (en) « XMPP Client Configuration », Cisco.
- â (en) « OracleÂź Communications Instant Messaging Server », sur oracle.com (consultĂ© le ).
- â (en) « Extensible Messaging and Presence Protocol (XMPP): Core », Request for comments no 6120,
- â (en) « Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence », Request for comments no 6121,
- â (en) « Extensible Messaging and Presence Protocol (XMPP): Address Format », Request for comments no 6122,
- (en) Request for comments no 3920
- (en) Request for comments no 3921
- (en) « Mapping the Extensible Messaging and Presence Protocol (XMPP) to Common Presence and Instant Messaging (CPIM) », Request for comments no 3922,
- (en) « End-to-End Signing and Object Encryption for the Extensible Messaging and Presence Protocol (XMPP) », Request for comments no 3923,
- â « XMPP », sur xmpp.org (consultĂ© le )
- â annonce sur Slashdot.
- â http://xmpp.org/about/ietf-1999.shtml
- â (en) Request for comments no 2778
- â (en) Request for comments no 2779
- â « Google Abandons Open Standards for Instant Messaging », EFF, (consultĂ© le )
- â (en) « Facebook Finally Ends XMPP Support For 3rd Party Chat - Slashdot », sur slashdot.org (consultĂ© le ).
- â (en) Florian Jensenâs Weblog » Blog Archive » AOL adopting XMPP aka Jabber.
- â (en) After AOL, Yahoo! is also experimenting with XMPP - Process-one.
- â « Petit Ă©tat de l'art de (quelques aspects de) la messagerie instantanĂ©e », sur linuxfr.org (consultĂ© le ).
- â (en) psanni, « Inside Of WhatsApp : Part 1 », sur Sunny Patel, (consultĂ© le ).
- â « WhatsApp? Nicht ohne Risiken. - Shakal », sur web.archive.org, (consultĂ© le ).
- â (en) « Case 4:19-cv-07123-PJH Document 466 Filed 11/14/24 » [PDF], p. 13.
- â « XMPP », sur xmpp.org (consultĂ© le ).
- â « XMPP », sur xmpp.org (consultĂ© le ).
- â « Petites brĂšves : Empathy, LibreOffice et Samba », sur linuxfr.org (consultĂ© le ).
- â (en) « Home », sur Windows Blog (consultĂ© le ).
- â (en) « MSN in Empathy with XMPP », sur gnome.org (consultĂ© le ).
- â Microsoft investit 240 millions de dollars dans Facebook, valorisĂ© Ă 15 milliards « Copie archivĂ©e » (version du sur Internet Archive) - AFP, 25 octobre 2007
- â « Microsoft achĂšte Skype pour 8,5 milliards de dollars en numĂ©raire », sur Le Point, (consultĂ© le ).
- â « Microsoft achĂšte Skype pour 8,5 milliards en numĂ©raire - high tech », sur Challenges.fr, .
- â (en) Cisco Announces Definitive Agreement to Acquire Jabber.
- â « Cisco rachĂšte la sociĂ©tĂ© « Jabber, Inc. », XMPP et la XSF restent indĂ©pendants », Linuxfr.
- â (en) « Google Abandons Open Standards for Instant Messaging », Electronic Frontier Foundation,â (lire en ligne, consultĂ© le )
- â Matt Landis, « Matt Landis Windows PBX & UC Report: Hangouts Wonât Hangout With Other Messaging Vendors: Googleâs New Unified Messaging Drops Open XMPP/Jabber Interop », sur Matt Landis Windows PBX & UC Report (consultĂ© le )
- â (en) XMPP Extensions Editor, « XEP-0027 : Current Jabber OpenPGP Usage », sur xmpp.org (consultĂ© le ).
- â https://archive.wikiwix.com/cache/20080109000000/http://xmpp.org/protocols/urn:ietf:params:xml:ns:xmpp-e2e/.
- â (en) XMPP Extensions Editor, « Xep-0262 : use of zrtp in jingle rtp sessions », sur xmpp.org (consultĂ© le ).
- â (en) XMPP Extensions Editor, « Xep-0070 : verifying http requests via xmpp », sur xmpp.org (consultĂ© le ).
- â (en) XMPP Extensions Editor, « XEP-0260 : Jingle SOCKS5 Bytestreams Transport Method », sur xmpp.org (consultĂ© le ).
- â (en) XMPP Extensions Editor, « XEP-0016 : Privacy Lists », sur xmpp.org (consultĂ© le ).
Voir aussi
[modifier | modifier le code]Articles connexes
[modifier | modifier le code]- Jabber Inc.
- Liste de logiciels serveurs XMPP
- Format ouvert
- Interopérabilité en informatique
- Matrix
Liens externes
[modifier | modifier le code]- (en) Site officiel

