Utiliser des variables depuis un fichier externe dans votre projet Quarto
Arrêtez le hardcoding ! Apprenez à gérer et réutiliser facilement vos variables dans votre documentation Quarto grâce à des fichiers YAML externes et des variables d'environnement.
Traduction automatique
Cet article a plus d'un an, mais il a été relu le 30 juillet 2026 — son contenu est toujours exact.
Cet article fait partie de la série Découvrir Quarto :
- Exécuter Quarto Markdown dans Docker
- Affichage conditionnel avec Quarto
- Utiliser Quarto pour créer un diaporama PowerPoint
- Utiliser des variables depuis un fichier externe dans votre projet Quarto
- Quelques astuces pour Quarto lors du rendu en diaporama reveal.js
- Les blocs Callout de Quarto
- Le short code includes de Quarto
- Style inline avec Quarto
- Mes extensions Quarto préférées
- Utiliser le templating Mustache avec Quarto
- Rendez votre projet Quarto prêt pour les Devcontainers — fini les galères de configuration
- Quarto - Comment j'ai construit un écosystème auto-documenté pour plus de 50 projets

Cet article montre comment éviter de coder en dur des valeurs récurrentes (IP, chemins, emails) dans une documentation Quarto : on les stocke dans un fichier _variables.yml et on y fait référence avec les short codes {{< var xxx >}}, ou via {{< meta xxx >}} pour les métadonnées du document. Il couvre aussi la lecture de valeurs depuis un fichier .env avec {{< env xxx >}}, chargé avec --env-file lors du rendu de Quarto dans Docker.
Mon cas d'usage est le suivant : je dois rédiger une longue documentation technique où je dois fournir des informations comme les adresses IP des serveurs utilisés, des chemins vers l'application, des dossiers de configuration, ...
La manière normale de faire consiste à mettre ces informations directement dans la documentation et à veiller à mettre à jour chaque occurrence en cas de changement durant le cycle de vie de l'application.
La meilleure approche est probablement d'utiliser un fichier externe où l'information est stockée sous forme clé-valeur et, pendant le processus de rendu de Quarto, de remplacer les short codes par les valeurs.
Ce que les variables Quarto vous apportent
Vous écrivez ceci dans votre source Markdown :
Version {{< var version >}} is a minor upgrade.
Please contact us at {{< var email.info >}}.
Et voici ce que Quarto affiche :

Le numéro de version et l'adresse email vivent désormais dans un seul fichier. Changez-les là, relancez le rendu, et chaque page de la documentation est à jour — y compris les vingt endroits que vous auriez oubliés.
Il suffit de : un _variables.yml contenant vos clés-valeurs, un _quarto.yml (qui peut être vide), et les short codes {{< var >}} / {{< meta >}} dans votre texte.
Mise en place
Image Docker avec Quarto
Si vous n'avez pas encore d'image Docker avec Quarto, lisez cet article Exécuter Quarto Markdown dans Docker.
Vous trouverez la documentation officielle sur https://quarto.org/docs/authoring/variables.html.
Voici comment procéder :
- D'abord, c'est obligatoire, vous devez avoir un fichier nommé
_quarto.ymldans le même répertoire que le fichier (disonsdocumentation.md) que vous allez convertir avec Quarto. Note : ce fichier peut être vide (voir https://github.com/quarto-dev/quarto-cli/issues/2918 pour plus d'informations). - Ensuite, vous devez créer un fichier nommé
_variables.ymlavec vos clés-valeurs et, enfin, - Il vous faut votre fichier markdown.
Donc, _quarto.yml peut rester vide. Sa présence sert juste à dire à Quarto que le fichier Markdown fait partie d'un projet.
Voici un exemple de ce que peut contenir un _variables.yml :
version: 1.2
email: info: info@example.com support: support@example.com
engine: jupyter: "[Jupyter](https://jupyter.org)" knitr: "[Knitr](<https://yihui.name/knitr>)"Ce fichier YAML définit la configuration d'une application en spécifiant sa version, des adresses email de contact et des liens vers des outils d'exécution de code (Jupyter et Knitr). C'est un fichier de configuration centralisé qui permet de gérer facilement les paramètres importants sans les modifier dans le code.
Et voici un exemple de Markdown (fichier documentation.md) :
---
title: Testing of variables short code.
---
{{< meta title >}}
Version {{< var version >}} is a minor upgrade.
Please contact us at {{< var email.info >}}.
Quarto includes {{< var engine.jupyter >}} and
{{< var engine.knitr >}} computation engines.
Comme vous pouvez le voir, le short code ressemble à {{< meta xxx >}} ou {{< var xxx >}}.
meta sert aux métadonnées du document, comme son titre, et var à récupérer des informations depuis _variables.yml.
Lancez le rendu avec quarto preview documentation.md --to html et vous obtenez la page montrée au début de cet article.
Variables d'environnement
Vous pouvez aussi récupérer des variables d'environnement avec {{< env xxx >}} mais, là, vous devez d'abord charger ces variables si nécessaire.
Par exemple, vous pouvez avoir un fichier .env comme celui-ci :
APPLICATION_NAME=My application name
VERSION_NUMBER=1.2
Ce script définit deux variables d'environnement : le nom de l'application et son numéro de version. Ces variables peuvent ensuite être utilisées par d'autres parties du script ou des processus enfants pour identifier et référencer l'application.
Ensuite, avant d'appeler le processus de rendu de Quarto, vous devez charger le fichier. Comme j'utilise Docker, je fais ceci :
Voici le contenu de documentation.md :
---
title: Testing of variables and env short codes.
---
:::{.callout-tip}
## Environment variables
{{< env APPLICATION_NAME >}} v.{{< env VERSION_NUMBER >}}
:::
{{< meta title >}}
Version {{< var version >}} is a minor upgrade.
Please contact us at {{< var email.info >}}.
Quarto includes {{< var engine.jupyter >}} and
{{< var engine.knitr >}} computation engines.
J'utilise donc --env-file .env dans l'instruction docker run pour que Docker charge mes variables et les rende disponibles dans le container. Quarto peut alors y accéder.

Cette solution est encore meilleure si vous avez une application comme Laravel, et donc déjà un fichier .env de ce type. Résultat : vous réutilisez les mêmes valeurs pour l'application et pour la documentation.
Conclusion
Les variables sont le bon outil quand ce qui se répète est une valeur : un numéro de version, une IP, une adresse de support, un chemin. Elles coûtent deux fichiers et sont rentabilisées dès le premier serveur renommé.
Quand ce qui se répète est une structure de page entière plutôt qu'une valeur, les variables ne suffisent plus — et c'est là que Utiliser le templating Mustache avec Quarto prend le relais.
Cet article fait partie de la série Découvrir Quarto :
- Exécuter Quarto Markdown dans Docker
- Affichage conditionnel avec Quarto
- Utiliser Quarto pour créer un diaporama PowerPoint
- Utiliser des variables depuis un fichier externe dans votre projet Quarto
- Quelques astuces pour Quarto lors du rendu en diaporama reveal.js
- Les blocs Callout de Quarto
- Le short code includes de Quarto
- Style inline avec Quarto
- Mes extensions Quarto préférées
- Utiliser le templating Mustache avec Quarto
- Rendez votre projet Quarto prêt pour les Devcontainers — fini les galères de configuration
- Quarto - Comment j'ai construit un écosystème auto-documenté pour plus de 50 projets





