Files
btpxpress-backend/.env.example
2025-10-01 01:37:34 +00:00

113 lines
4.5 KiB
Plaintext

# =============================================================================
# BTP XPRESS SERVER - CONFIGURATION ENVIRONNEMENT
# =============================================================================
# Copiez ce fichier vers .env et configurez les valeurs selon votre environnement
# =============================================================================
# SÉCURITÉ JWT (OBLIGATOIRE)
# =============================================================================
# ATTENTION: Générez une clé sécurisée avec: ./generate-jwt-key.sh
JWT_SECRET=your-super-secure-jwt-secret-key-minimum-32-characters-long
JWT_EXPIRATION=3600
JWT_REFRESH_EXPIRATION=86400
# =============================================================================
# BASE DE DONNÉES
# =============================================================================
DB_URL=jdbc:postgresql://localhost:5433/btpxpress
DB_USERNAME=keycloak
DB_PASSWORD=keycloak
DB_GENERATION=drop-and-create
DB_LOG_SQL=false
DB_FORMAT_SQL=false
DB_SHOW_SQL=false
# =============================================================================
# CONFIGURATION SÉCURITÉ DES MOTS DE PASSE
# =============================================================================
SECURITY_PASSWORD_MIN_LENGTH=8
SECURITY_PASSWORD_REQUIRE_UPPERCASE=true
SECURITY_PASSWORD_REQUIRE_LOWERCASE=true
SECURITY_PASSWORD_REQUIRE_DIGIT=true
SECURITY_PASSWORD_REQUIRE_SPECIAL=true
# =============================================================================
# LIMITATION DE DÉBIT (PROTECTION DDOS)
# =============================================================================
SECURITY_RATE_LIMIT_ENABLED=true
SECURITY_RATE_LIMIT_REQUESTS=60
SECURITY_RATE_LIMIT_LOGIN=5
SECURITY_RATE_LIMIT_LOCKOUT=900
# =============================================================================
# SESSION ET TIMEOUTS
# =============================================================================
SECURITY_SESSION_TIMEOUT=1800
# =============================================================================
# HTTPS ET TLS (PRODUCTION)
# =============================================================================
SECURITY_HTTPS_ENABLED=false
SECURITY_HTTPS_REDIRECT=false
# =============================================================================
# CONTENT SECURITY POLICY
# =============================================================================
SECURITY_CSP_ENABLED=true
# =============================================================================
# VALIDATION DES ENTRÉES
# =============================================================================
SECURITY_VALIDATION_SANITIZE=true
SECURITY_VALIDATION_MAX_SIZE=10485760
# =============================================================================
# CORS (CROSS-ORIGIN RESOURCE SHARING)
# =============================================================================
CORS_ALLOWED_ORIGINS=http://localhost:3000,http://localhost:5173
# =============================================================================
# LOGGING
# =============================================================================
LOG_LEVEL=INFO
# =============================================================================
# POOL DE CONNEXIONS DATABASE (PRODUCTION)
# =============================================================================
DB_POOL_MAX_SIZE=32
DB_POOL_MIN_SIZE=4
DB_POOL_INITIAL_SIZE=4
# =============================================================================
# EXEMPLES DE CONFIGURATION POUR DIFFÉRENTS ENVIRONNEMENTS
# =============================================================================
# --- DÉVELOPPEMENT ---
# JWT_SECRET=dev-secret-key-minimum-32-characters
# DB_GENERATION=drop-and-create
# LOG_LEVEL=DEBUG
# SECURITY_RATE_LIMIT_ENABLED=false
# --- TEST ---
# JWT_SECRET=test-secret-key-minimum-32-characters
# DB_GENERATION=create-drop
# DB_URL=jdbc:h2:mem:testdb
# --- PRODUCTION ---
# JWT_SECRET=votre-clé-super-sécurisée-générée-aléatoirement
# DB_GENERATION=validate
# SECURITY_HTTPS_ENABLED=true
# SECURITY_HTTPS_REDIRECT=true
# CORS_ALLOWED_ORIGINS=https://votre-domaine.com
# LOG_LEVEL=WARN
# =============================================================================
# GÉNÉRATION DE CLÉ JWT SÉCURISÉE
# =============================================================================
# Pour générer une clé JWT sécurisée, utilisez:
# ./generate-jwt-key.sh
#
# Ou manuellement:
# openssl rand -base64 48
# ou
# node -e "console.log(require('crypto').randomBytes(48).toString('base64'))"