Aller au contenu principal

Variables d'environnement

Règles

  • Ne jamais committer de vrais secrets
  • Garder .env.example à jour
  • Utiliser les fichiers de config pour lire les variables d'environnement
  • Ne jamais appeler env() en dehors des fichiers de config
  • Cacher la config en production

Variables clés

# Application
APP_NAME="Intranet Tarbouriech"
APP_ENV=production
APP_KEY=
APP_DEBUG=false
APP_URL=https://dashboard.tarbouriech.tech
APP_DOMAIN=tarbouriech.tech

# Base de données
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=laravel
DB_USERNAME=
DB_PASSWORD=

# Keycloak OIDC
KEYCLOAK_BASE_URL=
KEYCLOAK_REALM=
KEYCLOAK_CLIENT_ID=
KEYCLOAK_CLIENT_SECRET=
KEYCLOAK_REDIRECT_URI=

# Session
SESSION_DRIVER=database
SESSION_LIFETIME=120

# Cache
CACHE_DRIVER=file

# Queue
QUEUE_CONNECTION=database

# Logs
LOG_CHANNEL=daily
LOG_LEVEL=info

Variables par module

Infrastructure

# Géré via Admin → Applications → Infrastructure → Paramètres
# (stocké en JSON dans core_applications.settings)

Module IA (Ai)

# Géré via Admin → Applications → IA → Paramètres
# Les clés sont chiffrées (encrypted cast)

Fichiers SSH (hors .env)

Certains modules utilisent des clés SSH stockées sur le filesystem :

ModuleCheminPropriétairePermissions
Infrastructure — RustDesk/var/www/.ssh/rustdesk_id_ed25519www-data:www-data600

Règle : toute clé privée SSH utilisée par Laravel doit appartenir à www-data avec permissions 600.

Checklist production

  • APP_ENV=production
  • APP_DEBUG=false
  • ✅ Canal de log configuré
  • ✅ Connexion queue configurée
  • ✅ Driver cache et session configurés
  • ✅ Config cachée : php artisan config:cache