Sélectionnez votre langue

Telebib2 en JSON : pourquoi

Comprendre

Telebib2 en JSON : pourquoi et ce qui ne change pas

Telebib2 existe désormais en deux représentations techniques : EDIFACT, en production depuis trente ans et JSON, qui entre en service le 1er janvier 2027. Les deux décrivent les mêmes messages, avec la même sémantique métier et évoluent ensemble à chaque release. Cette page explique ce qui a motivé la seconde et surtout ce qu'elle ne remet pas en cause.

Le même fait écrit deux fois. À gauche, le segment EDIFACT DTM+008:20180701:102 dont trois codes doivent être résolus dans un annuaire. À droite, le même fait en JSON : la propriété inceptionDate porte son sens et la valeur est une date ISO 8601.
Fig. 01 — La différence n'est pas la concision

Le problème n'était pas EDIFACT

Disons-le d'emblée : EDIFACT fonctionne. Il transporte les échanges du secteur depuis trois décennies, il est complet, il est éprouvé et rien de ce qui suit ne lui reproche quoi que ce soit sur le plan technique.

Le problème est ailleurs, il est d'ordre pratique. Pour lire un message EDIFACT, il faut connaître EDIFACT : les tags, les qualifiants, les annuaires, les règles de syntaxe. C'est un savoir spécialisé, qui s'acquiert, mais dont la maîtrise est de plus en plus rare sur le marché.

Chaque nouvelle intégration payait donc un droit d'entrée avant même d'écrire la première ligne utile. Pour un acteur qui rejoint le secteur ou pour une équipe qui refait son système, ce droit d'entrée pèse lourd, parfois plus lourd que l'intégration elle-même.

Le droit d'entrée. Avant d'écrire la première ligne utile, une intégration EDIFACT demande de connaître les tags, les qualifiants, les annuaires et les règles de syntaxe. Une intégration JSON ne demande que quelques conventions. Proportions indicatives.
Fig. 02 — Ce qu'il faut connaître avant d'écrire la première ligne utile

Ce que JSON apporte concrètement

Un message qui se lit sans manuel. Les noms de propriétés portent le sens, les valeurs de listes sont écrites en toutes lettres. Un développeur qui n'a jamais entendu parler de Telebib2 comprend la structure d'un message à la première lecture.

Une validation qui se vérifie par la machine. JSON Schema n'est pas de la documentation : c'est un contrat exécutable. Une bibliothèque standard répond par oui ou non, avec le détail des écarts. Aucune convention hors bande, aucun accord bilatéral à documenter séparément.

De l'outillage partout. Tous les langages courants ont une bibliothèque JSON Schema mature, gratuite et maintenue. Il n'y a rien à acheter, rien de spécifique au secteur à installer.

Ce que le schéma décide à votre place. Le schéma JSON fixe les propriétés existantes, les propriétés obligatoires, les valeurs admises, les longueurs permises et la forme des montants et des dates. Un payload passe dans un validateur qui répond valide ou renvoie les écarts détaillés.
Fig. 03 — Le schéma est un contrat exécutable, pas de la documentation

Ce qui ne change pas

C'est le point le plus important de cette page et celui qui rassure le plus les équipes en place.

Le modèle métier est identique. Le contrat, l'objet de risque, la garantie, la franchise, le sinistre, la quittance : la cascade contractuelle et les entités du modèle sont les mêmes. Ce qui était vrai en EDIFACT le reste.

Les messages sont les mêmes. Un M0151 reste un certificat de sinistralité. Il porte les mêmes informations, avec les mêmes règles d'obligation. Le pivot dont dérivent les deux représentations est unique : c'est le MCI.

Les listes de valeurs sont les mêmes. Les valeurs autorisées, leurs libellés bilingues, les organismes qui les arbitrent : rien de tout cela n'a bougé.

La gouvernance et le cycle de release sont les mêmes. Une seule instance décide, une seule cadence, une seule liste de changements par release, valable pour les deux représentations.

Une source, deux représentations. Le MCI est le pivot unique. Il dérive vers le MIG EDIFACT et vers le schéma JSON, qui produisent respectivement un message EDIFACT et un message JSON. Même contenu métier, même release, même liste de changements.
Fig. 04 — Le MCI est le pivot dont les deux représentations dérivent

Ce pivot mérite mieux qu'un paragraphe : un article entier lui est consacré, parce que c'est lui qui rend crédible l'affirmation « les deux formats décrivent le même message ».

Ce que cela vous demande

Soyons honnêtes sur le coût. Passer au JSON demande d'apprendre un petit nombre de conventions qui ne se devinent pas : les valeurs à virgule sont des chaînes, les schémas refusent toute propriété non prévue, la version d'un message est un entier alors que son code est une chaîne.

Ce n'est pas beaucoup, mais ce n'est pas rien et chacune de ces conventions coûte du temps à qui la découvre en production. La série d'articles qui suit existe pour que vous les rencontriez ici plutôt que là.

Le coût, honnêtement. À apprendre : les valeurs à virgule sont des chaînes, toute propriété non prévue est refusée, la version est un entier alors que le code est une chaîne. Ce qui sort du périmètre : la résolution des qualifiants, la connaissance des annuaires, les règles de syntaxe.
Fig. 05 — Ce que vous apprenez, et ce qui sort de votre périmètre

En contrepartie, tout le reste : la résolution des qualifiants, la connaissance des annuaires, les règles de syntaxe, disparaît du périmètre de votre équipe.

Par où commencer, en cinq étapes : lire l'anatomie d'un message JSON, choisir un validateur en draft 2020-12, valider un payload de référence, retirer ce dont vous n'avez pas besoin, lire les points d'attention avant d'écrire du code de production.
Fig. 06 — Les cinq premières étapes

Une dernière chose, qui n'est pas anecdotique : les schémas JSON sont publiés en fichiers statiques, à des adresses stables et un fichier publié n'est jamais modifié. Ce que vous validez aujourd'hui, vous le validerez à l'identique dans dix ans. C'est la garantie qui rend le reste utilisable.

Contact

À propos de Telebib2