Skip to main content
Voir en Markdown

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.

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

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.

Construit avec Sovrium