Skip to content

Commit bd2da02

Browse files
i18n(fr): add experimental-flags/serialized-configuration.mdx
See withastro#10826 and withastro#10842
1 parent 0c88992 commit bd2da02

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
title: Configuration sérialisée expérimentale
3+
sidebar:
4+
label: Configuration sérialisée
5+
i18nReady: true
6+
---
7+
8+
import Since from '~/components/Since.astro';
9+
10+
<p>
11+
12+
**Type :** `boolean`<br />
13+
**Par défaut :** `false`<br />
14+
15+
<Since v="5.2.0" />
16+
</p>
17+
18+
Cette fonctionnalité permet d'accéder au module virtuel `astro:config` qui expose une version non exhaustive, sérialisable et assurant la sûreté du typage de la configuration Astro à travers deux sous-modules.
19+
20+
Pour un aperçu complet et pour donner votre avis sur cette API expérimentale, consultez la [RFC du manifeste sérialisé](https://github.com/withastro/roadmap/blob/feat/serialised-config/proposals/0051-serialized-manifest.md).
21+
22+
Pour activer ce module virtuel, ajoutez l'option de fonctionnalité `experimental.serializeConfig` à votre configuration Astro :
23+
24+
```js title="astro.config.mjs" ins={3-5}
25+
import {defineConfig} from "astro/config"
26+
export default defineConfig({
27+
experimental: {
28+
serializeConfig: true
29+
}
30+
})
31+
```
32+
33+
Ensuite, les valeurs de configuration peuvent être utilisées par n’importe quel fichier de votre projet Astro :
34+
```js title="src/utils.js" ins={1}
35+
import { trailingSlash } from "astro:config/client";
36+
function addForwardSlash(path) {
37+
if (trailingSlash === "always") {
38+
return path.endsWith("/") ? path : path + "/"
39+
} else {
40+
return path
41+
}
42+
}
43+
```
44+
## Sous-modules
45+
46+
Le module virtuel expose deux sous-modules permettant d'accéder à différents sous-ensembles de vos valeurs de configuration. Cela protège vos informations en ne mettant à disposition du client que certaines données.
47+
48+
Toutes les valeurs de configuration disponibles sont accessibles depuis `astro:config/server`. Cependant, pour le code exécuté côté client, seules les valeurs exposées par `astro:config/client` seront disponibles.
49+
50+
### `astro:config/client`
51+
52+
Le sous-module client vous permet d'accéder à un sous-ensemble des valeurs de configuration dans `astro:config/server` qui peuvent être exposées en toute sécurité au navigateur, telles que `trailingSlash`, `build.format`, `i18n`, etc. Utilisez ce sous-module pour le code côté client qui est exécuté sur le client.
53+
54+
Il s'agit d'une fonctionnalité en cours de développement. Pour obtenir une liste complète et à jour des valeurs de configuration disponibles dans `astro:config/client`, veuillez consulter [l'API proposée dans la RFC de la fonctionnalité](https://github.com/withastro/roadmap/blob/feat/serialised-config/proposals/0051-serialized-manifest.md#astroconfigclient)
55+
56+
### `astro:config/server`
57+
58+
Le sous-module serveur vous permet d'accéder à un ensemble non exhaustif de vos valeurs de configuration à partir de `astro.config.mjs`. Cela inclut les valeurs `astro:config/client` telles que `trailingSlash` et `i18n`, mais également des informations plus sensibles sur la configuration de votre système de fichiers qu'il n'est pas sûr d'exposer au client, telles que `srcDir`, `cacheDir`, `outDir`.
59+
60+
Il s'agit d'une fonctionnalité en cours de développement. Pour obtenir une liste complète et à jour des valeurs de configuration disponibles dans `astro:config/server`, veuillez consulter [l'API proposée dans la RFC de la fonctionnalité](https://github.com/withastro/roadmap/blob/feat/serialised-config/proposals/0051-serialized-manifest.md#astroconfigserver), donc tenter de les utiliser générera une erreur.

0 commit comments

Comments
 (0)