DEV Community

Sergey Shinder
Sergey Shinder

Posted on

L'intégration qui échoue en silence est la plus dangereuse

Les intégrations qui plantent bruyamment ne me font pas peur. Une API qui renvoie une erreur claire, un service qui refuse net une requête mal formée, une file qui rejette un message invalide : tout cela est visible, donc réparable. Ce qui me tient éveillé, ce sont les intégrations qui échouent en silence, celles qui continuent de dire oui tout en faisant n'importe quoi.

J'ai vécu le cas d'un connecteur entre deux systèmes financiers. Techniquement, tout fonctionnait : les requêtes partaient, les réponses arrivaient avec un code de succès. Sauf qu'un champ de devise était mal interprété d'un côté, et des montants se retrouvaient additionnés dans la mauvaise unité. Aucune erreur, aucune alerte, juste des chiffres faux qui se propageaient tranquillement. Nous l'avons découvert trois jours plus tard, par un humain qui a trouvé un total bizarre. Trois jours de dégâts silencieux.

Depuis, je conçois mes intégrations avec une méfiance profonde envers le mot succès. Un code deux cent ne prouve pas que la bonne chose s'est produite, il prouve seulement que la communication a eu lieu. Alors je vérifie le contenu, pas seulement le contact. Je pose des contrôles de cohérence : les totaux se réconcilient-ils entre les deux systèmes ? Le nombre d'enregistrements envoyés correspond-il au nombre reçu ? Ces vérifications de bon sens ont attrapé plus de bugs sérieux que n'importe quel test de charge.

Le contrat entre deux systèmes est l'endroit où le jugement compte le plus. Un schéma trop laxiste laisse passer des données pourries. Un schéma trop rigide casse à la moindre évolution légitime du partenaire. Trouver le bon niveau de sévérité, savoir quels champs sont vraiment obligatoires et lesquels peuvent varier, c'est un travail humain que je ne délègue jamais à un générateur automatique de code.

Ma conviction est simple : une intégration doit échouer fort et tôt, jamais doucement et tard. Je préfère cent fausses alertes bruyantes à une seule corruption discrète de données. Le silence, dans l'intégration de systèmes, est rarement un signe de paix. C'est souvent le bruit d'un problème qui grandit sans témoin.

– Sergey Shinder

Top comments (0)