JMAP

JMAP – “Nouveau” protocole email qui vise à remplacer IMAP

JMAP, ou JSON Meta Application Protocol, fait son entrée comme une alternative moderne aux protocoles traditionnels tels qu’IMAP et SMTP.

Mais qu’est-ce que JMAP exactement, et pourquoi mérite-t-il notre attention dans le domaine de l’emailing ? Cet article vous guide à travers les principales caractéristiques techniques de JMAP et son utilité.

Qu’est-ce que JMAP ?

Le JSON Meta Application Protocol (JMAP) est un ensemble de protocoles Internet standard et ouverts conçus pour gérer les emails. JMAP est mis en œuvre à l’aide d’API JSON et a été créé comme une alternative aux protocoles IMAP/SMTP ainsi qu’aux API de messagerie propriétaires telles que celles de Gmail (Google) ou MAPI (Microsoft Outlook). En plus de la gestion des emails, JMAP sert de base pour d’autres protocoles et modèles de données, notamment pour la synchronisation des contacts et des calendriers, visant à remplacer potentiellement CardDAV et CalDAV. D’autres extensions sont également en cours de développement.

Site de JMAP

Pourquoi JMAP ?

Les limitations du protocole IMAP sont bien connues : performance lente, complexité de la gestion des connexions multiples, et inefficacité en matière de synchronisation des emails sur plusieurs appareils. En réponse à ces problématiques, JMAP a été développé pour apporter plusieurs avantages majeurs :

API Unifiée : JMAP unifie la gestion de différents aspects des services de messagerie, y compris les emails, les contacts et les calendriers, en une seule API, facilitant ainsi la gestion d’applications complexes.

Simplicité : JMAP repose sur HTTP et utilise le format JSON, bien connu des développeurs, ce qui simplifie énormément le travail d’intégration. Contrairement à IMAP, il n’est pas nécessaire de maintenir une connexion persistante pour surveiller les nouveaux emails.

Performance : JMAP permet une meilleure gestion des connexions grâce à l’utilisation de requêtes par lot (batch requests) et une gestion optimisée des ressources. La récupération des emails est plus rapide et plus efficace, notamment dans les environnements où la bande passante est limitée.

Synchronisation plus rapide : Avec JMAP, la synchronisation des emails, calendriers et contacts entre plusieurs appareils est instantanée. Les notifications de nouveaux emails peuvent être reçues en temps réel sans nécessiter de multiples requêtes réseau.

Comment fonctionne JMAP ?

Le fonctionnement de JMAP repose sur des principes simples mais puissants. Voici un aperçu technique de son mécanisme :

Mécanisme de synchronisation : JMAP inclut des mécanismes de synchronisation intelligente qui permettent de ne récupérer que les changements depuis la dernière synchronisation. Cela élimine le besoin de ressaisir toutes les données, ce qui est particulièrement avantageux pour les utilisateurs disposant de connexions lentes.

Utilisation de HTTP/HTTPS : JMAP utilise HTTP comme protocole de transport, ce qui est déjà omniprésent dans la plupart des infrastructures réseau. Cela permet une intégration fluide avec les services web et mobiles.

Représentation des données en JSON : Toutes les données, qu’il s’agisse des emails, des contacts ou des informations de synchronisation, sont échangées sous format JSON. Ce format est à la fois léger et facile à interpréter, ce qui réduit la complexité et la taille des réponses.

Requêtes par lot (Batching) : Contrairement à IMAP, où chaque action (vérification de nouveaux emails, lecture, marquage comme lu, etc.) nécessite une requête distincte, JMAP permet d’envoyer plusieurs actions dans une seule requête HTTP. Cela réduit considérablement le nombre de requêtes réseau et améliore les performances globales.

Cas d’usage de JMAP

Applications Web et Mobiles : Les clients email modernes, qu’ils soient sous forme d’applications mobiles ou de clients web, peuvent grandement bénéficier de JMAP. La rapidité de synchronisation et la gestion des requêtes par lot rendent ces applications plus fluides et réactives.

Fournisseurs d’email : Les fournisseurs de services de messagerie, en adoptant JMAP, peuvent réduire la charge sur leurs serveurs, tout en offrant une meilleure expérience utilisateur. De plus, la compatibilité avec HTTP/HTTPS permet une intégration plus facile avec les systèmes déjà existants.

API Unifiée : Les développeurs qui cherchent à intégrer la gestion des emails dans leurs applications peuvent s’appuyer sur ces API. Cela simplifie l’implémentation des services liés aux emails tout en assurant une synchronisation et une gestion optimisées.

Comparaison JMAP vs IMAP/SMTP

FonctionnalitéJMAPIMAP/SMTP
Protocole de transportHTTP/HTTPSIMAP et SMTP utilisent des protocoles dédiés
Format des donnéesJSON (léger et structuré)Texte brut (plus complexe et verbeux)
Gestion des connexionsRequêtes HTTP statelessConnexions persistantes nécessaires
Requêtes par lotPrend en charge les requêtes par lotUne requête par action
Notifications pushPrise en charge nativeBasé sur des connexions longues (idle)
SynchronisationSynchronisation intelligenteSynchronisation complète, souvent lente
Gestion unifiéeAPI unifiée pour emails, contacts, calendriersEmail uniquement, avec CardDAV/CalDAV pour contacts et calendriers
Complexité de mise en œuvreSimple, avec JSON et HTTP/HTTPSPlus complexe, gestion de plusieurs protocoles
PerformanceOptimisé pour les applications modernesMoins performant dans les environnements à faible bande passante
UtilisationAdapté aux environnements web et mobilesPrincipalement utilisé pour les clients de bureau traditionnels

Serveurs Opensource qui supportent JMAP

Cyrus-IMAP, qu’on ne présente plus, a été un des premiers à supporté JMAP et ce dès 2018, à partir de sa version 3.0. Tout n’est pas encore supporté à 100%, mais tout n’est pas encore standardisé non plus côté IETF.

Apache James (Java Apache Mail Enterprise Server) est une solution de serveur de messagerie complète qui prend en charge JMAP

Stalwart JMAP Server est une solution légère et rapide qui implémente JMAP, ainsi que d’autres protocoles comme IMAP, SMTP, et Sieve. Il est conçu pour être performant et s’intégrer facilement dans des environnements modernes. Stalwart se distingue par son focus sur JMAP, offrant une alternative simple et efficace aux autres serveurs traditionnels.

Stalwart, fait en Rust, semble un projet très intéressant que je vous invite à suivre si vous êtes passionné du mon de l’email !

Notre avis sur JMAP

En résolvant les problèmes de performance, de complexité et de compatibilité des anciens protocoles comme IMAP et SMTP, JMAP présente des arguments qui semblent vraiment intéressants pour l’avenir des services de messagerie. JMAP est le protocole à surveiller de près.

En tout cas, chez Sweego, JMAP nous semble très intéressant pour de nouveaux services que nous aimerions proposer et qui sont demandés par nos clients. Wait and see…