Pourquoi je convertis mes configs JSON en YAML
YAML (Yet Another Markup Language, ou « YAML Ain't Markup Language ») est devenu le format de prédilection pour les fichiers de configuration dans l'écosystème DevOps et cloud-native. Quand je travaille avec Kubernetes, Docker Compose, GitHub Actions ou Ansible, je manipule quotidiennement du YAML. Sa force ? Une syntaxe épurée qui utilise l'indentation au lieu des accolades, élimine les guillemets superflus, et supporte les commentaires — tout ce que JSON ne fait pas. Cet outil me permet de transformer rapidement des structures JSON (souvent générées par des APIs ou des scripts) en YAML lisible et maintenable.
JSON vs YAML : comprendre les différences
📚 Lisibilité humaine
YAML utilise l'indentation significative au lieu des accolades et crochets. La structure hiérarchique est visible immédiatement, sans « bruit » syntaxique. Idéal pour les fichiers que les humains éditent fréquemment.
📝 Commentaires natifs
YAML supporte les commentaires avec #. JSON ne les supporte pas du tout. Pour documenter vos configurations, expliquer des valeurs ou désactiver temporairement des options, YAML est indispensable.
🎨 Types implicites
YAML détecte automatiquement les types : nombres, booléens (yes/no, true/false, on/off), dates, null. JSON requiert une syntaxe explicite pour chaque type.
📄 Multi-documents
Un fichier YAML peut contenir plusieurs documents séparés par ---. Très utile pour Kubernetes où un fichier peut définir plusieurs ressources. JSON : strictement un seul document par fichier.
Comment utiliser cet outil
- Collez votre JSON — Dans le panneau de gauche, formaté ou minifié
- La conversion est automatique — Le YAML apparaît en temps réel pendant la saisie
- Ajustez les options — Indentation (2-8 espaces), tri des clés, format des tableaux
- Exportez le résultat — Copiez ou téléchargez le fichier .yaml
Écosystème YAML : où ce format règne
- Kubernetes — Deployments, Services, ConfigMaps, Secrets, Ingress... tout l'écosystème K8s est en YAML
- Docker Compose — Définition de stacks multi-conteneurs, réseaux, volumes
- CI/CD — GitHub Actions (.github/workflows), GitLab CI (.gitlab-ci.yml), CircleCI, Azure Pipelines
- Infrastructure as Code — Ansible playbooks, CloudFormation templates, Terraform (HCL mais souvent converti)
- Configuration applicative — Spring Boot (application.yml), Ruby on Rails, Hugo, Jekyll
- OpenAPI/Swagger — Spécifications d'API souvent écrites en YAML pour la lisibilité
Options de conversion expliquées
Indentation : 2 espaces est la convention standard dans Kubernetes et la plupart des outils. 4 espaces améliore la lisibilité pour les structures très imbriquées. Trier les clés : utile pour les diffs Git et la cohérence. Tableaux compacts : affiche [a, b] sur une ligne au lieu de tirets sur plusieurs lignes. Forcer les guillemets : évite les pièges d'interprétation automatique (ex: « no » interprété comme false).