Gérer les variables d'environnement de son app
Ajoutez, modifiez et sécurisez vos variables d'environnement (clés API, secrets) depuis le panel.
Gérer les variables d’environnement de son app
Les variables d’environnement stockent la configuration sensible ou variable d’une application (clés API, URL de base de données, secrets de session, tokens). Sur onesubnet Cloud, elles se gèrent depuis le panel et sont injectées dans le runtime au démarrage.
Cause / Le problème
Coder un secret en dur dans le code source (commit Git) le rend visible à tous et impossible à rotationner. Les variables d’environnement séparent la configuration du code et permettent de changer une clé sans redéployer l’application.
Solution
- Ouvrez votre app dans le panel Cloud → onglet Environment / Variables.
- Ajoutez une variable : nom (ex.
DATABASE_URL), valeur, puis confirmez. Les noms suivent la conventionMAJUSCULES_AVEC_UNDERSCORES. - Types de variables courants :
- Connexions :
DATABASE_URL,REDIS_URL. - Auth :
JWT_SECRET,SESSION_SECRET. - APIs tierces :
STRIPE_SECRET_KEY,DISCORD_TOKEN,SMTP_PASSWORD. - Runtime :
NODE_ENV=production,PORT=3000,LOG_LEVEL=info.
- Connexions :
- Marquez les secrets comme sensibles si le panel propose l’option Secret / Masked : la valeur est masquée dans l’UI et n’apparaît pas dans les logs.
- Accédez aux variables dans votre code selon le runtime :
- Node.js / Bun / Deno :
process.env.DATABASE_URL. - Python :
os.environ["DATABASE_URL"]ou viapython-dotenvlocalement. - Go :
os.Getenv("DATABASE_URL"). - Java :
System.getenv("DATABASE_URL"). - C# (.NET) :
Environment.GetEnvironmentVariable("DATABASE_URL")ou configurationIConfiguration. - Elixir :
System.get_env("DATABASE_URL"). - Dart :
Platform.environment["DATABASE_URL"]. - Rust :
std::env::var("DATABASE_URL").
- Node.js / Bun / Deno :
- Redémarrez l’app après modification : les variables sont injectées au boot, pas à chaud.
- Rotation : changez la valeur, redémarrez, et l’ancienne clé cesse d’être utilisée. Pour une clé API Stripe ou un secret JWT, faites une rotation tous les 6-12 mois.
- Ne commitez jamais un
.enven Git. Localement, utilisez un.envignoré par.gitignore; en production, le panel est la seule source.
Pour partager la même configuration entre environnements (preview, prod), dupliquez les variables via l’outil d’import/export du panel. Un secret compromis en production doit être révoqué chez le fournisseur (Stripe, Discord…) et remplacé, pas seulement supprimé du panel.