> ## 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.

# Variables d'environnement

> Lisez, ajoutez, remplacez et supprimez les variables d'environnement d'une application avec client.apps.envs.

Les variables d'environnement se trouvent sur `client.apps.envs`. Chaque méthode prend d'abord l'identifiant de l'application et renvoie les variables de l'application sous forme d'un simple `dict[str, str]`.

<Note>
  Les applications statiques n'ont pas de variables d'environnement : chaque méthode répond 400 `STATIC_APP_ENV_NOT_SUPPORTED`. Une modification prend effet au prochain [redémarrage](/fr/sdks/py/managing_application#démarrer-arrêter-et-redémarrer).
</Note>

## Lire les variables

```python theme={"system"}
envs = client.apps.envs.get(app_id)

print(envs.get("NODE_ENV"))
```

## Ajouter ou mettre à jour des variables

`envs.set(app_id, envs)` ajoute les clés fournies et écrase celles qui existent déjà. Les autres variables sont conservées. La méthode renvoie toutes les variables après la modification.

```python theme={"system"}
envs = client.apps.envs.set(app_id, {
    "NODE_ENV": "production",
    "LOG_LEVEL": "info",
})
```

## Remplacer toutes les variables

`envs.replace(app_id, envs)` remplace **toutes** les variables par l'ensemble fourni. Les clés absentes du dict sont supprimées. `{}` les efface toutes.

```python theme={"system"}
client.apps.envs.replace(app_id, {"NODE_ENV": "production"})
```

## Supprimer des variables

`envs.delete(app_id, keys)` supprime les clés fournies et renvoie les variables restantes. `keys` est une liste (tout itérable de chaînes) ou une clé unique.

```python theme={"system"}
remaining = client.apps.envs.delete(app_id, ["LOG_LEVEL"])

# A single key also works
remaining = client.apps.envs.delete(app_id, "LOG_LEVEL")
```

## Limites et erreurs

| Statut | Code                           | Quand                                                                            |
| ------ | ------------------------------ | -------------------------------------------------------------------------------- |
| 400    | `STATIC_APP_ENV_NOT_SUPPORTED` | L'application est statique                                                       |
| 400    | `INVALID_ENV_CONTENT`          | Les variables ne forment pas un objet valide (ou, pour `delete`, une liste vide) |
| 400    | `TOO_MANY_ENV_VARS`            | Le résultat dépasserait 256 variables                                            |
| 400    | `ENV_NAME_TOO_LONG`            | Une clé dépasse 1024 caractères                                                  |
| 400    | `ENV_CONTENT_TOO_LONG`         | Une valeur dépasse 4096 caractères                                               |
| 400    | `READ_FAILED`                  | Le cluster n'a pas pu lire les variables                                         |
