Aller au contenu
Case Converter Online
fr

Formateur et validateur YAML

Collez du YAML pour corriger son indentation et ses espacements, ou vérifiez-le avant un déploiement. Les commentaires sont conservés et les problèmes signalés avec la ligne et la colonne.

Collez du YAML ou appuyez sur Exemple. Appuyez sur Ctrl et Entrée pour formater. Tout se passe dans votre navigateur.

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

  1. 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 .yaml et .yml, ou Exemple pour un exemple.
  2. Choisissez une Indentation de 2 ou 4 espaces et une Largeur de ligne.
  3. Activez Guillemets simples si votre projet préfère 'texte' à "texte".
  4. Appuyez sur Formater ou Valider. Ctrl+Entrée relance la dernière action.
  5. 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, on et 010 sont 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.

Formateur YAML : questions fréquentes

Pourquoi ne peut-on pas indenter le YAML avec des tabulations ?

La spécification YAML n'autorise pas les tabulations pour l'indentation, seulement les espaces. C'est pourquoi le menu Indentation propose 2 ou 4 espaces sans option tabulations, et pourquoi le validateur signale les tabulations comme une erreur.

Mes commentaires sont-ils conservés ?

Oui. Les commentaires restent à leur place. Le formateur ne change que les espaces, l'indentation et la disposition des lignes. Les clés et les valeurs gardent leur ordre.

Le formateur repère-t-il les clés en double ?

Oui. Si la même clé apparaît deux fois dans un même mapping, vous obtenez une erreur comme Map keys must be unique, avec la ligne de la seconde clé. Beaucoup d'outils YAML ne gardent en silence que la dernière valeur, ce qui peut cacher une erreur.

Peut-il gérer des fichiers avec plusieurs documents ?

Oui. Les documents séparés par --- sont formatés ensemble, et Valider vous indique combien de documents il a trouvés.

Est-ce sûr pour des secrets Kubernetes ou des fichiers de CI ?

Le YAML est traité dans votre navigateur et n'est pas envoyé. Évitez tout de même de coller des secrets actifs dans une page web si la politique de votre entreprise l'interdit.

Plus d'outils code et données

Voir tous les outils