Références de configuration

Ancres YAMLRetrouver la définition derrière chaque alias

Explorez les définitions et leurs usages avant de reprendre le YAML développé.

Ancres YAML

Entrée YAML

YAML développé

Le contenu reste dans ce navigateur. Il n’est ni envoyé, ni exécuté, ni enregistré, ni ajouté à une URL.

Fusion désactivée au départ. Les clés explicites et les premières sources priment ; la fusion reste superficielle. L’exemple de fusion propose aussi l’activation de cette option.

yaml 2.9.0 · Les directives doivent correspondre à la version choisie. La sortie déclare sa version.

500 000 unités UTF-16 / 2 Mo UTF-8 ; 100 documents ; 50 000 nœuds source et visites de développement ; profondeur 100 ; 5 000 lignes de graphe ; 2 millions de caractères et unités de travail scalaire ; 5 secondes.

Graphe des références source

Les flèches vont de la définition à son usage. Cliquez sur une position pour revenir au texte. « Cible trouvée » identifie une définition, sans garantir le développement d’un cycle.

Saisissez du YAML ou lancez une analyse.

Les ancres YAML facilitent la réutilisation, mais un même nom peut désigner plusieurs définitions successives. Le graphe relie chaque usage à sa véritable origine dans le document, avec sa ligne et sa colonne.

Examinez les ancres et alias, puis activez au besoin les clés de fusion YAML pour comparer les valeurs héritées aux valeurs explicites. Les références YAML déjà collectées restent consultables si le développement échoue.

Pourquoi explorer les ancres YAML ?

Comprendre les reprises avant de modifier un fichier

Distinguer les définitions homonymes

Les ancres YAML portant le même nom restent des définitions distinctes. Un alias vise la plus proche qui le précède dans le même document. Le graphe conserve les positions réelles ; un astérisque dans une chaîne ne devient pas une référence.

Deux définitions de couleurs différentes pointent vers leurs usages ultérieurs ; une boucle rouge signale la récursion.

Vérifier la valeur retenue

La fusion facultative rend visibles les valeurs héritées. Une clé explicite gagne toujours ; entre plusieurs objets sources, le premier gagne. Le résultat apparaît à part et ne remplace l’entrée qu’après examen et application.

Deux objets sources alimentent le résultat ; une valeur locale remplace une valeur héritée et un bloc imbriqué reste entier.

Trois contrôles utiles avant validation

Les choix qui changent le résultat

01

Choisir le schéma et la fusion

YAML 1.2 Core est sélectionné initialement. La fusion est désactivée dans les deux versions. Passer à 1.1 change notamment la lecture de yes et des dates ; une directive %YAML contradictoire provoque une erreur. L’exemple de fusion prévisualise le texte et l’activation de l’option ensemble.

02

Suivre une référence dans le texte

Chaque extrémité d’une ligne du graphe ramène à la ligne et à la colonne source. La pagination est de 50 lignes, y compris les ancres inutilisées. Les cibles absentes et cycles détectés restent visibles après échec ; un dépassement de budget peut laisser un graphe partiel.

03

Appliquer avec possibilité de retour

Résultat, exemples, effacement et import ouvrent un aperçu avec le nombre de lignes remplacées. Appliquer conserve un niveau de rétablissement de l’entrée, des options et de l’analyse. Ctrl/Cmd+Entrée lance le mode manuel ; le mode automatique attend 350 ms après la saisie. Un résultat périmé ne s’exporte pas.

Définitions, héritage et valeurs typées

Une analyse de structure, puis une copie de valeurs

Positions issues du parseur

Le lexer et l’arbre syntaxique repèrent les ancres et les alias réels, même sur une ligne séparée ou une clé textuelle. Les chaînes citées et blocs multilignes restent des données. Chaque document dispose de sa propre table de définitions.

Cycles inspectables

Un graphe YAML récursif peut être valide sans posséder de développement fini sans alias. L’analyse signale les arêtes cycliques et conserve les références collectées, mais bloque toute sortie. Une cible trouvée ne signifie donc pas que sa valeur a été développée.

Fusion superficielle

Les objets, leurs alias et les séquences d’objets sont acceptés comme sources de fusion. Les clés explicites priment quelle que soit leur position, puis les premières sources. Les objets imbriqués sont remplacés en entier ; les séquences ne sont jamais concaténées.

Pas de conversion JSON intermédiaire

