Variables d'environnement — token & secrets
Ne mets jamais ton token Discord (ou un mot de passe) en dur dans ton code : quiconque lit le fichier le récupère, et un push GitHub le divulgue à tout Internet. La bonne pratique : le stocker dans une variable d'environnement et le lire au démarrage.
1. Définir la variable dans le panel
- Ouvre ton serveur → onglet Variables ;
- Nom :
DISCORD_TOKEN(majuscules, chiffres et_) ; valeur : ton token ; - Coche « Secret » : la valeur est chiffrée au repos (AES-256-GCM) et masquée dans l'interface ;
- Ajoute — c'est tout.
Le panel écrit alors automatiquement un fichier .env à la racine de ton serveur (visible dans l'onglet Fichiers) avec toutes tes variables :
# Généré par ecloudserv (onglet Variables du panel).
DISCORD_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxx
DB_PASSWORD=yyyyyyyyChaque ajout, modification ou suppression réécrit ce fichier — ne le modifie pas à la main. Redémarre ton serveur après un changement pour que ton code relise les nouvelles valeurs.
2. Lire la variable dans ton code
Node.js
// Node.js ≥ 20 : lance avec node --env-file=.env index.js (rien à installer)
const token = process.env.DISCORD_TOKEN;
// Sinon, avec le paquet dotenv (npm install dotenv) :
require("dotenv").config();
const client = new Client({ intents: [...] });
client.login(process.env.DISCORD_TOKEN);Python
# pip install python-dotenv
import os
from dotenv import load_dotenv
load_dotenv()
bot.run(os.environ["DISCORD_TOKEN"])Java
// Avec dotenv-java (io.github.cdimascio:dotenv-java) :
Dotenv dotenv = Dotenv.load();
JDA jda = JDABuilder.createDefault(dotenv.get("DISCORD_TOKEN")).build();PHP
// composer require vlucas/phpdotenv
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
$token = $_ENV['DISCORD_TOKEN'];Go
// go get github.com/joho/godotenv
godotenv.Load()
token := os.Getenv("DISCORD_TOKEN")Rust
// cargo add dotenvy
dotenvy::dotenv().ok();
let token = std::env::var("DISCORD_TOKEN").expect("DISCORD_TOKEN manquant");C# (.NET)
// dotnet add package DotNetEnv
DotNetEnv.Env.Load();
var token = Environment.GetEnvironmentVariable("DISCORD_TOKEN");Deno
// Deno ≥ 1.38 : deno run --allow-env --env main.ts
const token = Deno.env.get("DISCORD_TOKEN");Bun
// Bun charge le .env tout seul, rien à installer :
const token = process.env.DISCORD_TOKEN; // ou Bun.env.DISCORD_TOKEN3. Les bons réflexes
- Jamais de token en dur dans le code, ni dans un dépôt GitHub — ajoute
.envà ton.gitignore; - Token divulgué ? Régénère-le immédiatement dans le portail développeur Discord, puis mets à jour la variable dans le panel ;
- Coche « Secret » pour tout ce qui est sensible (tokens, mots de passe, clés d'API) : chiffré en base, masqué à l'écran ;
- Après chaque changement de variable, redémarre ton serveur.
Voir aussi : l'onglet Variables dans le guide du panel · héberger un bot · FAQ.
