Skip to Content

Qu’est-ce que YAML et prend-il en charge les chaînes multilignes ?

YAML est l’abréviation de « Yet Another Markup Language » ou de « YAML Ain’t Markup Language », ce dernier acronyme récursif étant utilisé pour mettre en avant le fait que le langage YAML s’adresse aux données, et non aux documents. YAML est un langage de sérialisation de données utilisé pour écrire des fichiers de configuration dans le cadre d’un déploiement d’infrastructures. Par exemple, si vous souhaitez déployer une application Docker dans Kubernetes, vous devrez utiliser un fichier YAML pour configurer votre instance. Le langage YAML est lisible par l’homme, ce qui permet de créer facilement un fichier et de lire ses instructions pendant les déploiements.

Si vous êtes novice, vous vous rendrez compte assez vite qu’il vous faudra un moyen de décomposer vos chaînes en plusieurs lignes. Cette question fait d’ailleurs partie des questions les plus fréquemment posées sur le Web au sujet du langage YAML. Cet article décrit les deux principales approches employées pour les chaînes multilignes dans YAML et répond à quelques questions fréquentes.

YAML et les espaces : ce que vous devez savoir

Les fichiers YAML utilisent des espaces et des retours chariot, mais le contenu est sérialisé dès qu’il est ingéré dans une ressource spécifique. Les développeurs qui créent un fichier YAML peuvent mettre du texte en forme en utilisant des alinéas et des espacements pour simplifier la lecture. YAML traite les espaces de la même manière que les autres langages ; vous pouvez donc en utiliser autant que nécessaire pour la mise en forme d’un fichier.

Comment créer des sauts de ligne pour des chaînes multilignes YAML

Lors de l’ingestion de fichiers YAML, il peut parfois être souhaitable de conserver les sauts de ligne dans une chaîne multiligne. Prenons par exemple le pseudocode suivant :

    key:

            item1

            item2

            item3

Tous les éléments de ligne (item1, item2 et item3 dans notre exemple) sont séparés par des retours chariot. Si vous laissez la syntaxe YAML telle quelle, vous obtenez la chaîne suivante :

item1 item2 item3

Ce format de chaîne créera une longue chaîne sans retour chariot. Il peut donc être souhaitable de conserver les sauts de ligne. Pour conserver les sauts de ligne, vous pouvez utiliser l’opérateur littéral « | » (barre verticale). Pour conserver les sauts de ligne, vous devez modifier la syntaxe YAML de la manière suivante :

    key: |

            item1

            item2

            item3

Notez la présence de la barre verticale après la directive « key ». Lorsque l’application ingère le fichier YAML, cette chaîne est convertie de la manière suivante :

item1\nitem2\nitem3

Le caractère « \n » représente une nouvelle ligne. Lorsque cette chaîne est présentée à une application, chaque élément est suivi d’un retour chariot pour conserver la mise en forme dans vos instructions YAML.

Blocs multilignes et chaînes longues dans YAML

Pour les chaînes longues, vous devez utiliser des blocs multilignes pour pouvoir lire un fichier YAML. Par exemple, si votre fichier YAML contient un paragraphe de 250 mots, vous devez décomposer les phrases en blocs multilignes. Il n’y a aucun intérêt à conserver les retours chariot, sauf à la fin d’un paragraphe. Vous pouvez mettre en forme un fichier YAML de manière à utiliser plusieurs lignes pour les chaînes longues, et sérialiser la chaîne pour ajouter des espaces à chaque élément en lieu et place d’un caractère de nouvelle ligne. 

Pour utiliser un espace plutôt que d’ajouter une nouvelle ligne, utilisez l’opérateur de comparaison « > » (supérieur à) :

    key: >

            item1

            item2

            item3

Avec l’opérateur de comparaison, YAML ajoute un espace au moment de la création de la chaîne. La chaîne prend alors le format suivant :

item1 item2 item3\n

Chaînes multilignes YAML : questions fréquentes

Comment insérer un saut de ligne dans YAML ?

L’opérateur littéral « | » permet de conserver tous les sauts de ligne dans une chaîne YAML. Pour créer un saut de ligne, vous pouvez utiliser la touche de retour chariot de la même façon que dans un document standard. L’exemple suivant conserve le retour chariot dans une chaîne YAML :

    key: |

            item1

            item2

            item3

Le langage YAML autorise-t-il les lignes vides ?

Oui, une chaîne représentée sous la forme d’un bloc de texte peut également contenir des lignes vides. L’opérateur de conservation (« |+ ») permet de conserver les lignes vides en même temps que le caractère de nouvelle ligne. La chaîne YAML suivante est un exemple de chaîne multiligne qui contient deux lignes vides à la fin du bloc :

    key: |+

            item1

            item2

            item3

À partir de cette syntaxe, un analyseur YAML affichera la ligne suivante :

item1\nitem2\nitem3\n\n

Les espaces ont-ils une importance dans YAML ?

Une tabulation est un caractère illégal dans le langage YAML ; vous ne devez donc utiliser les alinéas qu’avec un seul espace standard. Les tabulations peuvent être utilisées dans les chaînes entre guillemets, mais elles ne peuvent être employées dans la mise en forme d’un fichier YAML. Pour garantir la lisibilité des données, il est important de veiller à maintenir une cohérence entre les alinéas formés par des espaces.

Les espaces sont-ils autorisés dans YAML ?

Oui, vous pouvez utiliser des espaces classiques dans un fichier YAML. Les espaces doivent être utilisés pour les alinéas à la place des tabulations. Les tabulations peuvent générer des erreurs lors de l’analyse d’un fichier YAML.

CONTACTEZ-NOUS
Des questions, des commentaires ?

Vous avez des questions ou des commentaires concernant des produits ou certifications Pure ?  Nous sommes là pour vous aider.

Planifier une démo

Planifiez une démo en direct et découvrez comment Pure peut vous aider à transformer vos données. 

Tél. : +33 1 89 96 04 00

Services Médias : pr@purestorage.com

 

Pure Storage France

32 rue Guersant

75017 Paris

info@purestorage.com

 

FERMER
Votre navigateur n’est plus pris en charge !

Les anciens navigateurs présentent souvent des risques de sécurité. Pour profiter de la meilleure expérience possible sur notre site, passez à la dernière version de l’un des navigateurs suivants.