Skip to main content
View as Markdown

Variables d'environnement

Sovrium lit la configuration à partir des variables d'environnement au démarrage. Définissez-les dans un fichier .env ou dans l'environnement de votre serveur. Toutes les variables sont optionnelles sauf indication contraire.

# .env

# Application
APP_SCHEMA='app.yaml'

# Server
PORT=3000
BASE_URL=http://localhost:3000

# Database (optional — defaults to embedded SQLite)
DATABASE_URL=file:./data/app.db

# Authentication
AUTH_SECRET=your-secret-key-here

# Default Admin
AUTH_ADMIN_EMAIL=admin@example.com
AUTH_ADMIN_PASSWORD=secure-admin-password

# OAuth (Google example)
GOOGLE_CLIENT_ID=your-client-id
GOOGLE_CLIENT_SECRET=your-client-secret

# Email (SMTP)
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your-email@gmail.com
SMTP_PASS=your-app-password

Application

Configuration principale de l'application. APP_SCHEMA est le moyen privilégié de fournir un schéma sans argument de fichier.

Variable Description
APP_SCHEMA Schéma de l'application sous forme de JSON en ligne, de YAML en ligne ou d'URL distante. Alternative au passage d'un chemin de fichier en ligne de commande.

Serveur

Options réseau du serveur pour la commande start.

Variable Description
PORT Numéro de port du serveur (0–65535). 0 sélectionne un port disponible. Par défaut : 3000.
HOSTNAME Nom d'hôte du serveur. Par défaut : localhost.
BASE_URL URL de base de l'application (par ex. https://myapp.com). Utilisée pour les URL de rappel d'authentification et les liens d'email.
NODE_ENV Environnement d'exécution. Définissez à "production" pour des cookies sécurisés, des vérifications CSRF et une validation SMTP stricte. Par défaut : development.

Base de données

Paramètres de connexion à la base de données. Optionnel — Sovrium utilise par défaut SQLite embarqué lorsqu'il n'est pas défini.

Variable Description
DATABASE_URL Chaîne de connexion à la base de données. Optionnel : non défini, utilise SQLite embarqué ; une URL file: (par ex. file:./data/app.db) choisit le fichier SQLite ; une URL postgresql:// (par ex. postgresql://user:password@localhost:5432/dbname) bascule vers PostgreSQL.

Authentification

Variables pour l'intégration de Better Auth. Requises lorsque le schéma définit une section auth.

Variable Description
AUTH_SECRET Clé secrète pour signer les jetons et chiffrer les sessions. Doit être une chaîne aléatoire robuste (32 caractères ou plus recommandés).

Utilisateur administrateur par défaut

Variables optionnelles pour créer un utilisateur administrateur par défaut au premier démarrage. Les trois doivent être définies pour que l'utilisateur administrateur soit créé.

Variable Description
AUTH_ADMIN_EMAIL Adresse email de l'utilisateur administrateur par défaut.
AUTH_ADMIN_PASSWORD Mot de passe de l'utilisateur administrateur par défaut. Doit comporter au moins 8 caractères.
AUTH_ADMIN_NAME Nom d'affichage de l'utilisateur administrateur par défaut. Optionnel, par défaut "Admin".

Fournisseurs OAuth

Identifiants pour chaque fournisseur OAuth configuré dans le schéma d'authentification. Remplacez {PROVIDER} par le nom du fournisseur en majuscules.

Variable Description
{PROVIDER}_CLIENT_ID Identifiant client OAuth issu de la console développeur du fournisseur.
{PROVIDER}_CLIENT_SECRET Secret client OAuth issu de la console développeur du fournisseur. À garder confidentiel.

Email (SMTP)

Configuration SMTP pour l'envoi d'emails d'authentification (vérification, réinitialisation de mot de passe, lien magique). En développement, bascule sur Mailpit à localhost:1025 si SMTP_HOST n'est pas défini.

Variable Description
SMTP_HOST Nom d'hôte du serveur SMTP (par ex. smtp.gmail.com). Requis en production.
SMTP_PORT Port du serveur SMTP. Par défaut : 587.
SMTP_SECURE Utiliser une connexion SSL/TLS. Par défaut : false pour le port 587, true pour le port 465.
SMTP_USER Nom d'utilisateur d'authentification SMTP.
SMTP_PASS Mot de passe d'authentification SMTP ou mot de passe spécifique à l'application.
SMTP_FROM Adresse email d'expéditeur par défaut (par ex. noreply@yourdomain.com). Par défaut : noreply@sovrium.com.
SMTP_FROM_NAME Nom d'affichage de l'expéditeur par défaut. Par défaut : Sovrium.

Build

Options pour la commande build qui génère un site statique.

Variable Description
SOVRIUM_OUTPUT_DIR Répertoire de sortie. Par défaut : ./dist.
SOVRIUM_BASE_URL URL de base pour la génération du sitemap et les liens canoniques (par ex. https://example.com).
SOVRIUM_BASE_PATH Préfixe de chemin pour les déploiements en sous-répertoire (par ex. /my-app).
SOVRIUM_DEPLOYMENT Cible de déploiement : github-pages ou generic.
SOVRIUM_LANGUAGES Codes de langue séparés par des virgules à générer (par ex. en,fr,de).
SOVRIUM_DEFAULT_LANGUAGE Code de langue par défaut (par ex. en).
SOVRIUM_GENERATE_SITEMAP Génère sitemap.xml. Par défaut : false.
SOVRIUM_GENERATE_ROBOTS Génère robots.txt. Par défaut : false.
SOVRIUM_HYDRATION Active l'hydratation côté client. Par défaut : false.
SOVRIUM_GENERATE_MANIFEST Génère manifest.json pour les PWA. Par défaut : false.
SOVRIUM_BUNDLE_OPTIMIZATION Stratégie d'optimisation : split (découpage du code) ou none.
SOVRIUM_PUBLIC_DIR Répertoire contenant les ressources statiques à copier dans la sortie.

Débogage

Variables de diagnostic et de test. Non nécessaires en fonctionnement normal.

Variable Description
LOG_LEVEL Définissez à "debug" pour une journalisation détaillée (journaux de requêtes, diagnostics de compilation CSS). Par défaut : suit NODE_ENV.
EFFECT_DEVTOOLS Définissez à "1" pour activer l'intégration des Effect DevTools pour l'inspection à l'exécution.
RATE_LIMIT_WINDOW_SECONDS Fenêtre de limitation de débit en secondes. Utilisée dans les tests pour une exécution plus rapide. Par défaut : 60.