Votre boutique, votre logiciel de facturation et votre outil de relation client contiennent les mêmes informations, mais chacun les décrit à sa façon. Pour les faire dialoguer, il faut un traducteur. En informatique, on l’appelle un middleware.
Qu’est-ce qu’un middleware ?
Un middleware (ou « intergiciel ») est une couche logicielle placée entre des systèmes. Il reçoit les données d’un système, les adapte, puis les remet à un ou plusieurs autres. Chaque système n’a plus besoin de connaître les autres : il ne parle qu’au middleware.
Pourquoi les systèmes ne se comprennent pas
- Les formats : JSON, XML, CSV, fichiers à largeur fixe ;
- Les modèles de données : « client » ici, « customer » là ; un nom complet d’un côté, nom et prénom séparés de l’autre ; des dates et des devises écrites différemment ;
- Les protocoles : API REST, SOAP, dépôt de fichiers sur un serveur SFTP ;
- L’authentification : clé d’accès, jeton, OAuth ;
- Le rythme : temps réel pour l’un, traitement par lots de nuit pour l’autre.
Ce que fait un middleware
- Transformer : faire correspondre les champs (mapping), convertir les formats, les dates, les unités ;
- Valider : refuser une donnée incomplète ou incohérente avant qu’elle n’atteigne la destination ;
- Enrichir et filtrer : ajouter une information, ne transmettre que ce qui est utile ;
- Acheminer : envoyer la donnée vers la bonne destination, ou vers plusieurs ;
- Gérer les erreurs : réessayer, mettre en attente, alerter ;
- Tracer et sécuriser : centraliser les accès et journaliser les échanges.
Liaisons point à point ou middleware ?
Sans intermédiaire, chaque système est relié directement à chacun des autres. Avec quatre systèmes, cela représente six liaisons à construire et à entretenir ; avec cinq, dix. Avec un middleware, chaque système n’a qu’une seule connexion : quatre connexions pour quatre systèmes. Ajouter un système ne demande qu’une connexion de plus, et un changement dans un système n’impacte que sa propre connexion.
Quand en utiliser un ?
- vous reliez plus de deux systèmes, ou vous en ajouterez ;
- les formats ou les règles de gestion diffèrent nettement ;
- vous avez besoin de fiabilité : reprise sur erreur, alertes, traces ;
- vous voulez limiter la dépendance à un système en particulier.
À l’inverse, pour relier simplement deux outils qui proposent déjà une intégration native, une connexion directe suffit souvent.
Comment choisir ?
- Où passent les données : pays d’hébergement, conservation éventuelle, sous-traitants (enjeu de protection des données) ;
- Les connecteurs disponibles pour vos outils, et la possibilité d’en ajouter ;
- Les capacités de transformation : simples correspondances ou règles plus élaborées ;
- La supervision : savoir quand un échange échoue ;
- Le modèle de coût : abonnement, volume, complexité des flux ;
- La réversibilité : pouvoir quitter la solution sans tout reconstruire.
C’est le rôle d’un middleware : des connecteurs pour relier vos systèmes par leurs API, la transformation des données entre les deux, un hébergement en France et aucune conservation des données qui transitent. C’est la démarche suivie dans La Passerelle, l’un de mes projets personnels. Pour comprendre les bases de ces échanges, lisez aussi relier ses logiciels par API.
Un flux à construire ?
Décrivez les systèmes à relier : je vous dis comment les connecter.

