00

En bref

  • YAML est un langage de sérialisation de données fondé sur Unicode qui représente des configurations et des données d’échange sous forme de texte lisible, mais son chargement exige un processeur compatible avec sa version et ses balises.
  • Sur Windows ou Mac, ouvrez le fichier .yaml ou .yml dans un éditeur de texte. Sur téléphone, utilisez un éditeur capable d’accéder au fichier. Lire le texte ne nécessite pas de le désérialiser. Pour le charger comme données d’un programme, utilisez un processeur compatible avec sa version de YAML et ses balises. En cas d’échec, vérifiez l’indentation et la syntaxe. Un flux YAML peut contenir plusieurs documents ; une application qui n’en accepte qu’un doit refuser les documents supplémentaires.
  • Le risque élevé concerne l’analyse non sécurisée. Le traitement des balises peut entraîner une exécution de code involontaire ; les désérialiseurs doivent la désactiver par défaut et utiliser un chargement sûr. Les références cycliques et le développement des alias peuvent provoquer des boucles infinies ou une croissance exponentielle des données. Validez les entrées et limitez la profondeur de récursion des ancres. Un texte lisible ou un chargement réussi ne prouve pas la sécurité du fichier.
01

Fichiers YAML : ouverture, compatibilité et lecture sûre

YAML signifie « YAML Ain’t Markup Language ». Ses structures de base sont les associations, les séquences et les scalaires. L’indentation peut exprimer une hiérarchie, les deux-points séparent les clés des valeurs et les tirets introduisent les éléments de liste. YAML prend aussi en charge les balises de type, les ancres et les alias. Son type de média enregistré est application/yaml ; .yaml est l’extension préférée et .yml est également reconnue. Aucun nombre magique fixe n’est enregistré.

Gardez l’original

La conversion de YAML en JSON n’est pas nécessairement sans perte. Les commentaires, les directives et la représentation par alias peuvent disparaître. Les clés qui ne sont pas des chaînes, les références cycliques et les types absents de JSON nécessitent un traitement supplémentaire. Vérifiez que le résultat conserve les données nécessaires.

02

Comment l’ouvrir

Sur Windows ou Mac, ouvrez le fichier .yaml ou .yml dans un éditeur de texte. Sur téléphone, utilisez un éditeur capable d’accéder au fichier. Lire le texte ne nécessite pas de le désérialiser. Pour le charger comme données d’un programme, utilisez un processeur compatible avec sa version de YAML et ses balises. En cas d’échec, vérifiez l’indentation et la syntaxe. Un flux YAML peut contenir plusieurs documents ; une application qui n’en accepte qu’un doit refuser les documents supplémentaires.

Je veux seulement le consulter

Sur Windows ou Mac, ouvrez le fichier .yaml ou .yml dans un éditeur de texte. Sur téléphone, utilisez un éditeur capable d’accéder au fichier. Lire le texte ne nécessite pas de le désérialiser. Pour le charger comme données d’un programme, utilisez un processeur compatible avec sa version de YAML et ses balises. En cas d’échec, vérifiez l’indentation et la syntaxe. Un flux YAML peut contenir plusieurs documents ; une application qui n’en accepte qu’un doit refuser les documents supplémentaires.

Je dois l’envoyer

La conversion de YAML en JSON n’est pas nécessairement sans perte. Les commentaires, les directives et la représentation par alias peuvent disparaître. Les clés qui ne sont pas des chaînes, les références cycliques et les types absents de JSON nécessitent un traitement supplémentaire. Vérifiez que le résultat conserve les données nécessaires.

03

Sécurité

Le risque élevé concerne l’analyse non sécurisée. Le traitement des balises peut entraîner une exécution de code involontaire ; les désérialiseurs doivent la désactiver par défaut et utiliser un chargement sûr. Les références cycliques et le développement des alias peuvent provoquer des boucles infinies ou une croissance exponentielle des données. Validez les entrées et limitez la profondeur de récursion des ancres. Un texte lisible ou un chargement réussi ne prouve pas la sécurité du fichier.

