Initial commit
This commit is contained in:
113
.env.example
Normal file
113
.env.example
Normal file
@@ -0,0 +1,113 @@
|
||||
# =============================================================================
|
||||
# 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'))"
|
||||
Reference in New Issue
Block a user