# Variables d'environnement

Cette page donne les règles qui s’appliquent aux variables d’environnement. Pour les gérer pas à pas, voir [Gérer les variables](/docs/guides/variables-d-environnement/).

## Nom

| Règle                | Valeur                                            |
| -------------------- | ------------------------------------------------- |
| Caractères autorisés | Lettres, chiffres et `_`                          |
| Premier caractère    | Une lettre ou `_`, pas un chiffre                 |
| Longueur             | 256 caractères au plus                            |
| Noms réservés        | Ceux qui commencent par `VERCEL_` ou `AGENTHOST_` |

Un même nom peut exister une fois par environnement.

## Valeur et note

| Champ  | Limite                 |
| ------ | ---------------------- |
| Valeur | 64 Ko au plus          |
| Note   | 500 caractères au plus |

## Environnements

| Environnement | Utilisé par                                                | Télécharge avec `vercel pull` |
| ------------- | ---------------------------------------------------------- | ----------------------------- |
| Production    | `vercel build --prod`, les déploiements de production      | `--environment=production`    |
| Preview       | Les builds de toutes les branches autres que la production | `--environment=preview`       |
| Développement | Ton poste de développement                                 | Par défaut, sans option       |

## Variables fournies par la plateforme

Host ajoute ces variables au build, sans que tu les crées :

| Variable                        | Valeur                                                                                                                                             |
| ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| `VERCEL_PROJECT_PRODUCTION_URL` | Le domaine de production du projet, sans `https://`, à défaut son adresse de production `<projet>.hgdc.cloud`. Toujours présente, en preview aussi |

Les noms `VERCEL_` sont réservés : tu ne peux pas en créer, et une variable du projet du même nom n’écrase pas celle de la plateforme.

## Variables sensibles

| Propriété      | Comportement                                                                                                                    |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| Affichage      | Jamais affichée après l’enregistrement, ni dans la console ni dans la CLI. Elle peut seulement être remplacée                   |
| Environnements | Production ou preview uniquement. Jamais le développement                                                                       |
| Téléchargement | Livrée uniquement au build du dépôt GitHub, par une clé limitée au projet. Absente de `vercel pull` avec une clé d’organisation |

## Synchronisation avec Doppler

| Règle                       | Valeur                                                      |
| --------------------------- | ----------------------------------------------------------- |
| Variables par configuration | 300 au plus                                                 |
| Métadonnées Doppler         | Exclues : `DOPPLER_PROJECT`, `DOPPLER_CONFIG` et similaires |
| Noms réservés               | Ignorés                                                     |
| Valeurs de plus de 64 Ko    | Ignorées et signalées                                       |
| Synchronisation de secours  | Toutes les six heures, sans webhook                         |

Voir [Synchroniser depuis Doppler](/docs/guides/synchroniser-doppler/).

## Ce que le site publie

Tout ce que le build écrit dans les fichiers du site est public. Une variable lue dans le navigateur, comme celles qui commencent par `PUBLIC_`, `VITE_` ou `NEXT_PUBLIC_`, ne doit jamais contenir un secret.
