Ce que fait le formateur YAML
Le YAML est le format des fichiers Docker Compose, des manifestes Kubernetes, des workflows GitHub Actions, des playbooks Ansible et de beaucoup de configurations d’applications. Sa structure vient de l’indentation, donc une seule espace mal placée peut changer le sens d’un fichier ou bloquer un déploiement. Ce formateur YAML réécrit votre YAML avec une indentation et des espacements cohérents, et le vérifie avec un analyseur strict pour que les problèmes apparaissent ici plutôt que dans votre pipeline.
Il propose deux actions :
- Formater normalise l’indentation, les espaces après les deux-points et les tirets, et les espaces à l’intérieur de
[ ]et{ }. - Valider analyse le fichier et signale la première erreur, ou un court résumé s’il est valide.
Mode d’emploi
- Collez du YAML dans la zone de gauche. Il est formaté dès le collage. Vous pouvez aussi utiliser Ouvrir un fichier pour les fichiers
.yamlet.yml, ou Exemple pour un exemple. - Choisissez une Indentation de 2 ou 4 espaces et une Largeur de ligne.
- Activez Guillemets simples si votre projet préfère
'texte'à"texte". - Appuyez sur Formater ou Valider. Ctrl+Entrée relance la dernière action.
- Appuyez sur Copier, ou sur Télécharger pour enregistrer un fichier
.yaml.
Avant et après
Un fichier Docker Compose aux espacements irréguliers et indenté sur 4 espaces :
version: "3.8"
services:
web:
image: "nginx:latest"
ports:
- "80:80"
environment:
- DEBUG=false
db:
image: postgres:16
Après Formater avec 2 espaces :
version: "3.8"
services:
web:
image: "nginx:latest"
ports:
- "80:80"
environment:
- DEBUG=false
db:
image: postgres:16
Les collections en ligne reçoivent un espacement régulier. tags: [ api, v2 ] et limits: {cpu: 1, memory: 512} deviennent :
tags: [api, v2]
limits: { cpu: 1, memory: 512 }
Les commentaires survivent. Les espaces en trop avant un commentaire de fin de ligne sont rangées, mais le commentaire reste sur sa ligne :
# Database settings
db:
host: localhost # local only
port: 5432
Avec Guillemets simples activé, name: "web" devient name: 'web'. Une chaîne qui contient une apostrophe, comme "it's here" ou "l'été", garde ses guillemets doubles pour éviter tout échappement.
Les erreurs repérées par le validateur
Les analyseurs YAML des différents outils ne sont pas tous aussi stricts. Celui-ci signale des problèmes que certains outils laissent passer. Voici de vrais messages de l’outil. Le texte vient de l’analyseur YAML et reste en anglais, seule la position est indiquée en français :
| Problème | Message |
|---|---|
| La même clé deux fois | Ligne 3, colonne 1 : Map keys must be unique |
| Une tabulation utilisée pour l’indentation | Ligne 2, colonne 1 : Tabs are not allowed as indentation |
| Une ligne indentée d’une espace de trop | Ligne 2, colonne 9 : Nested mappings are not allowed in compact mappings |
La vérification des clés en double compte le plus. Dans un fichier comme name: web, port: 80, name: api, beaucoup de chargeurs ne gardent que le dernier name sans prévenir. Appuyez sur Afficher dans l’entrée pour aller à la ligne.
Pour un fichier valide de deux documents séparés par ---, Valider indique : YAML valide. 2 documents.
Conseils et limites
- Le formateur ne réordonne pas les clés et ne modifie pas les valeurs.
yes,onet010sont laissés tels que vous les avez écrits. - Les longues chaînes ne sont pas recoupées. Les blocs repliés (
>) et littéraux (|) gardent leur contenu. - Les ancres et les alias (
&name,*name) sont gardés tels quels. - Les valeurs en français, accents compris, ne posent aucun problème dans un fichier UTF-8. Mettez entre guillemets celles qui contiennent « : » suivi d’une espace, comme
titre: "Note : à relire", sinon le YAML y voit une nouvelle clé. - Le YAML n’a pas de forme minifiée d’usage courant, donc il n’y a pas de bouton Minifier. Pour des données compactes, convertissez-les avec le convertisseur JSON en YAML dans le sens YAML vers JSON.
Autres façons de formater du YAML
VS Code. L’extension YAML de Red Hat ajoute la mise en forme et la vérification de schémas pour des fichiers comme les manifestes Kubernetes. Lancez Mettre en forme le document après l’avoir installée.
yq. La version Go de yq (de Mike Farah) lit et réécrit le YAML. yq '.' file.yaml réaffiche le fichier dans son propre style cohérent, et le même outil peut interroger et modifier des valeurs.
Prettier. Si votre projet utilise déjà Prettier, il formate les fichiers .yaml et .yml avec les mêmes règles que cette page.
yamllint. Un outil Python qui vérifie le style et la syntaxe sans réécrire le fichier, utile en intégration continue.
Outils associés
Pour transformer du JSON en YAML ou l’inverse, utilisez le convertisseur JSON en YAML. Pour les fichiers JSON, utilisez le formateur JSON. Pour les configurations XML comme les fichiers Maven ou Android, utilisez le formateur XML.