🧰 UtlKit

Comment Utiliser le Formateur YAML : les Commentaires Disparaissent, les Alias se Déplient en Copies Complètes, et 3.0 Devient 3, avec les Modes Formater et Minifier, une Indentation de 2 ou 4 Espaces, et des Messages d’Erreur avec Ligne et Colonne Expliqués

Parcours du formateur YAML avec ses comportements exacts : commentaires supprimés, alias dépliés en copies complètes, ordre des clés conservé sauf les clés numériques, nombres normalisés, style flow en mode minifier, et erreurs avec ligne et colonne.

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.

Outils Associés

Questions Fréquentes

Les commentaires YAML sont-ils conservés lors de la mise en forme ?

Non. Le formateur analyse d’abord le document en une structure de données, et les commentaires ne font pas partie de cette structure, ils disparaissent donc dans les sorties Formater comme Minifier. Si les commentaires doivent survivre, gardez-les dans votre éditeur ou votre contrôle de version, pas dans la copie formatée.

Pourquoi mes ancres et mes alias ont-ils disparu ?

L’analyseur comprend les ancres et les alias, mais le sérialiseur est configuré pour n’émettre aucune référence : chaque alias revient comme une copie complète de la valeur qu’il pointe, et aucun nom d’ancre n’apparaît dans le résultat. Le contenu dupliqué est le prix d’un document autosuffisant.

Minifier met-il tout le document sur une seule ligne ?

Non. Le niveau supérieur reste en style bloc et chaque valeur sous une clé supérieure est écrite en forme flow compacte, comme items: [a, b] ou a: {b: [1, 2]}. Une liste de maps au niveau supérieur devient un map flow par ligne. Les longues lignes ne sont jamais coupées dans les deux modes.

Pourquoi une de mes clés est-elle passée en tête ?

Les clés de chaîne gardent leur ordre d’origine ; rien n’est trié en ordre alphabétique. L’exception est une clé qui ressemble à un entier, comme 123 : le document analysé est conservé dans un objet JavaScript, et les clés numériques sont toujours listées avant les autres, donc cette clé saute en tête.

À quoi ressemblent les messages d’erreur ?

Un problème de syntaxe produit un message d’erreur 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. 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, et ne rien coller affiche un message dédié d’entrée vide.

Articles Associés