Rendu des documents Quarto : aperçu, rendu en PDF et Word, paramètres, cache et freeze

Transformez un .qmd en HTML, PDF ou Word depuis la ligne de commande — et contrôlez l’exécution avec le cache et freeze

Produisez le rendu de documents Quarto depuis la ligne de commande — aperçu en direct avec quarto preview, rendu en HTML, PDF et Word avec quarto render, transmission de paramètres, reconstructions accélérées grâce au cache et contrôle de l’exécution avec freeze et execute: enabled. Le workflow de rendu reproductible derrière chaque rapport Quarto.

Date de publication

8 juillet 2026

Modifié

9 juillet 2026

AstucePoints clés
  • quarto preview ouvre un aperçu dans le navigateur, en direct et à rechargement automatique, pendant que vous écrivez ; quarto render produit le fichier de sortie final.
  • --to choisit le format : quarto render report.qmd --to pdf (ou docx, html). Sans --to, Quarto produit le rendu de chaque format déclaré dans le YAML du document (HTML par défaut).
  • Les paramètres permettent à un seul document de produire de nombreux rapports. En R/knitr, déclarez-les sous params: dans le YAML et lisez-les depuis la liste params ; produisez une variante avec quarto render report.qmd -P month:March.
  • Le cache évite de réexécuter le code inchangé. execute: cache: true stocke le résultat de chaque bloc pour qu’un nouveau rendu ne réexécute que ce qui a changé.
  • Freeze contrôle l’exécution lors du rendu d’un projet. freeze: auto ne réexécute un document que lorsque sa source change ; freeze: true ne le réexécute jamais — les deux restaurent plutôt les résultats archivés depuis le dossier _freeze/. Le rendu d’un document isolé ou d’un sous-répertoire exécute toujours le code.
  • Chaque commande ci-dessous est copiable-collable — lancez-la sur votre propre .qmd pour reproduire le résultat.

Introduction

Vous avez rédigé votre analyse dans un fichier .qmd. La transformer en quelque chose que vous pouvez partager — une page web, un PDF pour une revue, un document Word qu’un collègue peut commenter — tient en une seule commande : quarto render. Et pendant que vous écrivez encore, quarto preview vous offre une vue en direct dans le navigateur qui se recharge à chaque enregistrement.

Cette leçon est le chemin pratique à travers le workflow de rendu en ligne de commande de Quarto : aperçu pendant que vous écrivez, rendu vers n’importe quel format, transmission de paramètres à un document pour qu’une seule source produise de nombreux rapports, et contrôle du moment où le code est réexécuté grâce au cache et à freeze — le mécanisme même qui garde les milliers de pages de ce site reproductibles sans tout réexécuter à chaque rendu. Les commandes sont présentées exactement comme vous les saisiriez dans un terminal, et la page que vous lisez a elle-même été produite par quarto render.

Les exemples privilégient la voie R/knitr (c’est la série Quarto centrée sur l’idiome R) ; l’équivalent Jupyter/Python en une ligne est indiqué là où il diffère.

Aperçu pendant que vous écrivez

quarto preview produit le rendu du document, l’ouvre dans votre navigateur et surveille le fichier — chaque fois que vous enregistrez, il refait le rendu et recharge la page. C’est la boucle que vous laissez tourner pendant toute la phase de rédaction :

# Live HTML preview, auto-reloads on save
quarto preview report.qmd

# Preview as PDF instead
quarto preview report.qmd --to pdf

# Preview a Jupyter notebook
quarto preview report.ipynb

Laissez cela tourner dans un terminal, éditez dans votre IDE, et le navigateur suit vos modifications. C’est le moyen le plus rapide de voir comment un graphique, un tableau ou un ajustement du YAML rend réellement avant de vous lancer dans un rendu complet. L’aperçu est documenté dans le guide de l’aperçu Quarto.

Rendu en HTML, PDF ou Word

quarto render produit le fichier de sortie final. Sans --to, il produit le rendu de chaque format déclaré dans le bloc YAML format: du document — et si aucun n’est déclaré, il utilise HTML par défaut :

# Render every format in the document's YAML (HTML if none is set)
quarto render report.qmd

En lançant cela sur un fichier nommé report.qmd, on obtient report.html (plus un dossier report_files/ d’éléments annexes) à côté de lui. Pour choisir une sortie précise, passez --to :

