YAML est le format de configuration par défaut de Docker Compose, Kubernetes, des pipelines CI/CD et d’Ansible, et le formateur YAML tourne autour de la question de rendre ces fichiers lisibles à nouveau. Collez n’importe quel document YAML, choisissez l’un des deux modes et l’outil rééméte le document complet avec un espacement cohérent, entièrement dans votre navigateur. Rien n’est stocké ni envoyé ; l’analyseur et le sérialiseur tournent sur votre machine.
Collez du YAML et choisissez un mode
Il n’y a pas de reformatage en direct : le document n’est traité que lorsque vous appuyez sur un bouton. Formater est le mode par défaut et reconstruit le document en style bloc, le schéma d’une clé par ligne que la plupart des fichiers de configuration utilisent. Minifier vise un autre objectif : produire la représentation la plus compacte que l’analyseur peut lire. Un petit sélecteur d’indentation bascule Formater entre 2 et 4 espaces ; il n’apparaît qu’en mode Formater, parce que Minifier utilise toujours 2.
Ce que fait Formater : un document propre en style bloc
Formater normalise tous les niveaux du document à l’indentation que vous avez choisie. Les mappings et les séquences imbriqués s’alignent sur des décalages fixes, les espaces de fin de ligne disparaissent et un niveau correspond toujours à un pas d’indentation. Les longues valeurs ne sont jamais coupées : une valeur de 400 caractères reste sur une seule ligne, parce que dans les fichiers de configuration la lisibilité de la structure compte plus que la longueur des lignes.
Ce que fait Minifier : le style flow sous un niveau supérieur en bloc
Minifier n’écrase pas le document sur une seule ligne, et cela surprend. Le niveau supérieur reste en style bloc, mais chaque valeur sous une clé supérieure est écrite en forme flow : une liste de chaînes devient items: [a, b] et un mapping imbriqué devient a: {b: [1, 2]}. Une liste de maps au niveau supérieur devient un map flow par ligne, commençant par un tiret et une accolade d’ouverture. Les valeurs qui pourraient être mal lues en flow, comme une clé nommée y, sont mises entre guillemets pour conserver le sens exact.
Ce que le formateur supprime et réécrit
Trois choses méritent d’être connues avant de comparer la sortie. Les commentaires sont supprimés : l’analyseur transforme d’abord le document en structure de données, et les commentaires ne survivent pas à cette étape. Les ancres et les alias sont compris pendant l’analyse, mais le sérialiseur est configuré pour n’émettre aucune référence, de sorte que chaque alias revient comme copie complète de la valeur qu’il pointe. Les nombres sont aussi normalisés : 3.0 devient 3, 1e5 devient 100000, 0x10 devient 16, et les valeurs vides, les tildes et null s’impriment en null, tandis qu’une chaîne vide reste une chaîne vide, entre guillemets.
L’ordre des clés : conservé, avec une exception
Le formateur ne trie pas vos clés. Les clés de chaîne gardent exactement l’ordre qu’elles avaient dans votre document, donc un fichier qui liste zebra, ant et m revient dans le même ordre. Il y a une exception qui peut ressembler à un tri : une clé qui ressemble à un entier, par exemple 123, passe en tête du mapping. Ce n’est pas le formateur qui choisit un ordre ; c’est la façon dont l’objet JavaScript qui contient le document analysé énumère ses propriétés, et les clés numériques viennent toujours en premier.
Messages d’erreur avec ligne et colonne
Un YAML invalide ne produit pas un échec vague. L’analyseur signale le problème avec un numéro de ligne et de colonne, tous deux commençant à 1, pour que vous sautiez directement à l’endroit cassé. Les clés dupliquées sont rejetées de la même façon, ce qui aide quand un bloc copié se glisse deux fois. Un cas est différent : un second marqueur de document dans l’entrée est aussi une erreur, mais ce message n’a pas de position, parce que l’analyseur s’arrête au niveau du flux. Ne rien coller affiche un message dédié.
Échanger, effacer, et où aller ensuite
Deux petits contrôles clôturent le flux. Le bouton Échanger apparaît dès qu’il y a une sortie et la recopie dans l’entrée, en effaçant la sortie, ce qui accélère la correction itérative : formater, repérer une valeur à refaire, échanger, éditer, reformater. Effacer vide les deux côtés et la ligne d’erreur. Rien de la page n’est stocké, donc le contenu de configuration sensible ne quitte jamais votre navigateur. Si vos données naissent en JSON, passez d’abord par le Formatteur JSON ou allez directement au Convertisseur JSON/YAML. Les configurations XML reçoivent le même traitement dans le Formatteur XML, et pour les fichiers de balisage le guide du formateur HTML couvre le même schéma de formatage et de minification avec des blocs de script protégés.