Variables d'environnement : stockage, IA, e-mail et observabilité
Chaque service ci-dessous est désactivé, local ou frugal par défaut. Vous sortez de la posture par défaut en définissant une variable — vous n'avez jamais à opter pour quoi que ce soit pour obtenir une application qui fonctionne. Les variables d'application, de serveur, de base de données et de secrets vivent sur Variables d'environnement.
Stockage
Le backend est contrôlé par l'opérateur, si bien que le même schéma tourne sur un disque local en développement et sur du stockage objet en production — voir Stockage S3 pour une mise en place complète.
| Variable | Par défaut | Description |
|---|---|---|
STORAGE_PROVIDER |
automatique | s3 ou local. Non définie, le choix est automatique : bytea PostgreSQL quand DATABASE_URL est définie, fichiers locaux sinon. |
STORAGE_LOCAL_DIRECTORY |
<répertoire de données>/storage |
Répertoire des téléversements. Requis quand STORAGE_PROVIDER=local. |
STORAGE_S3_ENDPOINT |
— | URL du point d'accès compatible S3. Requise pour s3. |
STORAGE_S3_BUCKET |
— | Nom du bucket. Requis pour s3. |
STORAGE_S3_REGION |
us-east-1 |
Région. |
STORAGE_S3_ACCESS_KEY_ID |
— | Clé d'accès. Requise pour s3. |
STORAGE_S3_SECRET_ACCESS_KEY |
— | Clé secrète. Requise pour s3. |
STORAGE_S3_FORCE_PATH_STYLE |
false |
Passez à true pour MinIO et les autres points d'accès en style chemin. |
STORAGE_DEFAULT_ACCESS |
private |
public sert tout fichier stocké sans authentification. |
STORAGE_PUBLIC_PATHS |
— | Préfixes de clés servis sans authentification, séparés par des virgules. Préfixes littéraux uniquement ; les jokers sont rejetés au démarrage. |
STORAGE_MAX_FILE_SIZE |
— | Plafond de téléversement par fichier, en octets. |
STORAGE_MAX_TOTAL_SIZE |
— | Plafond du total d'octets stockés, en octets. |
STORAGE_TEMP_CLEANUP_AFTER |
86400000 (24 h) |
Âge à partir duquel un fichier temporaire d'automatisation devient éligible à la suppression, en millisecondes. 0 désactive le balayage. |
Les noms S3_* nus sont dépréciés. S3_ENDPOINT, S3_BUCKET et les autres restent acceptés comme alias et émettent un avertissement unique au démarrage. Renommez-les en STORAGE_S3_* — les anciens noms disparaîtront à la prochaine version majeure.
IA
L'IA reste désactivée tant que AI_PROVIDER n'est pas définie. Une valeur non reconnue interrompt le démarrage plutôt que d'échouer silencieusement plus tard.
| Variable | Par défaut | Description |
|---|---|---|
AI_PROVIDER |
non définie (désactivée) | anthropic, openai, mistral, google, ollama ou openai-compatible. gemini est accepté comme alias de google. |
AI_API_KEY |
— | Clé d'API du fournisseur. Requise pour tous sauf ollama. |
AI_BASE_URL |
point d'accès du fournisseur | URL du point d'accès. Requise pour ollama et openai-compatible. |
AI_MODEL |
selon le fournisseur | Identifiant de modèle. Par défaut, le modèle recommandé du fournisseur. |
AI_TEMPERATURE |
selon le fournisseur | Température d'échantillonnage, de 0 à 1 inclus. |
AI_MAX_TOKENS |
selon le fournisseur | Nombre maximal de jetons en sortie. |
AI_EMBEDDING_MODEL |
— | Identifiant du modèle d'embeddings. |
AI_EMBEDDING_DIMENSIONS |
— | Dimensions du vecteur d'embedding. |
Des alias propres à chaque fournisseur sont lus quand la variable générique est absente : ANTHROPIC_API_KEY, OPENAI_API_KEY, MISTRAL_API_KEY et GOOGLE_API_KEY tiennent lieu d'AI_API_KEY ; OLLAMA_BASE_URL tient lieu d'AI_BASE_URL. Le nom générique l'emporte toujours quand les deux sont définis. Voir Fournisseurs IA.
E-mail (SMTP)
Quand SMTP_HOST n'est pas définie, l'e-mail est désactivé et les envois sont journalisés plutôt que délivrés — Sovrium ne se rabat jamais silencieusement sur un collecteur de mail local. Voir E-mail transactionnel.
| Variable | Par défaut | Description |
|---|---|---|
SMTP_HOST |
non définie (désactivé) | Nom d'hôte du serveur SMTP. |
SMTP_PORT |
587 |
Port du serveur SMTP. |
SMTP_SECURE |
false |
TLS implicite. Le port 465 l'active de toute façon. |
SMTP_USER |
— | Identifiant d'authentification. |
SMTP_PASS |
— | Mot de passe d'authentification. |
SMTP_FROM |
noreply@sovrium.com |
Adresse d'expédition. |
SMTP_FROM_NAME |
Sovrium |
Nom d'expéditeur affiché. |
Serveur MCP
Désactivé par défaut. L'opérateur monte la route ; le schéma décide de ce que les outils peuvent atteindre. Voir Intégration MCP.
| Variable | Par défaut | Description |
|---|---|---|
MCP_ENABLED |
false |
Interrupteur maître. La route /mcp n'est montée que si la valeur est vraie. |
MCP_TRANSPORT |
streamable-http |
streamable-http pour les clients distants, stdio pour un usage local dans l'IDE. |
MCP_MOUNT_PATH |
/mcp |
Préfixe de route en streamable-http. |
MCP_AUTH_STRATEGY |
oauth2 quand auth est configuré |
token ou oauth2. Le mode jeton lit les variables MCP_TOKEN_*. |
MCP_TOKEN_ADMIN |
— | Jeton porteur accordant le rôle admin. 32 caractères minimum. |
MCP_TOKEN_MEMBER |
— | Jeton porteur accordant le rôle membre. 32 caractères minimum. |
MCP_TOKEN_VIEWER |
— | Jeton porteur accordant le rôle lecteur. 32 caractères minimum. |
MCP_RATE_LIMIT_PER_MINUTE |
60 |
Requêtes par jeton et par minute. |
MCP_RATE_LIMIT_PER_DAY |
5000 |
Requêtes par jeton et par jour. |
MCP_AUDIT_ENABLED |
true |
Journalise chaque appel d'outil dans la piste d'audit. |
MCP_EXPOSE_INTERNALS |
true |
Expose les tables internes en lecture seule au rôle admin. |
MCP_CONFIRM_DESTRUCTIVE |
true |
Marque les outils de suppression comme destructifs pour que les clients demandent confirmation. |
Écoconception
Des valeurs par défaut frugales dont vous sortez en les remplaçant. La posture éco est une configuration d'opérateur et n'apparaît jamais dans le schéma de l'application. Écoconception explique ce que chaque levier coûte et économise.
| Variable | Par défaut | Description |
|---|---|---|
ECO_MODE |
balanced |
strict, balanced ou lenient. on et auto renvoient à balanced, off à lenient. |
ECO_PAGE_CACHE |
on |
Cache en mémoire du HTML de page invariant par requête. |
ECO_IMAGE_FORMAT |
avif |
Format de transcodage par défaut : avif, webp, jpeg ou png. |
ECO_INDEX_HEADER |
on |
Émet la note X-Eco-Index (A–G) dans la réponse. |
ECO_LOW_DATA_DEFAULT |
off |
on, off ou respect-client (respecte Save-Data et les indices client de données réduites). |
ECO_AI_PROVIDER_PRECEDENCE |
local-first |
local-first, cloud-first ou local-only. Accepte aussi une liste ordonnée de fournisseurs. |
ECO_AI_MAX_CARBON_CLASS |
G (permissif) |
Pire classe carbone, de A à G, qu'un fournisseur IA peut avoir pour rester sélectionnable. |
ECO_RETENTION_PURGE_DAYS |
aucune purge | Horizon de purge des lignes supprimées en douceur. La rétention par table l'emporte toujours. |
ECO_DESIGN_LAYER |
on |
Émet la couche de remplacement des jetons de design. Sur off, les valeurs par défaut en ligne prennent le relais. |
ECO_FORM_ANALYTICS |
on |
Passez à off pour cesser d'enregistrer les événements d'analytique de formulaire. |
Export d'observabilité
Chaque signal est désactivé tant que sa porte n'est pas ouverte, et une valeur définie mais malformée interrompt le démarrage plutôt que de se dégrader en silence. Pointez ces variables vers n'importe quel backend compatible Sentry ou OTLP.
| Variable | Par défaut | Description |
|---|---|---|
SENTRY_DSN |
non définie (off) | Ouvre le rapport d'erreurs. Format <schéma>://<clé>@<hôte>/<id_projet>. |
SENTRY_ENVIRONMENT |
NODE_ENV, sinon development |
Libellé d'environnement attaché aux événements. |
SENTRY_TRACES_SAMPLE_RATE |
non définie (off) | Taux d'échantillonnage de performance dans (0,1]. 0 désactive. Nécessite un DSN. |
OTEL_EXPORTER_OTLP_ENDPOINT |
non définie (off) | URL OTLP de base. Les logs vont vers <base>/v1/logs, les métriques vers <base>/v1/metrics. |
OTEL_EXPORTER_OTLP_LOGS_ENDPOINT |
dérivée de la base | URL complète des logs, utilisée telle quelle. |
OTEL_EXPORTER_OTLP_METRICS_ENDPOINT |
dérivée de la base | URL complète des métriques, utilisée telle quelle. |
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT |
non définie (off) | Arme l'export des traces. L'URL de base seule ne l'arme pas. |
OTEL_EXPORTER_OTLP_HEADERS |
— | En-têtes d'export sous la forme k=v,k2=v2. |
OTEL_SERVICE_NAME |
nom de l'application | Attribut de ressource service.name. |
OTEL_METRIC_EXPORT_INTERVAL |
10000 |
Intervalle de relevé des métriques, en millisecondes. |
OTEL_TRACES_SAMPLER |
parentbased_traceidratio |
Nom de l'échantillonneur. Un nom inconnu interrompt le démarrage. |
OTEL_TRACES_SAMPLER_ARG |
0.1 |
Ratio d'échantillonnage dans [0,1] pour les échantillonneurs par ratio. |
LOG_LEVEL |
info |
debug, info, warn ou error. NODE_ENV=development implique debug. |
Builds statiques
Lues par sovrium build lors de la génération d'un site statique.
| Variable | Par défaut | Description |
|---|---|---|
SOVRIUM_OUTPUT_DIR |
./dist |
Répertoire de sortie. |
SOVRIUM_BASE_URL |
— | URL de base pour le sitemap et les liens canoniques. |
SOVRIUM_BASE_PATH |
— | Préfixe de chemin pour un déploiement en sous-répertoire. |
SOVRIUM_DEPLOYMENT |
— | github-pages ou generic. |
SOVRIUM_LANGUAGES |
— | Codes de langue à construire, séparés par des virgules. |
SOVRIUM_DEFAULT_LANGUAGE |
— | Code de la langue par défaut. |
SOVRIUM_GENERATE_SITEMAP |
false |
Génère sitemap.xml. |
SOVRIUM_GENERATE_ROBOTS |
false |
Génère robots.txt. |
SOVRIUM_GENERATE_MANIFEST |
false |
Génère un manifest.json PWA. |
SOVRIUM_HYDRATION |
false |
Active l'hydratation côté client. |
SOVRIUM_BUNDLE_OPTIMIZATION |
— | split ou none. |
SOVRIUM_PUBLIC_DIR |
— | Répertoire d'assets statiques à copier. none désactive le service. |
Instances de démonstration
Affiche un bandeau signalant qu'une instance est une démo jetable. Désactivé sauf activation explicite, pour qu'un déploiement de production ne puisse jamais se déclarer jetable par accident.
| Variable | Description |
|---|---|
SOVRIUM_DEMO_NOTICE |
Interrupteur maître. on, true, 1 ou yes active le bandeau ; toute autre valeur le laisse éteint. |
SOVRIUM_DEMO_NAME |
Nom du modèle affiché dans le titre du panneau. |
SOVRIUM_DEMO_URL |
Cible de l'appel à l'action du bandeau. |
SOVRIUM_DEMO_EMAIL |
E-mail de connexion, affichage seul. Jamais issu d'AUTH_ADMIN_EMAIL. |
SOVRIUM_DEMO_PASSWORD |
Mot de passe de connexion, affichage seul. Jamais issu d'AUTH_ADMIN_PASSWORD. |
Suite
- Variables d'environnement — application, serveur, base de données et secrets.
- Présentation des buckets — déclarer les buckets que ces variables de stockage alimentent.
- Vue d'ensemble de l'IA — ce qu'un fournisseur IA débloque dans le schéma.
- Écoconception — le raisonnement derrière les valeurs par défaut
ECO_*.
Dernière mise à jour 27 juillet 2026
Cette documentation a été rédigée avec de l'IA : des erreurs ou du contenu obsolète sont donc possibles. Sovrium est en bêta — les contributions et corrections sont les bienvenues.