# Render one specific format
quarto render report.qmd --to html
quarto render report.qmd --to pdf
quarto render report.qmd --to docx

--to pdf produit report.pdf (Quarto utilise un moteur LaTeX — installez TinyTeX une fois avec quarto install tinytex si vous n’avez pas LaTeX), et --to docx produit un report.docx que vous pouvez ouvrir dans Word. La liste complète des cibles se trouve dans tous les formats.

Rendu des notebooks

Pour un notebook Jupyter (.ipynb), Quarto produit le rendu des sorties déjà stockées dans le notebook et ne réexécute pas les cellules par défaut. Ajoutez --execute pour exécuter le code à neuf pendant le rendu :

# Render a notebook, re-executing its cells
quarto render report.ipynb --execute

Vous pouvez en faire le comportement par défaut dans l’en-tête YAML du notebook lui-même, afin qu’il s’exécute toujours au rendu :

---
title: "My notebook"
execute:
  enabled: true
---

(Un fichier .qmd exécute son code au rendu par défaut ; ce paramètre execute: enabled: true sert surtout à activer l’exécution pour un notebook — ou à la désactiver pour un document uniquement textuel, abordé plus bas.)

Paramétrer un document

Les paramètres permettent à un seul document source de produire de nombreux rapports — un résumé mensuel des ventes, une analyse par région, un rapport par groupe expérimental — en le rendant à plusieurs reprises avec des entrées différentes. Consultez la documentation sur les paramètres pour la référence complète.

En R/knitr, déclarez les paramètres et leurs valeurs par défaut sous une clé params: de premier niveau dans le YAML :

---
title: "Monthly report"
params:
  month: "January"
  threshold: 0.1
---

À l’intérieur du document, chaque paramètre est disponible dans la liste paramsparams$month, params$threshold — de sorte que votre code et votre texte peuvent s’y adapter :

```{r}
# The default value from the YAML, unless overridden at render time
params$month
params$threshold
```

L’équivalent Jupyter/Python est une unique cellule de code marquée parameters (Quarto suit la convention de Papermill) : #| tags: [parameters] en haut d’une cellule, avec les valeurs par défaut affectées comme de simples variables dans cette cellule.

Pour produire une variante, remplacez n’importe quel paramètre depuis la ligne de commande avec -P name:value — c’est là qu’apparaît le bénéfice « de nombreux rapports à partir d’une seule source » :

# Override individual parameters
quarto render report.qmd -P month:March -P threshold:0.2

Pour plusieurs paramètres à la fois, placez-les dans un fichier YAML et transmettez-le avec --execute-params :

quarto render report.qmd --execute-params march.yml

Une boucle sur une poignée de rendus -P (un par région, un par mois) est la recette standard pour générer tout un lot de documents personnalisés à partir d’une source unique et maintenue.

Accélérer les reconstructions avec le cache

Refaire le rendu d’un document réexécute son code — parfait quand le code est rapide, pénible quand un bloc ajuste un modèle ou lit un fichier volumineux. Le cache stocke le résultat de chaque bloc et le réutilise tant que le code du bloc reste inchangé, de sorte qu’un nouveau rendu ne réexécute que ce que vous avez réellement modifié. Activez-le pour tout le document sous execute: :

---
title: "My report"
execute:
  cache: true
---

Vous pouvez aussi mettre en cache un seul bloc coûteux plutôt que tout le document, avec l’option de cellule cache :

```{r}
#| cache: true
model <- lm(mpg ~ wt + hp, data = mtcars)
summary(model)
```

Le moteur décide de la manière dont le cache est mis en œuvre : R/knitr utilise le cache intégré de knitr (sans installation supplémentaire), tandis que Jupyter a besoin du paquet jupyter-cache (pip install jupyter-cache). Ce comportement est documenté à la rubrique cache.

Trois options de quarto render outrepassent le cache sans toucher au document :

quarto render report.qmd --cache          # force caching on for all chunks
quarto render report.qmd --no-cache       # ignore the cache, re-run everything
quarto render report.qmd --cache-refresh  # rebuild the cache from scratch

Recourez à --no-cache ou --cache-refresh lorsqu’un résultat dépend de quelque chose que le cache ne peut pas voir — un fichier de données externe qui a changé alors que le code, lui, n’a pas bougé.