Arrêtez-vous si vous voyez ceci

Expéditeur inconnu, nom qui se termine par deux extensions, contenu qui ne correspond pas à l’extension : vérifiez avant d’ouvrir.

04

La conversion

La conversion de YAML en JSON n’est pas nécessairement sans perte. Les commentaires, les directives et la représentation par alias peuvent disparaître. Les clés qui ne sont pas des chaînes, les références cycliques et les types absents de JSON nécessitent un traitement supplémentaire. Vérifiez que le résultat conserve les données nécessaires.

Avant de convertir

Convertissez une copie, jamais l’original, puis comparez qualité, métadonnées et mise en page avec le fichier de départ.

05

Questions fréquentes

Qu’est-ce qu’un fichier YAML et à quoi sert-il ?

YAML est un langage de sérialisation de données lisible par les humains et utilisable entre langages de programmation. Il sert couramment aux fichiers de configuration et aux échanges de données, avec des associations, des séquences et des scalaires.

Comment ouvrir un fichier YAML sur Windows ?

Ouvrez le fichier .yaml ou .yml dans un éditeur de texte pour le lire. Pour charger son contenu comme données, le processeur YAML de l’application doit prendre en charge sa version et ses balises.

Comment ouvrir un fichier YAML sur Mac ?

Utilisez un éditeur de texte pour ouvrir le fichier .yaml ou .yml et examiner son contenu. Son chargement comme données nécessite en plus un processeur YAML compatible.

Comment ouvrir un fichier YAML sur téléphone ?

Utilisez un éditeur de texte capable d’accéder au fichier sur le téléphone. YAML est du texte brut que l’éditeur peut afficher ; son chargement comme données nécessite un processeur YAML compatible.

Comment vérifier l’indentation et la syntaxe YAML si le fichier ne se charge pas ?

Vérifiez l’indentation, les séparateurs entre clés et valeurs et les marqueurs de liste avec un processeur compatible. La résolution, la reconnaissance ou la construction des balises peuvent aussi échouer. Une application limitée à un document doit refuser les suivants.

Quelles sont les différences entre les extensions YAML et YML ?

Les deux extensions sont reconnues pour YAML. Le RFC 9512 préfère .yaml et reconnaît aussi .yml. Choisir une extension ne résout pas les incompatibilités de version ou de balises.

Quelles pertes la conversion de YAML en JSON peut-elle entraîner ?

Les commentaires, les directives et la représentation par alias peuvent disparaître. Les clés autres que des chaînes, les références cycliques et les types absents de JSON nécessitent un traitement supplémentaire. La conversion n’est donc pas forcément sans perte.

Comment analyser un fichier YAML non fiable en sécurité ?

Utilisez un chargement sûr avec l’exécution de code désactivée par défaut. Validez les entrées et limitez la profondeur de récursion des ancres. Les balises, les références cycliques et le développement des alias présentent des risques ; ces mesures ne garantissent pas une sécurité absolue.

Quelles différences des booléens entre YAML 1.1 et 1.2 affectent la compatibilité ?

L’interprétation implicite des booléens peut varier selon la version. Pour réduire les incompatibilités, utilisez true ou false dans les formes de casse autorisées par le schéma de base de YAML 1.2 et vérifiez la version du processeur destinataire.

Comment fonctionnent les ancres et les alias YAML et quelles limites faut-il appliquer ?

Une ancre identifie un nœud et un alias renvoie à un nœud portant une ancre. Les références cycliques ou le développement des alias peuvent entraîner des boucles infinies ou une croissance exponentielle. Les processeurs doivent valider les entrées et limiter la profondeur de récursion des ancres.

06

Formats associés

Sources

YAML Ain’t Markup Language (YAML) Version 1.2, Revision 1.2.2 · YAML 官方规范 / YAML Language Development Team

RFC 9512: YAML Media Type · IETF / RFC Editor