Qu'est-ce qu'un middleware ?
Un middleware est une couche logicielle intermédiaire : il ne sert pas directement l'utilisateur, il sert les autres logiciels. Le mot anglais est formé sur middle, le milieu, sur le modèle de software (logiciel) et de hardware (matériel). FranceTerme, la base terminologique officielle du ministère de la Culture, retient l'équivalent « logiciel médiateur », publié au Journal officiel du 16 mars 1999 et défini comme un logiciel qui permet le fonctionnement de plusieurs ordinateurs en coordination, chacun ayant une tâche précise. La note de FranceTerme ajoute qu'il peut aussi coordonner plusieurs logiciels sur un même ordinateur.
Pour un dirigeant, l'image juste est celle d'une plateforme logistique de transbordement. Les fournisseurs n'y livrent pas chaque magasin : ils déposent leurs palettes à quai, la plateforme les réétiquette, les trie et les recharge vers les bons destinataires. Le middleware fait la même chose avec les données : l'ERP, le site e-commerce et le logiciel de paie y déposent leurs messages, il les met au format attendu et les livre à ceux qui doivent les recevoir.
Comment fonctionne un middleware ?
Un middleware reçoit, transforme, distribue, et garde la trace de chaque passage.
- Réception : il écoute les webhooks ou interroge les API des logiciels sources.
- Transformation : il convertit les formats (le code client de l'ERP devient l'identifiant du CRM), contrôle les champs obligatoires, écarte les doublons.
- Distribution : il pousse la donnée vers chaque destinataire et met en attente ce qui ne peut pas partir.
- Journal : il enregistre qui a envoyé quoi, quand, avec quel résultat, pour pouvoir rejouer un message en erreur.
Le gain est arithmétique. Reliés deux à deux, trois logiciels demandent trois liaisons, et six logiciels en demandent quinze. Avec un middleware, chaque logiciel n'a plus qu'une liaison : celle qui le relie au middleware.
Les grandes familles de middleware
| Famille | Rôle | Exemple |
|---|---|---|
| Courtier de messages | Recevoir des messages et les remettre aux destinataires, avec des files d'attente | RabbitMQ, qui se présente comme un courtier de messagerie et de flux open source |
| Plateforme de flux d'événements | Transporter en continu de grands volumes d'événements | Apache Kafka, plateforme open source et distribuée de streaming d'événements |
| Passerelle d'API | Servir de point d'entrée unique devant plusieurs API : authentification, quotas, journal | Couche placée devant les services d'une application |
| Service d'intégration | Appliquer les règles de correspondance propres à une entreprise | Petit service sur mesure, par exemple en Node.js avec une base PostgreSQL |
| Middleware applicatif | S'intercaler dans le traitement de chaque requête d'une application web | Fonction middleware du framework Express |
La dernière ligne correspond au second sens du mot, courant chez les développeurs web. La documentation d'Express décrit une application comme une suite d'appels à des fonctions middleware exécutées pendant le cycle requête-réponse : chacune accède à la requête, à la réponse et à la fonction suivante, et peut par exemple refuser une demande si l'utilisateur n'est pas connecté. Quand un devis mentionne un middleware, demandez lequel des deux sens il vise.
Quand une PME a-t-elle besoin d'un middleware ?
Une PME a besoin d'un middleware quand ses logiciels sont trop nombreux ou trop différents pour être reliés deux à deux sans fragilité. Quelques situations typiques :
- un négociant relie son ERP, son site B2B, une place de marché et son transporteur, et chaque mise à jour d'un éditeur casse plusieurs flux ;
- un groupe a racheté deux sociétés équipées de logiciels de gestion différents, et la direction veut des chiffres consolidés ;
- un ancien logiciel sans API doit continuer de tourner pendant une modernisation progressive ;
- chaque modification d'une commande doit être tracée : qui, quand, depuis quel outil.
À l'inverse, pour deux logiciels en ligne connus et un flux simple dans un seul sens, une liaison directe ou un connecteur du marché suffit. Un service d'intégration sur mesure se justifie surtout quand le flux touche l'argent, le stock ou un logiciel ancien. Les architectures possibles sont décrites dans la page connecter ses logiciels par API.
Les erreurs fréquentes
- Acheter l'outil avant de décider qui fait foi. Le middleware applique des règles, il ne décide pas si la fiche client de référence est celle du CRM ou celle de l'ERP. Cette décision de gestion se prend avant.
- En faire une boîte noire. Sans journal consultable ni alerte, une donnée bloquée reste invisible jusqu'à la réclamation du client.
- Y loger la logique métier. Calculer remises ou commissions dans la couche d'intégration la rend indispensable et illisible : ces règles appartiennent aux logiciels métier.
Termes voisins
- Interopérabilité : la capacité de systèmes différents à fonctionner ensemble ; le middleware est l'un des moyens d'y parvenir.
- Microservices : une architecture dont les services peuvent échanger leurs messages par un courtier, donc par un middleware.
- ESB (bus de services d'entreprise) : un middleware centralisé qui porte à la fois le transport, la transformation et l'orchestration des échanges.
- iPaaS : une plateforme d'intégration proposée en ligne, par abonnement, avec des connecteurs prêts à l'emploi.
Questions fréquentes
- Quel est le mot français pour middleware ?
- Le terme français recommandé pour middleware est « logiciel médiateur », publié au Journal officiel le 16 mars 1999 et repris par FranceTerme, la base terminologique du ministère de la Culture. Il désigne un logiciel qui fait fonctionner plusieurs ordinateurs ou plusieurs logiciels en coordination. Le mot « intergiciel » se rencontre aussi, mais il ne figure pas parmi les termes recommandés par FranceTerme.
- Quelle est la différence entre un middleware et une API ?
- Une API est la porte d'entrée d'un logiciel : elle fixe comment l'interroger. Un middleware est un logiciel à part entière, placé entre plusieurs applications, qui utilise leurs API pour faire circuler les données, les transformer et garder la trace des échanges. Une entreprise qui relie quatre logiciels peut passer par un middleware qui appelle les quatre API, plutôt que de relier chaque logiciel à tous les autres.
- Un outil comme Zapier ou Make est-il un middleware ?
- Oui, au sens large : Zapier, Make ou n8n se placent entre plusieurs logiciels et font circuler les données de l'un à l'autre, ce qui correspond au rôle d'un middleware. Ils conviennent bien aux flux simples entre logiciels en ligne. Pour des flux critiques, des volumes importants ou un logiciel ancien sans connecteur, un service d'intégration développé sur mesure offre plus de contrôle sur les règles, le journal et la reprise sur erreur.
- Faut-il un middleware pour relier deux logiciels ?
- Non, pour relier deux logiciels, une liaison directe par API ou un connecteur du marché suffit en général. Le middleware devient intéressant à partir de trois logiciels ou plus, quand les liaisons directes se multiplient, ou quand chaque échange doit être journalisé, contrôlé et rejoué en cas d'erreur. Le bon critère est la fragilité : si chaque mise à jour d'un éditeur casse plusieurs flux, une couche intermédiaire s'impose.