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.
{ "server": { "port": 8080 } }server:
port: 8080Quel 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.