Quarto : comment gérer facilement les énoncés et solutions dans vos documents pédagogiques

Astuce Quarto : afficher ou masquer les solutions dans vos documents pédagogiques avec R.

Rédiger des documents pédagogiques dynamiques avec Quarto et R

Quarto est un outil formidable pour toutes celles et ceux qui rédigent des tutoriels, TD ou TP contenant du code R. Il permet de combiner, dans un même document, du texte (titres, énoncés, explications), du code R, et les résultats de ce code (graphiques, tableaux, sorties numériques). C’est donc un environnement idéal pour créer des supports pédagogiques complets et reproductibles.

 

Le problème : comment gérer les solutions dans un document Quarto ?

Lorsque l’on prépare des exercices contenant du code R, une difficulté fréquente se pose : comment gérer la présence des solutions ?

  • Pour soi, il est pratique d’avoir sous les yeux l’énoncé et la solution.
  • Mais lorsqu’on diffuse le document à des étudiants ou à des stagiaires, on préfère ne partager que l’énoncé.

 

Une première (mauvaise) approche consiste à créer deux versions du même document : l’une avec uniquement les énoncés, l’autre avec les énoncés et les solutions. C’est une mauvaise solution, car en pratique, il faut maintenir deux fichiers parallèles et penser à synchroniser chaque modification.

Une seconde (moyennement satisfaisante) approche consiste à inclure les solutions dans des chunks avec des options include=true pour générer le document avec énoncés et solutions, puis à repasser manuellement ces chunks en include=false pour générer la version sans les solutions.  Cette approche est moyennement satisfaisante, car cela devient vite fastidieux et source d’erreurs.

La solution que je propose ici est plus simple et plus robuste : utiliser un paramètre dans l’entête du document Quarto pour contrôler automatiquement l’affichage ou non des solutions.

Astuce Quarto : afficher ou masquer les solutions grâce à un paramètre YAML

Ajouter un paramètre dans l’entête du document Quarto

Commencez par ajouter un paramètre dans l’entête YAML du document Quarto à l’aide du champ params.

Vous pouvez, par exemple, l’appeler solution et lui donner la valeur true, comme ceci :

Contrôler l’affichage avec l’option #| include: !expr params$solution

Rédigez ensuite votre énoncé, puis ajoutez la solution dans un chunk juste en dessous.

Dans ce chunk, insérez sur la première ligne l’option #| include: !expr params$solution, comme ceci : 

Exemple de chunk R dans Quarto avec l’option #| include: !expr params$solution utilisée pour afficher ou masquer la solution.

Cette option indique à Quarto d’inclure ou non le chunk en fonction de la valeur du paramètre solution :

  • Si solution est true (au niveau de l’entête), le chunk sera inclus dans le document généré.
  • Si solution est false, le chunk ne sera pas inclus, et donc ne sera pas présent dans le document généré.

Remarque : Le préfixe !expr permet à Quarto d’évaluer l’expression params$solution comme du code R et non comme du texte. Autrement dit, Quarto va exécuter l’expression R params$solution, puis récupérer la valeur (`true` ou `false`) et l’utiliser comme paramètre de l’option include.

Vous pouvez recommencer sur tous les chunks qui contiennent des solutions.

Second exemple de chunk R dans Quarto avec l’option #| include: !expr params$solution utilisée pour afficher ou masquer la solution.

Générer automatiquement deux versions du document

Générez une première fois le document avec solution: true. Vous obtiendrez alors le document avec les énoncés et les solutions :

Renommez alors le fichier obtenu avec le suffixe _solution (par exemple) :

Renommer le document généré, en aujoutant un suffixe pour indiquer que le document comporte les solutions

Puis, passez la valeur du paramètre à false 

Capture d'écran montrant le passage de la valeur du paramètre solution à false

Et générez à nouveau le document. Vous obtenez alors une version sans les solutions, prête à être diffusée aux étudiants ou stagiaire

Document pédagogique ne comportant que les énoncés

Pas mal, non ?

 

Quarto c'est merveilleux !

J’espère que cette astuce vous sera utile pour rédiger plus facilement vos documents pédagogiques avec Quarto, que ce soit pour vos TD, TP ou supports de cours.
 

Mais au-delà de l’enseignement, Quarto est un outil incroyablement polyvalent : il permet aussi bien de rédiger des rapports d’analyse statistique, des rapports de projet, ou encore des articles scientifiques complets et reproductibles.

Je dis souvent que Ne pas utiliser Quarto, c’est un peu comme utiliser R sans RStudio !

Grâce à lui, vous gagnez à la fois en :

  • temps : plus besoin de copier-coller vos résultats à chaque mise à jour des données ; tout se met à jour automatiquement.
  • clarté et organisation : tout est regroupé dans un même document – code, texte et résultats – pour un travail plus fluide et sans erreurs.
  • collaboration : partagez un seul fichier qui contient à la fois votre script et vos résultats, pour des analyses facilement reproductibles.

