Ejabberd serveur de messagerie XMPP

Toutes vos propositions et remarques sur le wiki.
Avatar du membre
cach3ln
NCAD St@ff
Messages : 45
Enregistré le : 08 août 2024 22:12
Contact :

Ejabberd serveur de messagerie XMPP

Message par cach3ln »

Bonjour,

Attardons-nous un peu sur le protocole XMPP. De son acronyme, Extensible Messaging and Presence Protocol. Que l'on pourrait aussi traduire par Protocole de Messagerie et de Présence Etendue.

C'est toujours par claire ? C'est normal. Mais alors, remontons un peu plus dans l'histoire de la messagerie instantanée.

Pour échanger des messages sur le réseau Internet, il existe la messagerie électronique. Cependant, cette dernière s'apparente au courrier postal :
  • Vous envoyer un message électronique à votre destinataire.
  • Votre destinataire le reçoit.
  • Votre destinataire rédige une réponse.
  • Votre destinataire envoi sa réponse.
  • Vous recevez la réponse de votre destinataire.
Entre ces événements, il peut facilement s'écouler plusieurs heures. Non pas paracerque le protocole est lent par nature, mais tout simplement parce qu'il n'y a pas de retour d'état sur la présence du destinataire. Du coup, l'interactivité est limité et ce mode de communication répond donc à un certains formalisme.

Dans nos modèles de société, très vite le service postale a été complété par le télégraphe (au XVIIIème siècle) puis le téléphone (au XIXème siècle). Ces technologies présentent un avantage considérable : de pouvoir communiquer en temps réel. Ainsi, en cas d'urgence, il est préférable d'utiliser ce type de moyen de communication plutôt que le courrier postal...

Sur le réseau Internet, les besoins sont comparables. Pour des besoins de communication en temps réel, il sera préférable de se tourner vers un service de messagerie instantané. Des services connus ont alors émergé au début du XXIème siècle tel que MSN. Le protocole de messagerie Jabber a permis également de mettre en place une infrastructure de messagerie décentralisée.

Chaque fournisseur de service met à disposition son service de messagerie instantané, et chacun des services de messagerie répondant au standard sont interopérable entre eux. Pour faire simple, un utilisateur exploitant le service fournit par le fournisseur A peut discuter avec l'utilisateur exploitant le service fournit par le fournisseur B.

Par la suite Jabber, qui fut aussi par ailleurs le nom de la solution commerciale proposée par Cisco, fut rebaptisé XMPP. XMPP désigne ainsi la norme de ce type de messagerie et est normalisé par l'IETF qui est l'organisme international chargé d'élaborer et rédiger les nouveaux standards pour l'Internet.

Ejabberd, est un serveur de messagerie instantané basé sur le protocole XMPP. Il implémente aussi d'autres protocoles comme SIP ou encore MQTT. Le produit est gratuit et est développé par une société française (Et oui !) basée à Paris appelée ProcessOne. La première version du produit fut publiée en 2003. Le programme est disponible dans la plupart des distributions Linux directement depuis les dépôts officiels. Néanmoins, il est toujours possible de récupérer le dernier package depuis le site web officiel ou encore de récupérer les sources pour le compiler soit même.

De notre côté, nous avons implémenté Ejabberd pour notre service de messagerie instantané Geocoucou ChatMail. Une première implémentation avait eu lieu en 2020 à l'occasion du COVID19 pour répondre à un besoin spécifique. L'infrastructure avait alors été abandonnée en 2022 faute de débouchés.

Néanmoins, le projet a repris depuis peu avec au moins trois objectifs majeures :
  • Compléter le service de messagerie électronique proposé par Geocoucou Mail.
  • Offrir un service de messagerie instantané gratuit et intégré pour les sites web développé sous la bannière NCAD.
  • Permettre le déploiement du protocole MQTT sur les objets connectés.
Si ce protocole vous intéresse et plus particulièrement la configuration et le déploiement d'un serveur Ejabberd, vous pouvez retrouver nos travaux depuis l'article dédié sur le Wiki à l'adresse :

https://www.ncad.wiki/index.php?title=Ejabberd