RUNWEBTOOLS
Français
Formats de données & encodage

YAML expliqué + JSON vs. YAML

Mis à jour 2026-07-06

Si vous avez déjà édité un fichier de configuration d'un outil moderne — Docker Compose, GitHub Actions, Kubernetes — vous avez écrit du YAML. Il est conçu pour être le format de données le plus lisible par l'humain, mais cette lisibilité s'accompagne de quelques arêtes vives. Ce guide explique comment YAML fonctionne, les pièges à surveiller et comment il se compare à JSON.

Ce qu'est YAML

YAML (« YAML Ain’t Markup Language ») est un format de données pour représenter les mêmes choses que JSON — paires clé/valeur, listes et structures imbriquées — mais avec une syntaxe pensée pour que les gens la lisent et l'écrivent à la main. C'est le choix de référence pour les fichiers de configuration justement parce qu'il est facile à parcourir.

name: RunWebTools
active: true
tags:
  - json
  - free
address:
  city: London
  postcode: null

Comment la syntaxe fonctionne

Trois idées couvrent l'essentiel de YAML :

  • L'indentation montre la structure. L'imbrication s'exprime avec des espaces, pas des accolades. Les éléments au même niveau d'indentation sont des frères.
  • Les paires clé/valeur utilisent key: value (l'espace après les deux-points est obligatoire).
  • Les listes utilisent un - en tête de chaque élément.

Les pièges

Des espaces, jamais de tabulations

YAML interdit les caractères de tabulation pour l'indentation — ils provoquent une erreur d'analyse. Configurez votre éditeur pour insérer des espaces, car les deux paraissent identiques à l'écran mais un seul est valide.

Le « problème norvégien »

YAML tente de deviner les types, ce qui se retourne parfois contre lui. Sans guillemets, no, yes, on et off deviennent des booléens — c'est bien connu, le code pays NO de la Norvège peut se transformer en false. Quand vous voulez une chaîne littérale, mettez-la entre guillemets : "NO".

Les erreurs d'indentation sont silencieuses

Parce que l'espace blanc porte du sens, une seule ligne mal alignée peut changer la structure sans aucune erreur — le fichier est simplement analysé en quelque chose que vous ne vouliez pas. Le passer dans un validateur YAML qui réémet le résultat analysé est le moyen le plus rapide de voir ce que YAML a réellement compris.

YAML vs. JSON

Ils peuvent représenter les mêmes données — en fait, tout JSON valide est aussi du YAML valide. Les compromis :

  • Lisibilité : YAML l'emporte pour les humains — pas d'accolades ni de guillemets, et il gère les commentaires (#), ce que JSON ne fait pas.
  • Rigueur : JSON l'emporte pour les machines — sa syntaxe rigide laisse peu de place à la devinette de types et aux surprises d'indentation que YAML autorise.
  • Cas d'usage : optez pour YAML pour les fichiers que les gens éditent (configuration) et pour JSON pour les données que les programmes échangent (API).

Besoin de passer de l'un à l'autre ? Formatez et vérifiez l'un ou l'autre avec le formateur YAML et le formateur JSON. Si YAML vous paraît capricieux, notre guide sur JSON et ses erreurs courantes fait une bonne lecture d'accompagnement.

Plus sur Formats de données & encodage

Voir tous les guides Formats de données & encodage →

Outils mentionnés dans ce guide