Skip to content

Commit 455f8af

Browse files
i18n(fr): update guides/sessions.mdx (#13833)
Co-authored-by: Thomas Bonnet <thomasbnt@protonmail.com>
1 parent a06cf5c commit 455f8af

1 file changed

Lines changed: 66 additions & 3 deletions

File tree

src/content/docs/fr/guides/sessions.mdx

Lines changed: 66 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ description: Partagez des données entre les requêtes de pages rendues à la de
44
i18nReady: true
55
---
66

7+
import { Steps } from '@astrojs/starlight/components';
8+
import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro';
79
import Since from '~/components/Since.astro';
810
import ReadMore from '~/components/ReadMore.astro';
911

@@ -35,17 +37,78 @@ import vercel from '@astrojs/vercel'
3537
export default defineConfig({
3638
adapter: vercel()
3739
session: {
38-
driver: sessionDrivers.redis({
39-
url: process.env.REDIS_URL
40+
driver: sessionDrivers.lruCache({
41+
max: 800,
4042
}),
4143
}
4244
})
4345
```
4446

4547
<ReadMore>
46-
Consultez [l'option de configuration `session`](/fr/reference/configuration-reference/#options-des-sessions) pour plus de détails sur la configuration d'un pilote de stockage et d'autres options configurables.
48+
Consultez [l'option de configuration `session`](/fr/reference/configuration-reference/#options-des-sessions) pour plus de détails sur la configuration d'un pilote de stockage et d'autres options configurables.
4749
</ReadMore>
4850

51+
### Remplacement de la configuration lors de l'exécution
52+
53+
Par défaut, les pilotes de session sont configurés au moment de la compilation, et toute [variable d'environnement](/fr/guides/environment-variables/) utilisée sera incorporée au code compilé. Cela signifie que vous ne pouvez pas remplacer la configuration lors de l'exécution.
54+
55+
Lorsque vous avez besoin d'une configuration différente (p. ex. pour vous connecter à un service externe), définissez-la dans un fichier séparé. Utilisez ensuite ce fichier comme [point d'entrée du pilote](/fr/reference/session-driver-reference/#entrypoint).
56+
57+
L'exemple suivant tire parti de la [compatibilité avec Unstorage](/fr/reference/session-driver-reference/#compatibilité-avec-unstorage) pour configurer le pilote Redis dans son propre point d'entrée :
58+
59+
<Steps>
60+
1. Installez le [paquet `unstorage`](https://unstorage.unjs.io/guide) :
61+
<PackageManagerTabs>
62+
<Fragment slot="npm">
63+
```sh
64+
npm install unstorage
65+
```
66+
</Fragment>
67+
<Fragment slot="pnpm">
68+
```sh
69+
pnpm add unstorage
70+
```
71+
</Fragment>
72+
<Fragment slot="yarn">
73+
```sh
74+
yarn add unstorage
75+
```
76+
</Fragment>
77+
</PackageManagerTabs>
78+
79+
2. Créez un fichier pour la configuration du pilote (par exemple `src/pilote-session.ts`) et exportez une fonction par défaut qui renvoie l'instance du pilote :
80+
```ts title="src/pilote-session.ts"
81+
import type { SessionDriver } from "astro";
82+
import redisDriver from "unstorage/drivers/redis";
83+
import { REDIS_HOST, REDIS_PORT } from "astro:env";
84+
85+
export default function (): SessionDriver {
86+
return redisDriver({
87+
host: REDIS_HOST,
88+
port: REDIS_PORT,
89+
});
90+
}
91+
```
92+
93+
3. Utilisez ce fichier comme point d'entrée du pilote dans votre configuration d'Astro :
94+
```js title="astro.config.mjs" {11-13}
95+
import { defineConfig, envField, sessionDrivers } from "astro/config";
96+
import vercel from "@astrojs/vercel";
97+
98+
export default defineConfig({
99+
adapter: vercel(),
100+
env: {
101+
REDIS_HOST: envField.string({ context: "server", access: "public", default: "localhost" }),
102+
REDIS_PORT: envField.number({ context: "server", access: "public", default: 6379 }),
103+
},
104+
session: {
105+
driver: {
106+
entrypoint: new URL('./src/pilote-session.ts', import.meta.url),
107+
}
108+
}
109+
});
110+
```
111+
</Steps>
49112
50113
## Interaction avec les données de session
51114

0 commit comments

Comments
 (0)