Pré-vérification YAML inter-environnements

Collez un document YAML — workflow GitHub Actions, fichier Docker Compose, manifeste Kubernetes ou YAML générique — pour repérer les éléments structurels et valeurs ambiguës qui changent selon l'outil lecteur. Cette pré-vérification réutilise intégralement la détection YAML 1.1/1.2 du vérificateur sémantique (« problème de la Norvège » et cas apparentés) et ajoute les contrôles structurels importants pour les consommateurs YAML réels : ancres/alias, clés de fusion, tabulations, clés dupliquées et style flow.

Traitement effectué localement dans votre navigateur. Votre fichier n’est jamais téléversé.

Comment utiliser cet outil outil

  1. Collez votre YAML ou chargez un fichier .yaml/.yml ; rien ne quitte votre navigateur.
  2. Sélectionnez « Vérifier le YAML ».
  3. Examinez chaque problème signalé : environnements ou outils concernés, et pourquoi.
  4. Appliquez la réécriture portable proposée (tabulations converties en espaces, scalaires ambigus mis entre guillemets). Les ancres, clés de fusion et clés dupliquées ne sont que signalées, car une correction automatique pourrait modifier la structure.

Hypothèses

Sources et données de référence

Méthodologie

Le document est analysé en deux niveaux. D'abord, chaque scalaire non cité est résolu selon YAML 1.1 et Core Schema YAML 1.2 (logique identique au vérificateur sémantique) ; toute divergence est signalée et expliquée selon sa pertinence pour les environnements. Ensuite, le document est recherché pour les divergences structurelles connues : ancres/alias (avertissement : restrictions pour prévenir l'épuisement de ressources par expansion récursive), clés de fusion (erreur : extension YAML 1.1 hors spécification YAML 1.2, non prise en charge par Kubernetes et plusieurs analyseurs stricts), indentation par tabulations (erreur : interdite par la spécification YAML), clés dupliquées dans une correspondance (avertissement : comportement non spécifié, dernière occurrence généralement conservée silencieusement) et collections flow dans un document en blocs (information, indice à faible confiance, pas problème avéré).

Exemple détaillé

Valeur de matrice GitHub Actions ressemblant à un indicateur

Données d’entrée: flag: on

Résultat: Reprend la détection du problème de la Norvège : YAML 1.1 lit "on" comme booléen true, YAML 1.2 comme chaîne "on". Dans une matrice ou une valeur env GitHub Actions, cette valeur devait probablement rester une chaîne.

Clé de fusion Docker Compose

Données d’entrée: <<: *defaults

Résultat: Erreur : les clés de fusion sont une extension YAML 1.1, hors spécification YAML 1.2, non prises en charge par le traitement YAML de Kubernetes et plusieurs analyseurs stricts. Aucune réécriture automatique ; développez manuellement le contenu de l'ancre référencée pour une version portable.

Manifeste Kubernetes indenté par tabulations

Données d’entrée: \tname: demo

Résultat: Erreur : les tabulations sont interdites par la spécification YAML, pas seulement déconseillées. Réécriture proposée : remplacer chaque tabulation initiale par deux espaces.

Conseils pratiques
Erreurs fréquentes

Questions fréquentes

Pourquoi cet outil recoupe-t-il le vérificateur de différences sémantiques YAML ?

Il ne duplique pas sa logique, il la réutilise. La règle 1 appelle directement sa résolution des scalaires, puis ajoute les contrôles structurels (ancres, clés de fusion, tabulations, clés dupliquées, style flow) que l'outil sémantique exclut.

Pourquoi les clés de fusion sont-elles une erreur et les ancres/alias un avertissement ?

Les clés de fusion sont entièrement hors spécification YAML 1.2 et explicitement non prises en charge par des outils comme le traitement YAML de Kubernetes : l'échec est très probable. Ancres et alias sont valides dans YAML de base, mais certaines outils les restreignent pour des raisons de sécurité ; le risque est réel mais moins certain.

Pourquoi l'outil ne corrige-t-il pas automatiquement ancres, clés de fusion ou clés dupliquées ?

Ces cas exigent de comprendre le sens du document (contenu développé d'une ancre, occurrence dupliquée voulue), pas une modification textuelle mécanique. L'outil les signale et explique la correction manuelle sans deviner.

Dernière vérification : 2026-09-26

Contrôles structurels ciblés fondés sur des motifs et comparaison d'ambiguïtés scalaires réutilisée ; pas analyseur YAML complet ni validateur du comportement exact d'un outil. Les valeurs internes de collections flow ne sont pas contrôlées pour les ambiguïtés scalaires ; les clés dupliquées sont repérées par niveau d'indentation, sans arbre complet du document.

Les préférences de thème et d’outils, ainsi que les listes enregistrées et récemment utilisées, sont stockées uniquement dans ce navigateur.