YAML et JSON : quel format de config choisir et comment convertir

2025-05-20

YAML 1.2 vise la compatibilite JSON : un JSON valide devrait etre parse en YAML. Les equipes ops preferent souvent YAML ; les applications preferrent JSON. Il faut connaitre les pieges de conversion.

Differences essentielles

JSON : pas de commentaires, cles entre guillemets doubles, forme canonique unique. YAML : indentation, commentaires #, scalaires plus souples.

JSON
{ "server": { "port": 8080 } }
YAML
server:
  port: 8080

Quel format pour la config ?

Configuration ops editee a la main (K8s, Docker, CI) -> YAML. Manifests generes et echanges applicatifs -> JSON.

Pieges de conversion

yes/no interpretes en booleens, versions lues comme nombres, ancres absentes en JSON et tabulations interdites en YAML.

Conversion en CLI

yq, js-yaml, PyYAML : executez toujours JSON.parse apres conversion pour detecter les changements de type silencieux.

Conseils Kubernetes pratiques

Conservez YAML dans le repo ; convertissez en CI si un consommateur n'accepte que JSON. N'ecrivez pas de gros manifests JSON a la main.

Resume

Humains -> YAML ; machines -> JSON. Figez les versions d'outils et validez apres chaque transformation.