Skip to content

Commit

Permalink
i18n(fr): update guides/environment-variables.mdx (#11131)
Browse files Browse the repository at this point in the history
See #11118

Co-authored-by: Thomas Bonnet <[email protected]>
  • Loading branch information
ArmandPhilippot and thomasbnt authored Mar 3, 2025
1 parent 4a76929 commit aa9d812
Showing 1 changed file with 15 additions and 12 deletions.
27 changes: 15 additions & 12 deletions src/content/docs/fr/guides/environment-variables.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ sidebar:
description: Apprendre comment utiliser les variables d'environnement dans un projet Astro.
i18nReady: true
---

import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro'
import ReadMore from '~/components/ReadMore.astro';

Expand Down Expand Up @@ -79,6 +78,7 @@ Créez simplement un fichier `.env` dans le répertoire du projet et ajoutez-y q
```ini title=".env"
# Elle sera disponible uniquement pour le code exécuté sur le serveur !
DB_PASSWORD="foobar"

# Elle sera disponible partout !
PUBLIC_POKEAPI="https://pokeapi.co/api/v2"
```
Expand Down Expand Up @@ -140,17 +140,20 @@ Vous pouvez également utiliser [l'assistant `loadEnv` de Vite](https://main.vit

```js title="astro.config.mjs"
import { loadEnv } from "vite";

const { SECRET_PASSWORD } = loadEnv(process.env.NODE_ENV, process.cwd(), "");
```

:::note
`pnpm` ne vous permet pas d'importer des modules qui ne sont pas directement installés dans votre projet. Si vous utilisez `pnpm`, vous devrez installer `vite` pour utiliser l'assistant `loadEnv`.

```sh
pnpm add vite --save-dev
pnpm add -D vite
```
:::

### Utilisation en CLI

Vous pouvez également ajouter des variables d'environnement lorsque vous exécutez votre projet :

<PackageManagerTabs>
Expand All @@ -173,7 +176,7 @@ Vous pouvez également ajouter des variables d'environnement lorsque vous exécu

## Obtenir des variables d'environnement

Les variables d'environnement dans Astro sont accessibles avec `import.meta.env`, en utilisant la fonctionnalité [import.meta ajoutée dans ES2020](https://tc39.es/ecma262/2020/#prod-ImportMeta), au lieu de `process.env`.
Les variables d'environnement dans Astro sont accessibles avec `import.meta.env`, en utilisant la fonctionnalité [`import.meta` ajoutée dans ES2020](https://tc39.es/ecma262/2020/#prod-ImportMeta), au lieu de `process.env`.

Par exemple, utilisez `import.meta.env.PUBLIC_POKEAPI` pour obtenir la variable d'environnement `PUBLIC_POKEAPI`.

Expand All @@ -185,7 +188,7 @@ const data = await db(import.meta.env.DB_PASSWORD);
const data = fetch(`${import.meta.env.PUBLIC_POKEAPI}/pokemon/squirtle`);
```
Lorsque vous utilisez SSR, les variables d'environnement peuvent être accédées au moment de l'exécution en fonction de l'adaptateur SSR utilisé. Avec la plupart des adaptateurs, vous pouvez accéder aux variables d'environnement avec `process.env`, mais certains adaptateurs fonctionnent différemment. Pour l'adaptateur Deno, vous utiliserez `Deno.env.get()`. Voir comment [accéder au runtime Cloudflare](/fr/guides/integrations-guide/cloudflare/#cloudflare-runtime) pour gérer les variables d'environnement lors de l'utilisation de l'adaptateur Cloudflare. Astro vérifiera d'abord l'environnement du serveur pour les variables, et si elles n'existent pas, Astro les cherchera dans les fichiers .env.
Lorsque vous utilisez SSR, les variables d'environnement peuvent être accédées au moment de l'exécution en fonction de l'adaptateur SSR utilisé. Avec la plupart des adaptateurs, vous pouvez accéder aux variables d'environnement avec `process.env`, mais certains adaptateurs fonctionnent différemment. Pour l'adaptateur Deno, vous utiliserez `Deno.env.get()`. Voir comment [accéder au runtime Cloudflare](/fr/guides/integrations-guide/cloudflare/#cloudflare-runtime) pour gérer les variables d'environnement lors de l'utilisation de l'adaptateur Cloudflare. Astro vérifiera d'abord l'environnement du serveur pour les variables, et si elles n'existent pas, Astro les cherchera dans les fichiers `.env`.
## Variables d'environnement avec sûreté du typage
Expand All @@ -200,7 +203,7 @@ L'API `astro:env` vous permet de configurer un schéma avec sûreté du typage p
Pour configurer un schéma, ajoutez l'option `env.schema` à votre configuration Astro :
```js title="astro.config.mjs" ins={4-8}
import { defineConfig } from 'astro/config'
import { defineConfig } from "astro/config"
export default defineConfig({
env: {
Expand All @@ -211,10 +214,10 @@ export default defineConfig({
})
```
Vous pouvez ensuite [enregistrer des variables sous forme de chaîne de caractères, de nombre, d'énumération ou de booléen](#types-de-données) en utilisant l'assistant `envField`. Définissez le [type de variable d'environnement](#types-de-variables) Définissez le type de variable d'environnement en fournissant les propriétés `context` (client ou serveur) et `access` (secret ou public) pour chaque variable, et transmettez toutes les propriétés supplémentaires telles que `optional` ou `default` dans un objet :
Vous pouvez ensuite [enregistrer des variables sous forme de chaîne de caractères, de nombre, d'énumération ou de booléen](#types-de-données) en utilisant l'assistant `envField`. Définissez le [type de variable d'environnement](#types-de-variables) en fournissant les propriétés `context` (`"client"` ou `"server"`) et `access` (`"secret"` ou `"public"`) pour chaque variable, et transmettez toutes les propriétés supplémentaires telles que `optional` ou `default` dans un objet :
```js title="astro.config.mjs" ins="envField"
import { defineConfig, envField } from 'astro/config'
import { defineConfig, envField } from "astro/config"
export default defineConfig({
env: {
Expand Down Expand Up @@ -256,7 +259,7 @@ fetch(`${API_URL}/ping`)
### Types de variables
Il existe trois types de variables d'environnement, déterminées par la combinaison des paramètres `context` (client ou serveur) et `access` (secret ou public) définis dans votre schéma :
Il existe trois types de variables d'environnement, déterminées par la combinaison des paramètres `context` (`"client"` ou `"server"`) et `access` (`"secret"` ou `"public"`) définis dans votre schéma :
- **Variables publiques du client** : Ces variables se retrouvent à la fois dans vos bundles client et serveur finaux et sont accessibles à la fois depuis le client et le serveur via le module `astro:env/client` :
Expand Down Expand Up @@ -309,9 +312,9 @@ envField.boolean({
envField.enum({
// context & access
values: ['foo', 'bar', 'baz'],
values: ["foo", "bar", "baz"],
optional: true,
default: 'baz',
default: "baz",
})
```
Expand All @@ -325,9 +328,9 @@ Malgré la définition de votre schéma, vous souhaiterez peut-être récupérer
import {
FOO, // boolean
getSecret
} from 'astro:env/server'
} from "astro:env/server"
getSecret('FOO') // string | undefined
getSecret("FOO") // string | undefined
```
<ReadMore>Apprenez-en davantage dans [la référence de l'API](/fr/reference/modules/astro-env/#getsecret).</ReadMore>
Expand Down

0 comments on commit aa9d812

Please sign in to comment.