Contrôler l’exécution avec freeze

Freeze est le mécanisme qui rend un projet reproductible — un livre, un site web, l’ensemble du domaine /learn de cette plateforme. Il stocke les résultats calculés d’un document dans un dossier _freeze/ archivé, de sorte qu’un rendu à l’échelle du projet les restaure au lieu de réexécuter le code. C’est ce qui permet à un site aux milliers de pages calculatoires de se reconstruire en quelques minutes sur une machine qui n’a peut-être même pas tous les paquets d’analyse installés. Il se définit sous execute: et est documenté à la rubrique freeze :

---
execute:
  freeze: auto   # re-render only when the source changes
---

Il existe deux réglages, et la distinction, en toute honnêteté, a son importance :

  • freeze: auto — lors du rendu d’un projet, réexécute un document uniquement lorsque sa source .qmd a changé depuis le dernier rendu ; sinon, restaure sa sortie depuis _freeze/. C’est le choix du quotidien : modifiez une leçon, et seule cette leçon est réexécutée.
  • freeze: true — ne réexécute jamais lors du rendu d’un projet ; restaure toujours depuis _freeze/, quoi qu’il ait changé. Utilisez-le pour figer un document coûteux ou spécifique à un environnement, dont les résultats archivés font foi.
---
execute:
  freeze: true   # never re-execute during a project render; always use _freeze/
---

Le piège qui fait trébucher : freeze ne régit que le rendu d’un projet complet. Le rendu d’un document isolé ou d’un sous-répertoire exécute toujours le code, réglage freeze ou pas :

# Both of these ALWAYS execute the code — freeze is ignored
quarto render report.qmd
quarto render articles/

Freeze n’est donc pas un moyen de sauter l’exécution à la demande ; c’est un cache à l’échelle du projet qui empêche les documents inchangés d’être réexécutés lorsque vous rendez l’ensemble. Archivez le dossier _freeze/ aux côtés de votre source et les résultats voyagent avec le dépôt.

Quand vous ne voulez pas que le code s’exécute du tout

Pour un document uniquement textuel — des notes, une page de référence, un document dont le code doit être affiché mais jamais exécuté — désactivez entièrement l’exécution :

---
execute:
  enabled: false
---

Chaque bloc de code est alors affiché tel quel et rien ne s’exécute, ce qui constitue aussi le rendu le plus rapide possible.

Cache et freeze : la différence

Ils résolvent des problèmes différents et se combinent bien :

Mécanisme Portée Ce qu’il stocke Quand il réexécute
Cache (cache: true) Les blocs individuels au sein d’un document Le résultat calculé de chaque bloc Quand le code de ce bloc change
Freeze (freeze: auto/true) Un document entier lors du rendu d’un projet La sortie rendue du document (_freeze/) auto : quand la source change · true : jamais

Utilisez le cache pour accélérer les itérations sur un document, et freeze pour garder un projet reproductible et rapide à reconstruire.

Problèmes fréquents

quarto render réexécute mon code lent à chaque fois. Le rendu d’un document isolé exécute toujours le code — freeze ne s’y applique pas. Pour éviter de réexécuter les blocs inchangés, activez execute: cache: true afin que knitr (ou jupyter-cache) réutilise le résultat stocké de chaque bloc jusqu’à ce que son code change.

Le rendu de mon projet saute un document que j’ai pourtant modifié. Sous freeze: auto, Quarto ne réexécute que lorsqu’il détecte un changement de la source. Si un document est périmé, supprimez son entrée dans _freeze/ (ou rendez ce fichier directement, ce qui exécute toujours le code) pour forcer une exécution fraîche, puis refaites le rendu du projet.

quarto render --to pdf échoue avec une erreur LaTeX. La sortie PDF a besoin d’un moteur LaTeX. Installez la version légère que Quarto gère pour vous avec quarto install tinytex, puis refaites le rendu. Voir créer un PDF.

Questions fréquentes

quarto preview produit le rendu du document et ouvre une vue en direct dans le navigateur qui se recharge automatiquement à chaque enregistrement — c’est la boucle que vous exécutez pendant la rédaction. quarto render produit le fichier de sortie final (report.html, report.pdf, …) puis se termine — c’est ce que vous exécutez pour publier.

