Ce que fait cet outil
Le document devient un dictionnaire YAML, de la même forme que celle produite par XML vers JSON : les attributs en clés préfixées @_, le texte sous #text quand un élément porte les deux, une séquence quand un élément se répète.
<user id="1"><name>Ada</name></user>
user:
name: Ada
"@_id": "1"
Pourquoi ces clés sont citées
Deux des caractères que produit cette correspondance sont réservés en YAML.
@ ne peut pas commencer un scalaire nu — la spécification le réserve — donc @_id doit être cité. # ouvre un commentaire : #text écrit nu ferait disparaître la fin de la ligne. Les guillemets ne sont pas un ornement, c’est la seule façon de les écrire.
Pourquoi certaines valeurs le sont aussi
YAML a deux versions largement utilisées, et elles ne s’accordent pas sur le sens d’un mot nu.
| écrit nu | YAML 1.2 lit | YAML 1.1 lit |
|---|---|---|
NO | la chaîne NO | faux |
yes | la chaîne yes | vrai |
12:30 | la chaîne 12:30 | 750 (sexagésimal) |
2026-01-01 | la chaîne | un horodatage |
YAML 1.2 est ce qu’écrivent la plupart des bibliothèques JavaScript. YAML 1.1 est ce qu’implémente PyYAML, et PyYAML est ce avec quoi une très large part du monde lit effectivement du YAML.
Un code pays NO écrit nu devient donc False en Python. C’est le « problème norvégien », et rien dans le fichier ne le signale : le document reste valide dans les deux cas, il cesse simplement de vouloir dire la même chose.
Cet outil met des guillemets exactement autour de ces scalaires ambigus, et autour d’eux seuls. Un vrai booléen reste true, un vrai null reste null, un mot ordinaire reste nu. La sortie est du YAML 1.2 valide, et les deux lecteurs y retrouvent les mêmes valeurs.
Le texte multiligne
Un texte contenant des sauts de ligne devient un scalaire de bloc :
a: |-
première ligne
seconde ligne
C’est la forme lisible que YAML prévoit exactement pour cela, et elle fait l’aller-retour sans échappement.
Confidentiel par conception
Tout s’exécute localement dans votre navigateur en JavaScript. Vos données ne sont jamais envoyées sur un serveur, ce qui rend l’outil sûr pour des contenus sensibles, et il fonctionne hors ligne.