Si vous voulez aller plus loin

Pour aller plus loin et apprendre à exploiter tout le potentiel de Quarto, je propose une formation professionnelle intitulée “Documents automatisés avec Quarto – l’essentiel de Quarto”, qui aura lieu en visioconférence le 4 novembre 2025.

 

En une journée, vous découvrirez toutes les bases indispensables pour bien débuter avec Quarto et produire des documents dynamiques, clairs et professionnels.

Vous apprendrez à :

  • 🌱 comprendre la structure d’un document Quarto (.qmd), les différents formats de sortie (HTML, PDF, Word) et les principales options de configuration ;

  • 🎨 insérer et mettre en forme vos éléments : texte, code R, graphiques, tableaux, images, et titres numérotés automatiquement ;

  • 🚀 exploiter les fonctionnalités avancées : création d’une table des matières, ajout de références bibliographiques, renvois internes, et personnalisation de la mise en page (modèles Word, fichier CSS, etc.).

Et surtout, vous repartirez avec un template complet prêt à l’emploi, que vous pourrez réutiliser pour tous vos futurs documents Quarto — qu’il s’agisse de rapports d’analyse, de supports de cours ou de rapports de projet.

👉 Places limitées à 5 inscriptions seulement.

🏷️ Le Tarif est de 490€ HT

📩 Pour vous inscrire,  téléchargez le formulaire d’inscription (en cliquant ici), complétez le, et retournez le moi à claire@delladata.fr.

Poursuivez votre lecture

📩 Envie de recevoir plus d’astuces et de tutoriels sur R ?

Abonnez-vous gratuitement à la lettre de diffusion du blog pour ne rien manquer !

Vous serez directement informés de la publication de mes nouveaux articles, de la mise à disposition de ressources exclusives, et des actualités sur mes formations.

Vous recevrez également un cadeau 🎁 de bienvenu : des fiches « aide mémoire » (ou cheat sheets) qui vous permettront de réaliser facilement les principales analyses biostatistiques avec le logiciel R 

📺 Vous préférez les vidéos ?

Vous pouvez retrouver mes tutoriels vidéo sur la chaine youtube du blog 

Vous souhaitez soutenir mon travail ?

Vous pouvez soutenir mon travail en faisant un don libre sur le Tipeee du blog

3 réponses

  1. Bonjour Della,

    Je vous suis depuis un moment et merci pour le partage des connaissances. Grâce à vous, j’utilise aujourd’hui Quarto et j’ai appris beaucoup de choses grâce à vos contenus.

    Et si vous me le permettez, j’ai une question concernant la sortie en word du document automatique avec quarto.

    En fait quand je produis le document en Word, les titres des tableaux ne sortent pas, ça me sort un truc de ce genre ?caption et aussi quand je referencie les tableaux avec @tbl_… , ça ne sort pas. Par contre, pour les graphiques, je ne sais pas ce souci.

    Je rappelle que, je produis mes tableaux via le package gtsummary et flextable.

    Je ne sais pas si vous avez une astuce à me montrer.

    Merci par avance pour votre réponse !
    Kofivi YENA, Biostatisticien

    1. Bonjour,

      Je n’ai pas rencontré cette difficulté.
      Est-ce que vous pouvez poster ici, en commentaire, un petit script quarto qui génère ce problème. Comme cela, je pourrais le tester et vous faire un retour.
      Merci d’avance

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

3 réponses

  1. Bonjour Della,

    Je vous suis depuis un moment et merci pour le partage des connaissances. Grâce à vous, j’utilise aujourd’hui Quarto et j’ai appris beaucoup de choses grâce à vos contenus.

    Et si vous me le permettez, j’ai une question concernant la sortie en word du document automatique avec quarto.

    En fait quand je produis le document en Word, les titres des tableaux ne sortent pas, ça me sort un truc de ce genre ?caption et aussi quand je referencie les tableaux avec @tbl_… , ça ne sort pas. Par contre, pour les graphiques, je ne sais pas ce souci.

    Je rappelle que, je produis mes tableaux via le package gtsummary et flextable.

    Je ne sais pas si vous avez une astuce à me montrer.

    Merci par avance pour votre réponse !
    Kofivi YENA, Biostatisticien

    1. Bonjour,

      Je n’ai pas rencontré cette difficulté.
      Est-ce que vous pouvez poster ici, en commentaire, un petit script quarto qui génère ce problème. Comme cela, je pourrais le tester et vous faire un retour.
      Merci d’avance

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Fonctions statistiques R

Aide mémoire off'R ;)

Enregistrez vous pour recevoir gratuitement mes fiches « aide mémoire » (ou cheat sheets) qui vous permettront de réaliser facilement les principales analyses biostatistiques avec le logiciel R et pour être informés des mises à jour du site.