Aide-mémoire Développement

Fiche pratique de la syntaxe YAML

Aide-mémoire YAML : scalaires, chaînes, listes, mappages, texte multiligne, ancres, documents multiples et valeurs qui s'interprètent autrement que prévu.

Dernière vérification :

AdSense Placeholder
Slot: header_reference_page
Sur cette page

YAML est un format de données fondé sur l'indentation qui exprime les mêmes structures que JSON. Les espaces marquent l'imbrication (jamais de tabulations), # ouvre un commentaire et tout document JSON est aussi du YAML valide. Contrôlez n'importe quel fichier avec le validateur YAML et convertissez avec le convertisseur YAML vers JSON ou le convertisseur JSON vers YAML. Les résultats ci-dessous ont été obtenus en passant les extraits dans un analyseur YAML 1.1.

Scalaires

Les chaînes n'ont besoin de guillemets que si elles seraient sinon lues comme un autre type ou contiennent des caractères spéciaux comme : ou #.

Texte YAML Interprété comme
42 42
3.14 3.14
true true
null null
~ null
"42" "42"
2026-10-27 date 2026-10-27
0o14 "0o14"

Listes et mappages

Les listes utilisent - par élément (style bloc) ou [a, b] (style flux). Les mappages utilisent clé: valeur ou {k: v}. Indentez avec des espaces et gardez une largeur constante.

fruits:
  - apple
  - banana
  - cherry
short: [1, 2, 3]
server:
  host: localhost
  port: 8080
  tags: {env: dev, debug: true}

Parsed: {"fruits": ["apple", "banana", "cherry"], "short": [1, 2, 3]} and {"server": {"host": "localhost", "port": 8080, "tags": {"env": "dev", "debug": true}}}.

Chaînes multilignes

| conserve les sauts de ligne tels qu'écrits ; > les replie en espaces. Le saut de ligne final est conservé par défaut.

literal: |
  line one
  line two
folded: >
  line one
  line two

Parsed: {"literal": "line one\nline two\n", "folded": "line one line two\n"}.

Ancres, alias et fusion

&nom définit une ancre, *nom la réutilise et <<: *nom fusionne un mappage dans un autre. La clé de fusion est prise en charge par beaucoup d'analyseurs, mais pas tous.

base: &base
  retries: 3
  timeout: 30
prod:
  <<: *base
  timeout: 60

Parsed: {"base": {"retries": 3, "timeout": 30}, "prod": {"retries": 3, "timeout": 60}}.

Documents multiples et commentaires

Séparez les documents d'un même fichier par --- ; terminez par ... si besoin. Les commentaires commencent par # et vont jusqu'à la fin de la ligne.

---
name: one
---
name: two

Pièges

Les différentes versions de YAML lisent certaines valeurs simples différemment. YAML 1.1 traite yes, no, on et off comme des booléens et un zéro initial comme de l'octal ; YAML 1.2 non. Mettez entre guillemets toute valeur qui doit rester une chaîne.

Valeur Interprétée par un analyseur YAML 1.1
no false
yes true
on true
NO false
off false
010 8
1_000 1000
1e3 "1e3"
0x1F 31
"no" "no"

Essayez ces outils

Voir aussi

  • Comparatif JSON, YAML ou XML
    JSON pour les API et l'échange de données, YAML pour la configuration écrite à la main, XML pour les documents et les normes à schémas.
  • Guide Comment fonctionne JSON
    Les six types de valeur JSON, pourquoi l'analyse échoue, pièges des grands entiers et de l'ordre des clés.
  • Glossaire YAML
    Le YAML est un format de données lisible par les humains qui utilise l'indentation plutôt que des accolades.
  • Glossaire JSON
    Le JSON (JavaScript Object Notation) est un format texte léger pour données structurées : objets, tableaux, chaînes, nombres, true.
AdSense Placeholder
Slot: footer_leaderboard