---
title: "Variables d'environnement et secrets : la doc de while.sh"
url: https://while.sh/fr/docs/briques/secrets/
updated: 2026-11-09
---

# Variables et secrets

Vos clés et vos mots de passe sont gardés chiffrés par while, jamais dans le code ni dans while.yaml. Ils arrivent à votre appli à la mise en ligne suivante.

> Vous, à votre agent : Ajoute la variable LOG_LEVEL=info.

## Ce que votre agent écrit

Votre agent l'écrit dans while.yaml, à la racine de votre appli :

```yaml titre="while.yaml"
services:
  - name: web
    port: 3000
    env:
      MODE: demo
      STRIPE_KEY: { secret: paiement/cle }
      CLE_API: { secret: api/cle, file: true }
```

## Quand vous en servir

Servez-vous-en pour toute clé et tout mot de passe : jamais dans while.yaml, jamais dans le code.

## Comment ça marche

Vos clés et vos mots de passe se posent avec `set_env`, ou se référencent dans while.yaml, et while les garde chiffrés dans son coffre. Ils arrivent à l'appli à la mise en ligne suivante, en variable ou en fichier dans `/run/secrets/<NOM>`.

## Ce qu'il faut savoir

Un secret posé en fichier (`file: true`) n'arrive jamais en variable. L'appli le lit dans `/run/secrets/<NOM>` (en Node avec readFile, en Python avec `Path.read_text`, en Go avec `os.ReadFile`), en retirant le saut de ligne final s'il y en a un. Les variables que while pose lui-même, comme `DATABASE_URL` ou les adresses des connexions, gardent leur nom.

Dans un projet lié à une connexion fédérée dont la case « valider chaque mise en production » est cochée, un secret n'arrive jamais en variable d'environnement : `set_env` et la mise en production le refusent, et il se pose en fichier. Dans ce projet, les variables sont toutes en clair, et montrées à la personne qui valide.

## Les outils MCP de votre agent

Votre agent s'en occupe avec l'outil `set_env`.

## Guides

- [Les variables d'environnement et les secrets de votre appli, hors du code, avec votre agent IA](/fr/guides/variables-et-secrets/)