Passez --to : quarto render report.qmd --to pdf produit un PDF, et quarto render report.qmd --to docx produit un document Word. La sortie PDF a besoin d’un moteur LaTeX — lancez quarto install tinytex une fois si vous n’avez pas déjà LaTeX.

En R/knitr, déclarez les paramètres sous une clé params: dans le YAML et lisez-les depuis la liste params (params$month). Produisez une variante en les remplaçant sur la ligne de commande : quarto render report.qmd -P month:March, ou transmettez un fichier YAML avec --execute-params.

Cache agit au niveau du bloc à l’intérieur d’un document : il stocke le résultat de chaque bloc et évite de le réexécuter jusqu’à ce que son code change. Freeze agit au niveau du document lors du rendu d’un projet : il stocke la sortie du document dans _freeze/ et la restaure au lieu de réexécuter. Le cache accélère les itérations sur un seul fichier ; freeze garde tout un projet reproductible.

Parce que freeze ne régit que le rendu d’un projet complet. Le rendu d’un document isolé (quarto render report.qmd) ou d’un sous-répertoire exécute toujours le code, quel que soit le réglage freeze. Freeze n’empêche la réexécution que lorsque vous rendez tout le projet d’un coup.

Exercice. Vous maintenez un rapport mensuel dont la source est sales.qmd, avec un paramètre month qui vaut "January" par défaut. Depuis la ligne de commande, produisez un PDF pour mars sans modifier le fichier. Écrivez la commande.

Deux options se combinent ici : l’une sélectionne le format de sortie, l’autre remplace un seul paramètre sous la forme name:value.

quarto render sales.qmd --to pdf -P month:March

--to pdf sélectionne la sortie PDF, et -P month:March remplace le paramètre month pour ce seul rendu — le fichier sur le disque n’est jamais modifié. Bouclez cette commande sur une liste de mois pour générer l’ensemble complet à partir d’une seule source.

Vous rendez un projet avec execute: freeze: auto. Vous avez modifié exactement un document. Que fait Quarto des autres ?

A. Réexécute chaque document à partir de zéro B. Restaure les documents inchangés depuis _freeze/ et ne réexécute que celui qui a été modifié C. Saute le document modifié et réexécute les autres

B. freeze: auto ne réexécute un document que lorsque sa source a changé ; seul votre fichier modifié est donc réexécuté ; tous les autres documents sont restaurés depuis leur sortie _freeze/ archivée. C’est ce qui rend un grand projet rapide à reconstruire.

Conclusion

Tout le workflow de rendu tient en une poignée de commandes. Lancez quarto preview pendant que vous écrivez pour une vue en direct qui se recharge ; lancez quarto render --to pdf (ou docx, ou html) pour produire le fichier final. Paramétrez avec params: et -P pour transformer une source en de nombreux rapports. Contrôlez ensuite l’exécution : cache: true pour sauter les blocs inchangés au fil de vos itérations, et freeze: auto/true pour garder tout un projet reproductible et rapide à reconstruire depuis son dossier _freeze/ archivé. Réglez-les une fois, et votre document se rend de la même manière pour vous, pour un collègue et sur un serveur de build.

Leçons connexes

Cette page vous a-t-elle été utile ?

Recevez les nouvelles leçons R & Python par e-mail

Pratique, reproductible, sans spam. Désinscription à tout moment.

Double opt-in. Nous ne partageons jamais votre e-mail.

Partager cette pageXLinkedInRedditHN
Note

Cette leçon est reproductible : chaque commande de cette page est présentée exactement comme vous la saisiriez — copiez n’importe quel bloc et lancez-le pour reproduire ces résultats. The runtime is the judge.

Réutilisation

Citation

BibTeX
@online{2026,
  author = {},
  title = {Rendu des documents Quarto : aperçu, rendu en PDF et Word,
    paramètres, cache et freeze},
  date = {2026-07-08},
  url = {https://www.datanovia.com/learn/programming/quarto/rendering},
  langid = {fr}
}
Veuillez citer ce travail comme suit :
“Rendu des documents Quarto : aperçu, rendu en PDF et Word, paramètres, cache et freeze.” 2026. July 8. https://www.datanovia.com/learn/programming/quarto/rendering.