> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Gérer les variables d'environnement via la CLI

> Listez, définissez, supprimez ou remplacez les variables d'environnement d'une application Square Cloud avec squarecloud app env, même depuis un .env.

`squarecloud app env` gère les variables d'environnement d'une application. La façon dont votre application les lit est expliquée dans [Variables d'environnement](/fr/platform/environment-variables).

`list` prend l'ID de l'app comme argument. `set`, `remove` et `replace` utilisent leurs arguments pour les variables : ils prennent donc l'ID avec `--app`. Dans les deux cas, l'ID est facultatif : consultez [comment la CLI trouve votre application](/fr/cli-reference/quickstart#comment-la-cli-trouve-votre-application).

## `squarecloud app env list`

```bash Utilisation theme={"system"}
squarecloud app env list [appID] [--json]
```

Affiche chaque variable sous la forme `KEY=value`, triées par nom.

```bash theme={"system"}
squarecloud app env list <appID> --json
# Affiche les variables sous la forme d'un objet JSON.
```

## `squarecloud app env set`

```bash Utilisation theme={"system"}
squarecloud app env set KEY=VALUE... [--from-file <path>] [--app <appID>]
```

| Option | Description |
| - | - |
| `--from-file <path>` | Lit les variables depuis un fichier au format `.env`. Les arguments `KEY=VALUE` remplacent les mêmes clés du fichier. |
| `--app <appID>` | L'application à modifier. |

Définit une ou plusieurs variables sans toucher aux autres.

```bash theme={"system"}
squarecloud app env set NODE_ENV=production PORT=80
# Définit deux variables sur l'app de la ligne ID=.
```

```bash theme={"system"}
squarecloud app env set --from-file .env --app <appID>
# Définit toutes les variables d'un fichier .env.
```

```bash Sortie theme={"system"}
✓ Environment variables set: 2
```

## `squarecloud app env remove`

```bash Utilisation theme={"system"}
squarecloud app env remove KEY... [--app <appID>]
squarecloud app env remove --all [--app <appID>] [-y]
```

**Alias :** `delete`, `unset`

| Option | Description |
| - | - |
| `--all` | Supprime toutes les variables de l'application, après une confirmation. Ne peut pas être combinée avec des noms de variables. |
| `-y`, `--yes` | Ignore la confirmation de `--all`. |
| `--app <appID>` | L'application à modifier. |

```bash theme={"system"}
squarecloud app env remove API_KEY OLD_FLAG
# Supprime deux variables.
```

## `squarecloud app env replace`

```bash Utilisation theme={"system"}
squarecloud app env replace KEY=VALUE... [--from-file <path>] [--app <appID>] [-y]
```

| Option | Description |
| - | - |
| `--from-file <path>` | Lit les variables depuis un fichier au format `.env`. |
| `-y`, `--yes` | Ignore l'invite de confirmation. |
| `--app <appID>` | L'application à modifier. |

Remplace l'**ensemble** des variables par celles que vous passez : les variables que vous ne listez pas sont supprimées. La commande demande d'abord une confirmation `y/N` et nécessite au moins une variable. Pour supprimer toutes les variables, utilisez `remove --all`.

```bash theme={"system"}
squarecloud app env replace --from-file .env --app <appID> -y
# Aligne exactement les variables de l'app sur celles du .env, sans demander.
```

## Valeurs avec des espaces et des caractères spéciaux

Votre application charge ses variables via un shell. Pour qu'elle reçoive chaque valeur exactement telle que vous l'avez saisie, la CLI met entre guillemets les valeurs qui contiennent des espaces ou des caractères comme `$`, `&`, `;` ou `#`. `env list` affiche ensuite la valeur stockée avec ces guillemets.

```bash theme={"system"}
squarecloud app env set 'GREETING=hello world'
# L'application lit : hello world
```

Une valeur que vous entourez d'une paire de guillemets est envoyée telle quelle, pour que le shell de votre application puisse l'interpréter. Utilisez-la pour construire une valeur à partir d'une autre variable :

```bash theme={"system"}
squarecloud app env set 'API_URL="${HOST}:3000"'
# L'application lit la valeur de HOST suivie de :3000.
```

## Le format de `--from-file`

* Une paire `KEY=VALUE` par ligne. Les lignes vides, les lignes qui commencent par `#` et les lignes sans `=` sont ignorées.
* Un préfixe `export ` est accepté, et un BOM UTF-8 au début du fichier est ignoré.
* Une valeur entre guillemets correspondants est prise telle qu'elle apparaît entre eux.
* Dans une valeur sans guillemets, tout ce qui suit ` #` est un commentaire : `A=foo #bar` définit `foo`. Mettez entre guillemets les valeurs qui contiennent ` #`.
* Les séquences d'échappement et les valeurs sur plusieurs lignes ne sont pas prises en charge.

## Voir aussi

| Commande | API | SDK JavaScript | VS Code |
| - | - | - | - |
| `list` | [`GET .../envs`](/fr/api-reference/endpoint/apps/envs/get) | [`api.apps.envs.get()`](/fr/sdks/js/environment_variables) | [Variables d'environnement](/fr/vscode-extension/features#applications) |
| `set` | [`POST .../envs`](/fr/api-reference/endpoint/apps/envs/add_n_edit) | [`api.apps.envs.set()`](/fr/sdks/js/environment_variables) | [Variables d'environnement](/fr/vscode-extension/features#applications) |
| `remove` | [`DELETE .../envs`](/fr/api-reference/endpoint/apps/envs/remove) | [`api.apps.envs.delete()`](/fr/sdks/js/environment_variables) | [Variables d'environnement](/fr/vscode-extension/features#applications) |
| `replace` | [`PUT .../envs`](/fr/api-reference/endpoint/apps/envs/overwrite) | [`api.apps.envs.replace()`](/fr/sdks/js/environment_variables) | |
