Résumé
- La RFC 10035 ajoute à YANG Library une liste
augmented-byen lecture seule. Un serveur peut ainsi déclarer les modules qui en augmentent directement un autre au sein du même module-set, alors que le module de base ne peut pas découvrir ces dépendances inverses dans son propre texte. - La relation n’est pas transitive. Si B ajoute un nœud sous A, puis C ajoute une feuille sous le nœud défini par B, A cite B et B cite C; A ne cite pas C comme augment direct au seul motif que le chemin de C commence dans A.
- Le résultat est une adjacence directe, datée et propre à un serveur. Toute conclusion sur le schéma effectif doit encore joindre
content-id, révisions, accès, parcours du client, sources analysées et comportement observé.
Les dépendances ordinaires ont une politesse rassurante: le fichier qui en a besoin les déclare. En YANG, import nomme le module dont on utilise les définitions et include le sous-module que l’on incorpore. Un analyseur qui part du texte courant voit ces liens sortir du fichier.
L’instruction augment arrive par l’autre côté. Un module extérieur vise un emplacement dans l’arbre de schéma d’un module de base et y insère des nœuds. Le visiteur connaît sa destination; le module visité ne reçoit pas pour autant la liste de ceux qui se sont attachés à lui. Son apparence effective peut donc dépendre de textes qu’il ne nomme jamais.
La RFC 10035 traite cette asymétrie avec un mécanisme volontairement étroit. Publiée sur la voie des normes de l’IETF en août 2026, YANG Library: Addition of the augmented-by List met à jour la RFC 8525. Zhuoyao Lin, Benoît Claise et Ignacio Dominguez Martinez-Casanueva en sont les auteurs. La nouvelle leaf-list augmented-by, en lecture seule, permet au serveur d’indiquer les modules qui augmentent directement chaque module de la bibliothèque.
Le parcours de Claise éclaire le choix du problème sans lui attribuer seul la solution. Sa fiche IETF conservée le 31 août 2026 compte 45 RFC, dont la RFC 10035, et mentionne alors des fonctions liées à la gestion des réseaux, aux opérations, aux métriques de performance, à un atelier de l’IAB et à YangCatalog. Une biographie d’IETF 104 rappelle qu’il a été codirecteur de l’aire Operations and Management de 2012 à 2018 et qu’il travaille depuis longtemps sur YANG, la télémétrie et l’automatisation. Ce sont des repères datés. Ils ne prouvent ni propriété individuelle de la norme, ni autorité sur une mise en œuvre.
Une dépendance écrite chez celui qui modifie
La RFC 7950 permet de voir pourquoi une simple analyse ascendante échoue. Le module qui importe prend l’initiative de déclarer import. Le module qui inclut un sous-module écrit include. L’information se trouve donc du côté qui consomme.
Dans un augment externe, la déclaration se trouve chez celui qui modifie. La cible peut être un nœud défini ailleurs. La RFC 10035 parle alors de dépendance inverse, comme pour deviation: la forme ou le comportement associé à la base peut changer à cause d’un texte placé hors de celle-ci.
YANG Library savait déjà signaler les modules de déviation. Il lui manquait une réponse comparable pour les augmentations. Fouiller un catalogue mondial donnerait des candidats, pas la composition qu’un serveur précis affirme offrir. augmented-by replace le constat dans ce contexte: le module de base et chaque module augmentant cité doivent figurer dans le même module-set.
L’arête ne signifie donc pas que deux modules sont liés partout et pour toujours. Elle signifie qu’une instance de bibliothèque, sur un serveur, les présente comme voisins directs dans ce module-set. Elle facilite la découverte sans devenir un certificat de schéma complet ou de conformité d’exécution.
Le parent immédiat fixe l’arête
Le second exemple à trois modules de la RFC donne la règle la plus importante. A définit foo-a. B ajoute foo-b sous ce nœud. C ajoute ensuite une feuille sous foo-b.
Le chemin de C remonte bien jusqu’à A. Pourtant, le parent immédiat de sa nouvelle feuille est foo-b, défini par B. La bibliothèque place donc B dans augmented-by de A, puis C dans celui de B. Elle ne place pas C dans la liste directe de A.
Refuser cette promotion protège la valeur sémantique du mot « direct ». Recopier chaque descendant sur tous ses ancêtres confondrait le constat du serveur avec la clôture calculée par un client. Cela masquerait aussi le point d’attache réel et gonflerait les listes à mesure que le schéma grandit.
Un client qui a besoin de la clôture peut parcourir A→B→C. Celui qui doit connaître une dépendance à un nœud précis peut récupérer les sources et analyser l’arbre. Il lui appartient alors de documenter profondeur, cycles, erreurs, révisions et chemin retenu. Le serveur fournit l’adjacence; l’application reste responsable de la question qu’elle pose au graphe.
Un graphe attaché au content-id
La RFC 8525 associe l’information courante de YANG Library à un content-id. Lorsque la bibliothèque change, cette valeur doit changer. Le client peut mettre en cache une instance puis la reprendre après un nouvel identifiant. La RFC 10035 ajoute que l’arrivée d’un nouveau module doit entraîner l’actualisation de la bibliothèque et de augmented-by.
Une arête sans identifiant de serveur, heure, module-set et content-id n’a donc pas d’époque vérifiable. Une absence est plus fragile encore. Elle peut exprimer l’absence réelle d’augment direct, mais aussi une bibliothèque périmée, un serveur qui ne prend pas en charge la RFC 10035, un filtrage d’accès ou une erreur d’implémentation.
Le reçu doit conserver le principal authentifié et le résultat du contrôle d’accès, l’endpoint, le datastore, le module-set, les noms, révisions et espaces de noms, puis les arêtes telles qu’elles ont été déclarées. La clôture, si elle existe, est un produit séparé: version de l’algorithme, limite de récursion, sources récupérées, erreurs et sortie.
Cette séparation permet de savoir, après une évolution, si le serveur a changé de bibliothèque ou si le client a changé de raisonnement. Elle empêche surtout une déduction locale de se présenter comme une déclaration du serveur.
La lecture seule révèle aussi une architecture
augmented-by n’écrit aucune configuration. La relation peut néanmoins dévoiler des modules facultatifs, des fonctions ou des composants de mise en œuvre. La RFC 10035 avertit que ces indices peuvent aider une attaque ciblée et recommande de réserver la lecture aux utilisateurs autorisés par le contrôle d’accès de gestion.
Deux principaux peuvent donc ne pas recevoir la même vue. « Non renvoyé » n’est pas synonyme d’« inexistant ». La preuve d’une lecture vide doit inclure la décision d’autorisation, sans quoi un filtre risque d’être transformé en conclusion sur le graphe.
La liste augmente aussi la taille de YANG Library. Le bon compromis n’est pas de demander au serveur de résoudre toutes les questions de dépendance, mais de lui faire publier une petite unité fiable. Les clients n’effectuent l’analyse profonde que lorsque leur décision l’exige.
Une adjacence n’est pas le comportement du réseau
Même une arête correcte A→B ne prouve pas qu’un client comprend le schéma effectif. A-t-il récupéré la bonne révision de B, analysé toutes les instructions, suivi B→C quand il le fallait, traité les déviations, les fonctions, le datastore et les droits ? La bibliothèque ne répond pas à sa place.
Le graphe ne prouve pas davantage que le serveur se comporte comme le modèle. La RFC 8342 structure les vues de données que doit distinguer la gestion de réseau. Les configurations, états, télémétries et résultats d’automatisation observés restent la preuve du système en fonctionnement.
Une chaîne sérieuse relie donc la découverte aux sources, au parseur, à la décision de l’application et à son résultat. Elle garde l’écart entre schéma déclaré et comportement mesuré, ainsi que le propriétaire d’une exception. La primauté du code en fonctionnement ne diminue pas YANG Library; elle empêche simplement une bonne carte de se faire passer pour le territoire.
Sources
- RFC 10035 — ajout de la liste augmented-by à YANG Library
- RFC 8525 — YANG Library
- RFC 7950 — langage de modélisation YANG 1.1
- RFC 8342 — architecture des datastores de gestion de réseau
- IETF Datatracker — Benoît Claise
- IETF 104 — série des intervenants hôtes
- Benoît Claise — site public
- Lu Heng — Running-Code Primacy
- Lu Heng — Minimum Initial Specification
- Lu Heng — le problème d’agence au cœur de la gouvernance de l’Internet
Briefing des membres
Contexte approfondi du profil
Connectez-vous avec le bon niveau d'adhésion pour débloquer le briefing complet et les notes de source.
Réservé à Strategic Circle
Strategic Circle
Ouvert à tous les lecteurs. Débloquez les briefings de profil après adhésion et connexion.
Rejoindre Strategic CircleRéservé aux membres de Leadership Alliance
Leadership Alliance
Réservé aux propriétaires et dirigeants qualifiés d'actifs IP ; connectez-vous pour débloquer les briefings Alliance.
Rejoindre Leadership Alliance