Les nœuds de l’arbre sont copiés pour conserver les grands entiers, les graphies numériques, les flottants spéciaux et les tokens timestamp. La sortie est reparsée avec le même schéma et contrôlée avant de proposer un export.

Types, portée et limites

Le développement doit produire un texte fini

La version est un choix explicite
Le moteur yaml 2.9.0 propose YAML 1.2 Core ou le schéma YAML 1.1. Une directive %YAML incompatible arrête le traitement. Chaque document produit déclare la version sélectionnée. La fusion reste indépendante et désactivée par défaut, même en 1.1.
Les clés de fusion sont une extension
Lorsque l’option est active, << non cité et !!merge fusionnent les objets. Plusieurs clés de fusion sont autorisées par extension du moteur, dans l’ordre source : les premières sources gagnent, les clés explicites gardent la priorité. "<<" et !!str << sont des clés textuelles ordinaires. Option désactivée, << non cité est aussi une clé ordinaire ; les doublons ordinaires sont refusés.
Clés textuelles et balises reconnues
Les clés doivent donner des chaînes, y compris les alias vers des chaînes ancrées. Les clés numériques, booléennes, nulles ou composées sont refusées. Les types Core, timestamp et binary sont acceptés ; binary exige du Base64 canonique avec remplissage. Les balises inconnues, set, omap et pairs sont refusées. Aucun constructeur personnalisé n’est exécuté.
Les valeurs ne sont pas la mise en page
Les ancres, alias, commentaires et espacements d’origine disparaissent de la sortie. Les tokens numériques et timestamp sont conservés sans passage par Number ou Date. Flottants spéciaux et données binaires restent typés YAML ; les chaînes peuvent changer de présentation. Le fichier original n’est jamais écrasé automatiquement.
Une portée limitée au document
Un alias utilise la dernière définition antérieure de son nom dans son document. Les références en avant ou entre documents échouent. Les noms d’ancres peuvent être repris, contrairement aux clés dupliquées. Compose include et interpolation, GitLab extends ou !reference, modèles Helm, JSON $ref et imports distants ne sont pas évalués.
Budgets de calcul et de sortie
Limites : 500 000 unités UTF-16 et 2 Mo UTF-8 en entrée, 100 documents, 50 000 nœuds source, profondeur 100. Les 50 000 visites comptent les alias répétés, les clés de fusion et les sources écrasées. Les scalaires source et valeurs partagent 2 millions d’unités de travail ; la sortie a son propre plafond de 2 millions de caractères. Le graphe s’arrête à 5 000 lignes et le worker à 5 secondes. Tout échec bloque l’export entier.

Questions sur les ancres YAML

Les différences entre exploration et remplacement

Les clés de fusion sont-elles activées ?

Non, l’option est désactivée par défaut dans les deux versions. Activez-la pour développer l’héritage d’objets. Les clés explicites priment, puis la première source. Une clé << citée reste littérale. L’exemple de fusion présente aussi le changement d’option avant application.

Peut-on réutiliser un nom d’ancre ?

Oui. Pour les ancres YAML, chaque alias vise la définition homonyme la plus proche avant lui dans le même document. Les positions affichées permettent de distinguer ces définitions. Une définition ultérieure ou située dans un autre document ne convient pas.

L’explorateur modifie-t-il les ancres d’origine ?

Non, l’analyse et la navigation laissent l’entrée intacte. Utiliser le résultat ouvre un aperçu ; Appliquer remplace ensuite le texte dans l’éditeur. Rétablir restaure l’entrée, les options et le résultat précédents.

Les commentaires et la mise en forme sont-ils conservés ?

Non. Le développement produit une nouvelle représentation YAML, sans commentaires ni espacements d’origine. Il conserve les valeurs et les tokens numériques ou timestamp pris en charge ; les chaînes peuvent être recitées. Examinez la sortie avant de l’appliquer.

Peut-on partager une ancre entre fichiers Compose inclus ?

Les alias YAML ont une portée limitée à un document. Cet outil ne traite ni include de Compose ni les autres mécanismes propres à une application. Une concaténation qui conserve les frontières de documents ne rend pas une référence entre documents valide.

Un cas de référence ou de valeur à examiner ?

Examiner vos ancres YAML

Les ancres YAML deviennent plus faciles à vérifier quand chaque alias montre sa source. Comparez le développement avant de remplacer votre configuration.

La sortie doit encore être validée par l’application qui utilisera le fichier.