Aller au contenu

Variables d'environnement

C'est quoi une variable d'environnement ?

Explication simple : Les variables d'environnement sont des réglages secrets (mots de passe, URLs de serveurs, clés API) que l'on stocke en dehors du code source. Chaque environnement (développement, staging, production) a ses propres valeurs.

Règle de sécurité absolue

Ne jamais committer un fichier .env sur Git. Ces fichiers contiennent des informations sensibles.
Les fichiers .env sont dans .gitignore — c'est intentionnel.


Vue d'ensemble des environnements

graph LR
    DEV[".env.development\nDéveloppement local\nMocking activé\nAPI locale"] --> STG[".env.staging\nTests d'intégration\nAPI staging"] --> PROD[".env.production\nProduction live\nAPI officielle"]
    style DEV fill:#27ae60,color:#fff
    style STG fill:#f39c12,color:#fff
    style PROD fill:#e74c3c,color:#fff
Fichier Usage API URL
.env.development Développement local http://localhost:3000/api
.env.staging Tests staging https://api-staging.darewatch.com/api
.env.production Production https://api.darewatch.com/api

Variables pour drwh_tech et drwh_immo (Next.js)

Fichier .env.development

# URL de l'API backend
NEXT_PUBLIC_API_URL=http://localhost:3000/api

# Activer le mode mock (données de démonstration)
# true = les appels API retournent des données fictives
# false = appels API réels
NEXT_PUBLIC_ENABLE_MOCKING=false
NEXT_PUBLIC_MOCK_DELAY=500

# Environnement
NEXT_PUBLIC_ENVIRONMENT=development
NEXT_PUBLIC_APP_VERSION=1.0.0

Fichier .env.staging

NEXT_PUBLIC_API_URL=https://api-staging.darewatch.com/api
NEXT_PUBLIC_ENABLE_MOCKING=false
NEXT_PUBLIC_ENVIRONMENT=staging
NEXT_PUBLIC_APP_VERSION=1.0.0

Fichier .env.production (ne jamais versionner)

NEXT_PUBLIC_API_URL=https://api.darewatch.com/api
NEXT_PUBLIC_ENABLE_MOCKING=false
NEXT_PUBLIC_ENVIRONMENT=production
NEXT_PUBLIC_APP_VERSION=1.5.0

Les variables NEXT_PUBLIC_

En Next.js, seules les variables préfixées par NEXT_PUBLIC_ sont accessibles côté navigateur.
Les variables sans ce préfixe sont uniquement accessibles côté serveur.


Variables pour drwh_group (Laravel)

Fichier apps/drwh_group/.env

APP_NAME=DrwhGroup
APP_ENV=local
APP_KEY=                          # Généré par: php artisan key:generate
APP_DEBUG=true
APP_URL=http://localhost:8002
APP_PORT=8002

LOG_CHANNEL=stack
LOG_LEVEL=debug

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=drwh_group
DB_USERNAME=root
DB_PASSWORD=

CACHE_DRIVER=file
SESSION_DRIVER=file
SESSION_LIFETIME=120

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_FROM_ADDRESS="noreply@darewatch.com"
MAIL_FROM_NAME="${APP_NAME}"

Variables importantes de drwh_group

Variable Usage Exemple
APP_KEY Clé secrète Laravel (chiffrement sessions, cookies) Générer avec php artisan key:generate
APP_URL URL de l'application http://localhost:8002
DB_* Configuration base de données Selon votre MySQL local
MAIL_* Configuration email Mailtrap pour tests

Mode Mock — données de démonstration

Le mode mock permet de travailler sans API backend réelle. Les données sont servies localement.

graph LR
    APP[Application Next.js] -->|ENABLE_MOCKING=true| MOCK[🎭 Données Mock\nLocales]
    APP -->|ENABLE_MOCKING=false| API[🔧 API Backend\nRéelle]
    style MOCK fill:#f39c12,color:#fff
    style API fill:#0066FF,color:#fff

env NEXT_PUBLIC_ENABLE_MOCKING=true NEXT_PUBLIC_MOCK_DELAY=500 # Délai simulé en ms Usage : quand le backend n'est pas disponible, pour travailler uniquement côté front.

env NEXT_PUBLIC_ENABLE_MOCKING=false NEXT_PUBLIC_API_URL=https://api.darewatch.com/api Usage : quand l'API backend est prête et disponible.


Emplacement des fichiers .env

drwh_front/                    ← Racine du monorepo
├── .env.development            ← Variables Next.js (tech + immo) dev
├── .env.staging                ← Variables Next.js staging
├── .env.example                ← Exemple à copier (dans Git)
└── apps/
    └── drwh_group/
        ├── .env                ← Variables Laravel (PAS dans Git)
        └── .env.example        ← Exemple Laravel (dans Git)

Liens complémentaires