<!--
  canonical-url: https://www.avonture.be/fr/blog/quarto-includes-shortcode
  published:     2024-04-13
  This is a static plain-Markdown mirror generated at build time.
  Visit the canonical URL above for the fully rendered page, with images and interactive components.
-->

# Le short code includes de Quarto

> Découvrez comment utiliser le short code includes de Quarto pour découper de longs documents en plusieurs fichiers organisés et simplifier votre écriture.

---
![Le short code includes de Quarto](/img/v2/quarto.webp)

**TL;DR**

Cet article présente le short code `{{< include >}}` de Quarto, qui permet de découper un long document en plusieurs petits fichiers Markdown et de les fusionner au rendu en référençant leurs chemins relatifs depuis un fichier `.qmd` principal.

Avec le short code `includes` de Quarto, l'écriture d'un long document peut facilement être découpée en plusieurs documents plus petits.

*`includes` découpe un document en morceaux fixes. Quand la partie répétée est la même *structure* remplie avec des valeurs différentes, [Using Mustache templating with Quarto](/blog/quarto-mustache) et [Using variables from external file in your Quarto project](/blog/quarto-project-variables) sont les bons outils.*

Imaginez le fichier `main.qmd` suivant :

**main.qmd**

```qmd
# My thesis in Latin

{{< include chapter1.md >}}

{{< include chapter2.md >}}
```

Quarto va alors fusionner les trois fichiers quand vous faites le rendu de `main.qmd`.

> **Image Docker avec Quarto:**
>
> Si vous n'avez pas encore d'image Docker avec Quarto, lisez cet article [Running Quarto Markdown in Docker](/blog/docker-quarto).

## Le tag includes {#includes-tag}

Le tag est simple, il suffit d'indiquer le chemin relatif du fichier à inclure. Pour la syntaxe détaillée, voyez la [documentation officielle](https://quarto.org/docs/authoring/includes.html).

## Résultat {#result}

Lancer `quarto render main.qmd --to html` sur le fichier `main.qmd` montré ci-dessus fusionne les
fichiers inclus en un seul document :

![Quarto includes](./images/includes.webp)

Voici ce que contient réellement chaque fichier inclus.

Voici un contenu bidon pour `chapter1.md` :

**chapter1.md**

```markdown
## Chapter 1

Voluptatem minus labore architecto sed voluptas molestiae perferendis. Sed voluptatem ut amet at blanditiis sunt et exercitationem quidem. Vel id impedit dicta omnis repudiandae iure.

Expedita magni facere. Ullam non non sint qui provident. Ea beatae voluptatem pariatur. Et beatae error ea aut neque omnis pariatur rerum ut.

Ad aut nobis magni aut est dicta adipisci est. Quo reiciendis eum aut rem. Dolores sit magni non.
```

Et pour `chapter2.md` :

**chapter2.md**

```markdown
## Chapter 2

Iure repudiandae perferendis maiores dolorem consequuntur exercitationem suscipit.

Animi voluptatem est quia. Quia id optio. Architecto ut ipsa voluptas minima voluptate accusamus architecto.

Consequatur debitis et sunt eos quod qui unde aut.
```

Maintenant, en lançant par exemple `quarto render main.qmd --to html`, Quarto va fusionner ces deux fichiers (et `main.qmd`) dans la page rendue montrée ci-dessus.

> **Qu'est-ce qu'un fichier `.qmd` ?:**
>
> Pour Quarto, l'extension n'a pas beaucoup d'importance : que ce soit `.qmd` ou `.md`, le traitement est le même.
>
> Par contre, il est sans doute plus intéressant pour nous d'utiliser l'extension `.qmd` quand on emploie une syntaxe propre à Quarto, comme c'est le cas ici.
