ecloudocs

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

  1. Ouvre ton serveur → onglet Variables ;
  2. Nom : DISCORD_TOKEN (majuscules, chiffres et _) ; valeur : ton token ;
  3. Coche « Secret » : la valeur est chiffrée au repos (AES-256-GCM) et masquée dans l'interface ;
  4. 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=yyyyyyyy

Chaque 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_TOKEN

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