{"id":690,"date":"2024-07-22T20:37:57","date_gmt":"2024-07-22T20:37:57","guid":{"rendered":"https:\/\/dockerpros.com\/?post_type=glossary&#038;p=690"},"modified":"2024-07-22T20:55:11","modified_gmt":"2024-07-22T20:55:11","slug":"yaml","status":"publish","type":"glossary","link":"https:\/\/dockerpros.com\/fr\/wiki\/yaml\/","title":{"rendered":"YAML"},"content":{"rendered":"<h1>Comprendre YAML : Une plong\u00e9e approfondie dans un format de s\u00e9rialisation de donn\u00e9es\n\nYAML, acronyme de \"YAML Ain't Markup Language\", est un format de s\u00e9rialisation de donn\u00e9es largement utilis\u00e9 dans le monde de la programmation et de l'administration syst\u00e8me. Sa syntaxe simple et lisible par les humains en fait un choix populaire pour la configuration de logiciels, la gestion de donn\u00e9es et l'\u00e9change d'informations entre diff\u00e9rents syst\u00e8mes.\n\nDans cet article, nous explorerons en d\u00e9tail les caract\u00e9ristiques, les avantages et les cas d'utilisation de YAML, ainsi que quelques exemples pratiques pour illustrer son utilisation.\n\n1. Qu'est-ce que YAML ?\n\nYAML est un format de s\u00e9rialisation de donn\u00e9es qui permet de repr\u00e9senter des structures de donn\u00e9es complexes de mani\u00e8re lisible et concise. Il a \u00e9t\u00e9 con\u00e7u pour \u00eatre facile \u00e0 lire et \u00e0 \u00e9crire par les humains, tout en \u00e9tant facile \u00e0 analyser et \u00e0 g\u00e9n\u00e9rer par les machines.\n\n2. Caract\u00e9ristiques de YAML\n\n- Syntaxe simple et lisible : YAML utilise des espaces blancs et des tirets pour structurer les donn\u00e9es, ce qui le rend facile \u00e0 lire et \u00e0 comprendre.\n- Support des types de donn\u00e9es : YAML peut repr\u00e9senter des types de donn\u00e9es tels que des cha\u00eenes de caract\u00e8res, des nombres, des bool\u00e9ens, des listes et des dictionnaires.\n- Commentaires : YAML permet d'ajouter des commentaires en utilisant le symbole \"#\".\n- R\u00e9f\u00e9rences : YAML prend en charge les r\u00e9f\u00e9rences, ce qui permet de r\u00e9utiliser des donn\u00e9es dans diff\u00e9rentes parties du document.\n\n3. Avantages de YAML\n\n- Lisibilit\u00e9 : La syntaxe simple de YAML le rend facile \u00e0 lire et \u00e0 comprendre, m\u00eame pour les non-programmeurs.\n- Flexibilit\u00e9 : YAML peut repr\u00e9senter une grande vari\u00e9t\u00e9 de structures de donn\u00e9es, ce qui le rend adapt\u00e9 \u00e0 de nombreuses applications.\n- Compatibilit\u00e9 : YAML est compatible avec de nombreux langages de programmation et outils, ce qui facilite son int\u00e9gration dans diff\u00e9rents syst\u00e8mes.\n\n4. Cas d'utilisation de YAML\n\n- Configuration de logiciels : YAML est souvent utilis\u00e9 pour configurer des applications et des services, tels que des serveurs web, des bases de donn\u00e9es et des conteneurs.\n- Gestion de donn\u00e9es : YAML peut \u00eatre utilis\u00e9 pour stocker et \u00e9changer des donn\u00e9es structur\u00e9es, telles que des listes de t\u00e2ches, des profils d'utilisateurs et des param\u00e8tres de syst\u00e8me.\n- Automatisation : YAML est couramment utilis\u00e9 dans les outils d'automatisation, tels que les scripts d'orchestration et les fichiers de d\u00e9ploiement.\n\n5. Exemples pratiques\n\nVoici quelques exemples de fichiers YAML pour illustrer son utilisation :\n\nExemple 1 : Configuration d'un serveur web\n\n```yaml\nserver:\n  host: \"localhost\"\n  port: 8080\n  ssl: true\n  document_root: \"\/var\/www\/html\"\n```\n\nExemple 2 : Liste de t\u00e2ches\n\n```yaml\ntasks:\n  - name: \"Task 1\"\n    description: \"Description of task 1\"\n    due_date: \"2023-12-31\"\n  - name: \"Task 2\"\n    description: \"Description of task 2\"\n    due_date: \"2024-01-15\"\n```\n\nExemple 3 : Profil d'utilisateur\n\n```yaml\nuser:\n  name: \"John Doe\"\n  email: \"john.doe@example.com\"\n  age: 30\n  preferences:\n    theme: \"dark\"\n    notifications: true\n```\n\nEn conclusion, YAML est un format de s\u00e9rialisation de donn\u00e9es puissant et polyvalent qui offre de nombreux avantages en termes de lisibilit\u00e9, de flexibilit\u00e9 et de compatibilit\u00e9. Que vous soyez un d\u00e9veloppeur, un administrateur syst\u00e8me ou un utilisateur final, YAML peut vous aider \u00e0 simplifier la gestion de vos donn\u00e9es et \u00e0 am\u00e9liorer l'efficacit\u00e9 de vos processus.<\/h1>\n<p>YAML (YAML Ain\u2019t Markup Language) is a human-readable data serialization format that is commonly used for configuration files, data exchange between languages with different data structures, and more. It emphasizes simplicity and clarity, making it an ideal choice for developers and system administrators alike. While YAML can be used for various purposes, its synergy with tools like Docker, <span class=\"glossaryai-tooltip glossary-term-656\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/kubernetes\/\" target=\"_blank\">Kubernetes<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Kubernetes is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications, enhancing resource efficiency and resilience.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/kubernetes\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>, and Ansible makes it particularly significant in the realm of DevOps and cloud-native applications.<\/p>\n<h2>L'Origine et l'\u00c9volution de YAML<\/h2>\n<p>YAML was created in 2001 by Clark Evans, with the aim of providing a more readable alternative to XML and JSON. The design principles behind YAML emphasize readability, simplicity, and data integrity. Over time, YAML has evolved through several versions, with YAML 1.2 being the most recent version, which refined the syntax and addressed some of the limitations of previous iterations.<\/p>\n<h3>Caract\u00e9ristiques principales de YAML<\/h3>\n<ol>\n<li><strong>Lisible par l'homme<\/strong>: La syntaxe est con\u00e7ue pour \u00eatre facilement lisible et modifiable par les humains, ce qui simplifie le d\u00e9bogage et la configuration.<\/li>\n<li><strong>Structures de donn\u00e9es<\/strong>YAML prend en charge nativement des structures de donn\u00e9es complexes telles que des scalaires, des s\u00e9quences et des mappings, permettant une repr\u00e9sentation de donn\u00e9es imbriqu\u00e9e.<\/li>\n<li><strong>Commentaires<\/strong>: YAML allows comments, making it easier to document configurations inline.<\/li>\n<li><strong>Flexibilit\u00e9 du format<\/strong>Il prend en charge plusieurs styles pour repr\u00e9senter les donn\u00e9es, notamment le style bloc et le style flux.<\/li>\n<li><strong>Cross-Language Compatibility<\/strong>: De nombreux langages de programmation fournissent des biblioth\u00e8ques pour analyser et g\u00e9n\u00e9rer du YAML, facilitant ainsi son utilisation dans diff\u00e9rents environnements.<\/li>\n<\/ol>\n<h2>Syntaxe de base et structures de donn\u00e9es<\/h2>\n<p>Pour comprendre YAML, il est crucial de se familiariser avec sa syntaxe de base et ses structures de donn\u00e9es. Voici quelques-uns des composants essentiels :<\/p>\n<h3>Scalaires<\/h3>\n<p>Scalars represent single values in YAML. These can be strings, numbers, booleans, or null values.<\/p>\n<pre><code class=\"language-yaml\">string: \"Hello, World!\"\nnumber: 42\nboolean: true\nnull_value: null<\/code><\/pre>\n<h3>S\u00e9quences<\/h3>\n<p>Sequences (or arrays) are represented as a list. Each item in a sequence is preceded by a dash.<\/p>\n<pre><code class=\"language-yaml\">fruits:\n  - pomme\n  - banane\n  - cerise<\/code><\/pre>\n<h3>Mappings<\/h3>\n<p>Les mappages (ou dictionnaires) repr\u00e9sentent des paires cl\u00e9-valeur. Ils sont d\u00e9finis en utilisant un deux-points suivi d'un espace.<\/p>\n<pre><code class=\"language-yaml\">person:\n  name: John Doe\n  age: 30\n  city: New York<\/code><\/pre>\n<h3>Structures imbriqu\u00e9es<\/h3>\n<p>YAML prend en charge la imbrication de s\u00e9quences et de mappages, vous permettant de cr\u00e9er des structures de donn\u00e9es complexes.<\/p>\n<pre><code class=\"language-yaml\">employees:\n  - name: Alice\n    position: Developer\n    skills:\n      - Python\n      - Docker\n  - name: Bob\n    position: Designer\n    skills:\n      - Figma\n      - Photoshop<\/code><\/pre>\n<h3>Multi-document YAML<\/h3>\n<p>YAML prend \u00e9galement en charge plusieurs documents au sein d'un seul fichier, s\u00e9par\u00e9s par <code>---<\/code>.<\/p>\n<pre><code class=\"language-yaml\">- first_document: true\n- second_document: true\n---\n- third_document: true<\/code><\/pre>\n<h2>Advanced Features of YAML<\/h2>\n<p>Au-del\u00e0 de la syntaxe de base, YAML offre plusieurs fonctionnalit\u00e9s et constructions avanc\u00e9es qui peuvent am\u00e9liorer son utilisation dans des sc\u00e9narios plus complexes.<\/p>\n<h3>Ancres et alias<\/h3>\n<p>Anchors (<code>&amp;<\/code>) and aliases (<code>*<\/code>) vous permettent de r\u00e9utiliser des donn\u00e9es tout au long du document, ce qui peut \u00eatre particuli\u00e8rement utile pour les grandes configurations.<\/p>\n<pre><code class=\"language-yaml\">d\u00e9faut: &amp;d\u00e9faut\n  adapter: postgresql\n  host: localhost\n\ndevelopment:\n  &lt;&lt;: *d\u00e9faut\n  database: dev_db\n\nproduction:\n  &lt;&lt;: *d\u00e9faut\n  database: prod_db<\/code><\/pre>\n<h3>Tags<\/h3>\n<p>YAML prend en charge les types de donn\u00e9es personnalis\u00e9s \u00e0 l'aide d'\u00e9tiquettes. Les \u00e9tiquettes peuvent indiquer qu'un scalaire doit \u00eatre interpr\u00e9t\u00e9 d'une mani\u00e8re sp\u00e9cifique.<\/p>\n<pre><code class=\"language-yaml\">number: !!int &quot;123&quot;      # Explicitly declare as an integer\ndate: !!timestamp &quot;2023-10-01&quot;  # Explicitly declare as a timestamp<\/code><\/pre>\n<h3>Fusionner les cl\u00e9s<\/h3>\n<p>The merge key (<code>&lt;&lt;<\/code>) permet de fusionner plusieurs mappages en un seul, facilitant ainsi la r\u00e9utilisation des configurations.<\/p>\n<pre><code class=\"language-yaml\">defaults: &amp;defaults\n  adapter: postgresql\n  encoding: unicode\n\ndevelopment:\n  &lt;&lt;: *defaults\n  database: dev_db\n\ntest:\n  &lt;&lt;: *defaults\n  database: test_db<\/code><\/pre>\n<h2>YAML vs. Other Data Serialization Formats<\/h2>\n<p>YAML is often compared with other data serialization formats like JSON and XML. Understanding the differences can help you choose the appropriate format for your needs.<\/p>\n<h3>YAML vs. JSON<\/h3>\n<ul>\n<li><strong>Lisibilit\u00e9<\/strong>YAML est plus lisible par les humains que JSON gr\u00e2ce \u00e0 son utilisation de l'indentation et \u00e0 l'absence de guillemets pour les cha\u00eenes de caract\u00e8res.<\/li>\n<li><strong>Commentaires<\/strong>: YAML supports comments, while JSON does not.<\/li>\n<li><strong>Types de donn\u00e9es<\/strong>: YAML prend en charge des types de donn\u00e9es et des structures plus complexes d\u00e8s le d\u00e9part, comme les horodatages et les balises personnalis\u00e9es.<\/li>\n<\/ul>\n<h3>YAML vs. XML<\/h3>\n<ul>\n<li><strong>Verbosit\u00e9<\/strong>: XML is generally more verbose than YAML, making it less readable for configuration files.<\/li>\n<li><strong>Data Representation<\/strong>: XML's hierarchical structure can represent complex data but at the cost of readability compared to YAML.<\/li>\n<li><strong>Schema<\/strong>: XML prend en charge les d\u00e9finitions de sch\u00e9mas, permettant une validation stricte, tandis que YAML est plus souple.<\/li>\n<\/ul>\n<h2>Meilleures pratiques pour l'utilisation de YAML\n\nYAML est un langage de s\u00e9rialisation de donn\u00e9es largement utilis\u00e9 pour la configuration et l'\u00e9change de donn\u00e9es. Voici quelques meilleures pratiques pour utiliser YAML efficacement :\n\n1. Utilisez des espaces, pas des tabulations : YAML utilise l'indentation pour d\u00e9finir la structure. Utilisez toujours des espaces pour l'indentation, pas des tabulations.\n\n2. Soyez coh\u00e9rent avec l'indentation : Utilisez le m\u00eame nombre d'espaces pour chaque niveau d'indentation. La plupart des projets utilisent 2 ou 4 espaces.\n\n3. Utilisez des traits d'union pour les listes : Les listes en YAML commencent par un trait d'union suivi d'un espace.\n\n4. Utilisez des deux-points pour les cl\u00e9s : Les cl\u00e9s dans les paires cl\u00e9-valeur sont suivies d'un deux-points et d'un espace.\n\n5. Mettez les cha\u00eenes de caract\u00e8res entre guillemets si n\u00e9cessaire : Si une cha\u00eene contient des caract\u00e8res sp\u00e9ciaux ou commence par un caract\u00e8re sp\u00e9cial, mettez-la entre guillemets.\n\n6. Utilisez des commentaires avec parcimonie : Les commentaires commencent par un di\u00e8se (#). Utilisez-les pour expliquer des configurations complexes, mais \u00e9vitez de sur-commenter.\n\n7. \u00c9vitez les structures profond\u00e9ment imbriqu\u00e9es : Trop de niveaux d'indentation peuvent rendre le fichier difficile \u00e0 lire et \u00e0 maintenir.\n\n8. Utilisez des ancres et des alias pour \u00e9viter la duplication : YAML permet de d\u00e9finir des ancres (&amp;) et de les r\u00e9f\u00e9rencer plus tard (alias *) pour \u00e9viter de r\u00e9p\u00e9ter des structures de donn\u00e9es.\n\n9. Validez votre YAML : Utilisez des outils de validation YAML pour vous assurer que votre syntaxe est correcte.\n\n10. Utilisez des extensions de fichiers appropri\u00e9es : Les fichiers YAML utilisent g\u00e9n\u00e9ralement l'extension .yml ou .yaml.\n\n11. Soyez coh\u00e9rent avec les conventions de nommage : Utilisez des conventions de nommage coh\u00e9rentes pour vos cl\u00e9s et vos fichiers.\n\n12. \u00c9vitez les caract\u00e8res sp\u00e9ciaux dans les noms de cl\u00e9s : Utilisez des caract\u00e8res alphanum\u00e9riques et des traits de soulignement pour les noms de cl\u00e9s.\n\n13. Utilisez des valeurs bool\u00e9ennes correctement : YAML reconna\u00eet true, false, on, off, yes, no comme valeurs bool\u00e9ennes.\n\n14. Soyez conscient des types de donn\u00e9es : YAML peut interpr\u00e9ter automatiquement certains types de donn\u00e9es. Soyez conscient de ces conversions implicites.\n\n15. Utilisez des outils appropri\u00e9s : Utilisez des \u00e9diteurs de texte ou des IDE qui offrent une coloration syntaxique et une validation YAML.\n\nEn suivant ces meilleures pratiques, vous pouvez cr\u00e9er des fichiers YAML clairs, maintenables et moins sujets aux erreurs.<\/h2>\n<p>Lors de l'utilisation de YAML, le respect des meilleures pratiques peut aider \u00e0 maintenir la clart\u00e9 et \u00e0 pr\u00e9venir les erreurs.<\/p>\n<h3>Consistent Indentation<\/h3>\n<p>YAML uses indentation to signify structure, so consistency is key. Use spaces (not tabs) for indentation, and ensure that your indentation level is consistent throughout the document.<\/p>\n<h3>Utilisez des touches descriptives<\/h3>\n<p>When defining keys, choose descriptive names that clearly indicate the data they represent. This enhances readability and maintainability.<\/p>\n<h3>Document Configuration<\/h3>\n<p>Include comments to explain the purpose of various sections and parameters. This is especially useful in complex configurations.<\/p>\n<pre><code class=\"language-yaml\">Configuration de la base de donn\u00e9es #\nbase de donn\u00e9es:\n  h\u00f4te: localhost\n  <span class=\"glossaryai-tooltip glossary-term-677\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/port\/\" target=\"_blank\">port<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Un PORT est un point de communication dans un r\u00e9seau informatique, d\u00e9fini par un identifiant num\u00e9rique. Il facilite l'acheminement des donn\u00e9es vers des applications sp\u00e9cifiques, am\u00e9liorant la fonctionnalit\u00e9 et la s\u00e9curit\u00e9 du syst\u00e8me.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/port\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>: 5432<\/code><\/pre>\n<h3>Validate YAML Syntax<\/h3>\n<p>Utilisez des outils de lint pour valider la syntaxe de votre fichier YAML avant le d\u00e9ploiement. Cela permet de d\u00e9tecter les erreurs d\u00e8s le d\u00e9but du processus de d\u00e9veloppement.<\/p>\n<h3>Organize Large Files<\/h3>\n<p>For large YAML files, consider breaking them into smaller, modular files. This enhances maintainability and makes collaboration easier.<\/p>\n<h2>Common Pitfalls and How to Avoid Them<\/h2>\n<p>While YAML is powerful, it also has some common pitfalls that can lead to issues if not addressed.<\/p>\n<h3>Indentation Incorrecte<\/h3>\n<p>Une indentation incorrecte peut entra\u00eener une mauvaise interpr\u00e9tation de la structure des donn\u00e9es. V\u00e9rifiez toujours les niveaux d'indentation.<\/p>\n<h3>Utiliser des tabulations au lieu des espaces<\/h3>\n<p>YAML does not support tabs. Always use spaces for indentation to avoid syntax errors.<\/p>\n<h3>Probl\u00e8mes de cotation<\/h3>\n<p>Les cha\u00eenes de caract\u00e8res qui incluent des caract\u00e8res sp\u00e9ciaux ou des espaces de d\u00e9but\/fin doivent \u00eatre mises entre guillemets. Ne pas le faire peut entra\u00eener un comportement inattendu.<\/p>\n<pre><code class=\"language-yaml\"># Cha\u00eene de caract\u00e8res correctement cit\u00e9e\ngreeting: &quot;Bonjour le monde !&quot;<\/code><\/pre>\n<h3>Unsupported Characters<\/h3>\n<p>Faites attention aux caract\u00e8res qui peuvent avoir une signification particuli\u00e8re en YAML, tels que <code>:<\/code>, <code>-<\/code>, and <code>#<\/code>. Citez correctement les cha\u00eenes contenant ces caract\u00e8res.<\/p>\n<h2>YAML dans l'\u00e9cosyst\u00e8me Docker<\/h2>\n<p>YAML is widely used in the Docker ecosystem, particularly in <span class=\"glossaryai-tooltip glossary-term-654\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/docker-compose\/\" target=\"_blank\">Docker Compose<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Docker Compose is a tool for defining and running multi-container Docker applications using a YAML file. It simplifies deployment, configuration, and orchestration of services, enhancing development efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/docker-compose\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> fichiers. <span class=\"glossaryai-tooltip glossary-term-654\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/docker-compose\/\" target=\"_blank\">Docker Compose<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Docker Compose is a tool for defining and running multi-container Docker applications using a YAML file. It simplifies deployment, configuration, and orchestration of services, enhancing development efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/docker-compose\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> allows developers to define and <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/run\/\" target=\"_blank\">run<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" refers to a command in various programming languages and operating systems to execute a specified program or script. It initiates processes, providing a controlled environment for task execution.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> applications Docker multi-conteneurs \u00e0 l'aide d'un seul fichier YAML.<\/p>\n<h3>Docker Compose YAML File Structure<\/h3>\n<p>A typical <code>docker-compose.yml<\/code> Le fichier comprend des services, des r\u00e9seaux et des volumes. Voici un exemple de base :<\/p>\n<pre><code class=\"language-yaml\">version: &#039;3.8&#039;  # Specify the version of <span class=\"glossaryai-tooltip glossary-term-689\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/docker-compose-file\/\" target=\"_blank\">fichier Docker Compose<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Un fichier Docker Compose est un fichier de configuration YAML qui d\u00e9finit les services, les r\u00e9seaux et les volumes pour les applications Docker multi-conteneurs. Il simplifie le d\u00e9ploiement et la gestion, am\u00e9liorant ainsi l'efficacit\u00e9.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/docker-compose-file\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> format\n\nservices:\n  web:\n    <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\" target=\"_blank\">image<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Une image est une repr\u00e9sentation visuelle d'un objet ou d'une sc\u00e8ne, g\u00e9n\u00e9ralement compos\u00e9e de pixels dans les formats num\u00e9riques. Elle peut transmettre des informations, susciter des \u00e9motions et faciliter la communication \u00e0 travers diff\u00e9rents m\u00e9dias.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>: nginx:latest\n    ports:\n      - &amp;quot;8080:80&amp;quot;\n\n  db:\n    <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\" target=\"_blank\">image<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Une image est une repr\u00e9sentation visuelle d'un objet ou d'une sc\u00e8ne, g\u00e9n\u00e9ralement compos\u00e9e de pixels dans les formats num\u00e9riques. Elle peut transmettre des informations, susciter des \u00e9motions et faciliter la communication \u00e0 travers diff\u00e9rents m\u00e9dias.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>: postgres:latest\n    environment:\n      POSTGRES_DB: mydb\n      POSTGRES_USER: user\n      POSTGRES_PASSWORD: password<\/code><\/pre>\n<h3>D\u00e9finition des services<\/h3>\n<p>In the example above, we define two services: <code>web<\/code> and <code>db<\/code>. Each <span class=\"glossaryai-tooltip glossary-term-681\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/service\/\" target=\"_blank\">service<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Le service fait r\u00e9f\u00e9rence \u00e0 l'acte de fournir une assistance ou un soutien pour r\u00e9pondre \u00e0 des besoins ou des exigences sp\u00e9cifiques. Dans divers domaines, il englobe le service client, le support technique et les services professionnels, en mettant l'accent sur l'efficacit\u00e9 et la satisfaction de l'utilisateur.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/service\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> can specify an <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\" target=\"_blank\">image<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Une image est une repr\u00e9sentation visuelle d'un objet ou d'une sc\u00e8ne, g\u00e9n\u00e9ralement compos\u00e9e de pixels dans les formats num\u00e9riques. Elle peut transmettre des informations, susciter des \u00e9motions et faciliter la communication \u00e0 travers diff\u00e9rents m\u00e9dias.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>, environment variables, ports, and other configurations.<\/p>\n<h3>Configuration des r\u00e9seaux et des volumes<\/h3>\n<p>You can also define custom networks and volumes in your <span class=\"glossaryai-tooltip glossary-term-689\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/docker-compose-file\/\" target=\"_blank\">fichier Docker Compose<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Un fichier Docker Compose est un fichier de configuration YAML qui d\u00e9finit les services, les r\u00e9seaux et les volumes pour les applications Docker multi-conteneurs. Il simplifie le d\u00e9ploiement et la gestion, am\u00e9liorant ainsi l'efficacit\u00e9.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/docker-compose-file\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>, enhancing the flexibility and modularity of your applications.<\/p>\n<pre><code class=\"language-yaml\">version: &amp;#039;3.8&amp;#039;\n\nservices:\n  app:\n    <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\" target=\"_blank\">image<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Une image est une repr\u00e9sentation visuelle d'un objet ou d'une sc\u00e8ne, g\u00e9n\u00e9ralement compos\u00e9e de pixels dans les formats num\u00e9riques. Elle peut transmettre des informations, susciter des \u00e9motions et faciliter la communication \u00e0 travers diff\u00e9rents m\u00e9dias.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>: myapp\n    networks:\n      - app_network\n\nnetworks:\n  app_network:\n    driver: bridge<\/code><\/pre>\n<h2>Conclusion<\/h2>\n<p>YAML est un format de s\u00e9rialisation de donn\u00e9es puissant et flexible, particuli\u00e8rement adapt\u00e9 aux fichiers de configuration et \u00e0 l'\u00e9change de donn\u00e9es dans les applications modernes. Sa syntaxe lisible par l'homme et son support des structures de donn\u00e9es complexes en font un favori parmi les d\u00e9veloppeurs et les administrateurs syst\u00e8me. <\/p>\n<p>Understanding the intricacies of YAML, from basic syntax to advanced features, can significantly improve your ability to work with modern DevOps tools like Docker and <span class=\"glossaryai-tooltip glossary-term-656\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/kubernetes\/\" target=\"_blank\">Kubernetes<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Kubernetes is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications, enhancing resource efficiency and resilience.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/kubernetes\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>. By following best practices and being aware of common pitfalls, you can leverage YAML to create clear, maintainable, and effective configurations for your applications. <\/p>\n<p>Alors que le paysage du d\u00e9veloppement logiciel continue d'\u00e9voluer, YAML restera sans aucun doute un composant essentiel dans la bo\u00eete \u00e0 outils des d\u00e9veloppeurs et des ing\u00e9nieurs, permettant l'int\u00e9gration transparente et... <span class=\"glossaryai-tooltip glossary-term-657\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/orchestration\/\" target=\"_blank\">orchestration<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">L'orchestration d\u00e9signe la gestion et la coordination automatis\u00e9es de syst\u00e8mes et de services complexes. Elle optimise les processus en int\u00e9grant diverses composantes, en garantissant un fonctionnement efficace et une utilisation optimale des ressources.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/orchestration\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> des syst\u00e8mes complexes.<\/p>","protected":false},"excerpt":{"rendered":"<p>YAML (YAML Ain\u2019t Markup Language) is a human-readable data serialization format commonly used for configuration files. It emphasizes simplicity and clarity, making it suitable for both developers and non-developers.<\/p>","protected":false},"author":1,"featured_media":1494,"parent":0,"template":"","glossary-cat":[],"class_list":["post-690","glossary","type-glossary","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>YAML - Dockerpros<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dockerpros.com\/fr\/wiki\/yaml\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"YAML - Dockerpros\" \/>\n<meta property=\"og:description\" content=\"YAML (YAML Ain&#039;t Markup Language) is a human-readable data serialization format commonly used for configuration files. It emphasizes simplicity and clarity, making it suitable for both developers and non-developers.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dockerpros.com\/fr\/wiki\/yaml\/\" \/>\n<meta property=\"og:site_name\" content=\"Dockerpros\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-22T20:55:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/yaml_690.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/dockerpros.com\/wiki\/yaml\/\",\"url\":\"https:\/\/dockerpros.com\/wiki\/yaml\/\",\"name\":\"YAML - Dockerpros\",\"isPartOf\":{\"@id\":\"https:\/\/dockerpros.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/dockerpros.com\/wiki\/yaml\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/dockerpros.com\/wiki\/yaml\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/yaml_690.jpg\",\"datePublished\":\"2024-07-22T20:37:57+00:00\",\"dateModified\":\"2024-07-22T20:55:11+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/dockerpros.com\/wiki\/yaml\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/dockerpros.com\/wiki\/yaml\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/dockerpros.com\/wiki\/yaml\/#primaryimage\",\"url\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/yaml_690.jpg\",\"contentUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/yaml_690.jpg\",\"width\":800,\"height\":600,\"caption\":\"yaml-2\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/dockerpros.com\/wiki\/yaml\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/dockerpros.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Glossary\",\"item\":\"https:\/\/dockerpros.com\/fr\/wiki\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"YAML\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/dockerpros.com\/#website\",\"url\":\"https:\/\/dockerpros.com\/\",\"name\":\"Dockerpros\",\"description\":\"DockerPros \u2013 Your Ultimate Docker Resource Hub\",\"publisher\":{\"@id\":\"https:\/\/dockerpros.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/dockerpros.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/dockerpros.com\/#organization\",\"name\":\"Dockerpros\",\"url\":\"https:\/\/dockerpros.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png\",\"contentUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png\",\"width\":532,\"height\":114,\"caption\":\"Dockerpros\"},\"image\":{\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"YAML - Dockerpros","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dockerpros.com\/fr\/wiki\/yaml\/","og_locale":"fr_FR","og_type":"article","og_title":"YAML - Dockerpros","og_description":"YAML (YAML Ain't Markup Language) is a human-readable data serialization format commonly used for configuration files. It emphasizes simplicity and clarity, making it suitable for both developers and non-developers.","og_url":"https:\/\/dockerpros.com\/fr\/wiki\/yaml\/","og_site_name":"Dockerpros","article_modified_time":"2024-07-22T20:55:11+00:00","og_image":[{"width":800,"height":600,"url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/yaml_690.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/dockerpros.com\/wiki\/yaml\/","url":"https:\/\/dockerpros.com\/wiki\/yaml\/","name":"YAML - Dockerpros","isPartOf":{"@id":"https:\/\/dockerpros.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dockerpros.com\/wiki\/yaml\/#primaryimage"},"image":{"@id":"https:\/\/dockerpros.com\/wiki\/yaml\/#primaryimage"},"thumbnailUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/yaml_690.jpg","datePublished":"2024-07-22T20:37:57+00:00","dateModified":"2024-07-22T20:55:11+00:00","breadcrumb":{"@id":"https:\/\/dockerpros.com\/wiki\/yaml\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dockerpros.com\/wiki\/yaml\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/dockerpros.com\/wiki\/yaml\/#primaryimage","url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/yaml_690.jpg","contentUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/yaml_690.jpg","width":800,"height":600,"caption":"yaml-2"},{"@type":"BreadcrumbList","@id":"https:\/\/dockerpros.com\/wiki\/yaml\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dockerpros.com\/"},{"@type":"ListItem","position":2,"name":"Glossary","item":"https:\/\/dockerpros.com\/fr\/wiki\/"},{"@type":"ListItem","position":3,"name":"YAML"}]},{"@type":"WebSite","@id":"https:\/\/dockerpros.com\/#website","url":"https:\/\/dockerpros.com\/","name":"Dockerpros","description":"DockerPros \u2013 Votre centre de ressources Docker incontournable","publisher":{"@id":"https:\/\/dockerpros.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dockerpros.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/dockerpros.com\/#organization","name":"Dockerpros","url":"https:\/\/dockerpros.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/","url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png","contentUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png","width":532,"height":114,"caption":"Dockerpros"},"image":{"@id":"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/dockerpros.com\/fr\/wp-json\/wp\/v2\/glossary\/690","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dockerpros.com\/fr\/wp-json\/wp\/v2\/glossary"}],"about":[{"href":"https:\/\/dockerpros.com\/fr\/wp-json\/wp\/v2\/types\/glossary"}],"author":[{"embeddable":true,"href":"https:\/\/dockerpros.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":0,"href":"https:\/\/dockerpros.com\/fr\/wp-json\/wp\/v2\/glossary\/690\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dockerpros.com\/fr\/wp-json\/wp\/v2\/media\/1494"}],"wp:attachment":[{"href":"https:\/\/dockerpros.com\/fr\/wp-json\/wp\/v2\/media?parent=690"}],"wp:term":[{"taxonomy":"glossary-cat","embeddable":true,"href":"https:\/\/dockerpros.com\/fr\/wp-json\/wp\/v2\/glossary-cat?post=690"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}