YMHB WEB

Middleware (logiciel médiateur) : définition simple et exemples

Un middleware est un logiciel intermédiaire, placé entre plusieurs applications, qui reçoit leurs messages, les met au bon format et les achemine pour qu'elles fonctionnent ensemble sans se connaître directement. L'équivalent français recommandé est « logiciel médiateur », terme publié au Journal officiel le 16 mars 1999.

L'essentiel

  • Le middleware se place entre les logiciels de l'entreprise pour qu'ils échangent leurs données sans qu'il faille relier chacun directement à tous les autres.
  • FranceTerme recommande « logiciel médiateur », défini au Journal officiel du 16 mars 1999 comme un logiciel qui fait fonctionner plusieurs ordinateurs ou logiciels en coordination.
  • Dans un framework web comme Express, le mot désigne aussi une fonction qui s'intercale dans le traitement de chaque requête, par exemple pour vérifier une connexion.
  • Un middleware devient utile quand trois logiciels ou plus doivent échanger des données et que les liaisons directes cassent à chaque changement d'un éditeur.

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

FamilleRôleExemple
Courtier de messagesRecevoir des messages et les remettre aux destinataires, avec des files d'attenteRabbitMQ, qui se présente comme un courtier de messagerie et de flux open source
Plateforme de flux d'événementsTransporter en continu de grands volumes d'événementsApache Kafka, plateforme open source et distribuée de streaming d'événements
Passerelle d'APIServir de point d'entrée unique devant plusieurs API : authentification, quotas, journalCouche placée devant les services d'une application
Service d'intégrationAppliquer les règles de correspondance propres à une entreprisePetit service sur mesure, par exemple en Node.js avec une base PostgreSQL
Middleware applicatifS'intercaler dans le traitement de chaque requête d'une application webFonction 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.

À lire aussi

Sources

  1. FranceTerme (ministère de la Culture), logiciel médiateur, Journal officiel du 16/03/1999
  2. Express, Using middleware (documentation officielle)
  3. Apache Kafka, site officiel du projet
  4. RabbitMQ, site officiel du projet

Décrivez-nous votre situation, pas une liste de fonctionnalités.

Nous commençons par comprendre votre métier. Si un outil du marché suffit, nous vous le dirons.

Décrire mon projetou appelez le 09 61 20 47 79