Guide de conversion de configuration YAML/JSON : Indispensable pour DevOps et le développement
YAML vs JSON : Pourquoi convertir ?
| Scénario | Format courant | Pourquoi |
|---|---|---|
| Docker Compose | YAML | Lisible, supporte les commentaires |
| Kubernetes | YAML | Recommandation officielle |
| GitHub Actions | YAML | Définitions de workflows |
| Requête/réponse API | JSON | Analyse automatique |
| package.json | JSON | Standard Node.js |
| tsconfig.json | JSON | Standard TypeScript |
| Cargo.toml | TOML | Standard Rust |
Les développeurs ont souvent besoin de convertir entre YAML (fichiers de configuration) et JSON (API/programmes).
Conversion avec ToolsKu
YAML ↔ JSON
- Ouvrez YAML ↔ JSON
- Collez du YAML ou du JSON
- Conversion et formatage automatiques
- Copiez le résultat
TOML ↔ JSON
- Ouvrez TOML ↔ JSON
- Collez du TOML ou du JSON
- Conversion automatique
Différences de syntaxe
Fonctionnalités YAML (absentes de JSON)
# Commentaires — non supportés en JSON
name: toolsku
version: 1.0
port: 3000 # Les nombres ne nécessitent pas de guillemets
tags: # Tableaux
- pdf
- image
database:
host: localhost # Objets imbriqués
port: 5432
enabled: true # Booléens
empty: null # Null
multiline: | # Chaînes multilignes
Line one
Line two
JSON équivalent :
{
"name": "toolsku",
"version": "1.0",
"port": 3000,
"tags": ["pdf", "image"],
"database": { "host": "localhost", "port": 5432 },
"enabled": true,
"empty": null,
"multiline": "Line one\nLine two"
}
Pièges courants
1. Coercition de type implicite en YAML
# ⚠️ Danger : YAML 1.1 peut interpréter ces valeurs comme booléen/null
country: NO # → false (code pays Norvège mal interprété !)
version: 1.0 # → 1.0 (flottant)
date: 2024-01-01 # → peut être analysé comme date
Correction : Mettez entre guillemets les valeurs pouvant être mal interprétées : "NO", "1.0".
2. L'indentation doit utiliser des espaces
# ❌ Mélange de tabulations et d'espaces
name: test
tags: [a, b] # Indentation par tab → erreur d'analyse
# ✅ Indentation cohérente de 2 espaces
name: test
tags: [a, b]
3. JSON ne supporte pas les commentaires
// ❌ Les commentaires sont invalides en JSON
{ "name": "test" /* comment */ }
Utilisez YAML quand vous avez besoin de commentaires, ou le Formateur JSON en mode JSON5.
Scénarios concrets
Docker Compose → JSON (pour consommation programmatique)
# docker-compose.yml
services:
web:
image: nginx:latest
ports: ["8080:80"]
→ Convertir en JSON pour qu'une application Node.js analyse la configuration
Débogage YAML Kubernetes
# Convertir le YAML K8s en JSON, puis interroger avec jq
kubectl get pod my-pod -o json | jq '.status.phase'
Vous pouvez aussi extraire des champs directement avec l'outil JSONPath.
Validation de configuration CI/CD
Après avoir converti le YAML en JSON, utilisez le Formateur JSON pour valider la syntaxe.
Résumé
La conversion YAML/JSON/TOML est une tâche quotidienne pour DevOps et le développement full-stack. ToolsKu fournit les outils YAML↔JSON, TOML↔JSON et Formateur JSON — le tout localement dans le navigateur, conversion instantanée, gratuits.