Variables d'environnement
Vue d'ensemble
La configuration d'un OAV est intĂ©gralement portĂ©e par des variables d'environnement. Aucune valeur de configuration n'est codĂ©e en dur : le mĂȘme artefact est dĂ©ployĂ© sur tous les environnements, seule la configuration change.
Ces variables sont validĂ©es au dĂ©marrage. Une variable obligatoire manquante ou invalide provoque l'arrĂȘt immĂ©diat du serveur.
Cette page dĂ©crit les variables consommĂ©es par l'OAV et par l'outillage. Les variables des services annexes (notamment celles d'OIP Headless) sont dĂ©crites dans la section « Services annexesï»ż ».
Groupe | Objet |
|---|---|
Variables générales | Environnement d'exécution, port d'écoute, journalisation. |
Authentification client / serveur | Dialogue authentifié entre l'application React et le serveur Express. |
Service OIP Headless | AccĂšs au service de persistance. |
Messagerie RabbitMQ | AccÚs au bus d'évÚnements. |
Session et décrochage | Cookie, magasin de sessions, résolution du contexte client. |
Shadow CRM | Prise en charge optionnelle du Shadow CRM. |
OIP Tools | Exécution des commandes de l'outillage. |
Tableau de synthĂšse
Variable | Groupe | Statut | Valeur par défaut |
|---|---|---|---|
API_KEYS | Authentification | Obligatoire | â |
AUTH_KEYCLOAK_URL | OIP Tools | Optionnelle | https://oip-keycloak.fasst.tech |
CLIENT_ID | Authentification | Obligatoire | â |
CLIENT_SECRET | Authentification | Obligatoire | â |
JWT_SECRET | Authentification | Obligatoire | â |
LOGGER_LEVEL | Générales | Optionnelle | ERROR |
NODE_ENV | GĂ©nĂ©rales | Obligatoire | â |
OAV_ID | OIP Headless | Obligatoire | â |
OIP_API_KEY | OIP Headless | Obligatoire | â |
OIP_API_URL | OIP Headless | Obligatoire | â |
OIP_TOOLS_CLIENT_ID | OIP Tools | Optionnelle | oip-tools |
OIP_TOOLS_CLIENT_SECRET | OIP Tools | Obligatoire | â |
PORT | GĂ©nĂ©rales | Obligatoire | â |
RABBIT_MQ_HOST | RabbitMQ | Obligatoire | â |
RABBIT_MQ_PASSWORD | RabbitMQ | Obligatoire | â |
RABBIT_MQ_USER | RabbitMQ | Obligatoire | â |
RABBIT_MQ_VHOST | RabbitMQ | Obligatoire | â |
ROOT_DIR | Générales | Optionnelle | . |
SECURE_COOKIE | Session | Optionnelle | true |
SECURE_SESSION | Session | Optionnelle | true |
SECURE_WS | Générales | Optionnelle | true |
SERVER_URL | GĂ©nĂ©rales | Optionnelle | â |
SESSION_COOKIE_MAX_AGE | Session | Optionnelle | 60 |
SESSION_SECRET | Session | Obligatoire | â |
SESSION_SERVICE_URL | Session | Obligatoire | â |
SESSION_STORE_URL | Session | Obligatoire | â |
SHADOW_CRM_TEAM_API_KEY | Shadow CRM | Optionnelle | â |
SHADOW_CRM_URL | Shadow CRM | Optionnelle | â |
URL_OIP_API | OIP Tools | Optionnelle | https://oip-api.fasst.tech/api |
USER_ID | OIP Headless | Obligatoire | â |
Variables générales
LOGGER_LEVEL
[optionnelle] Niveau de journalisation.
Ce niveau dépend de l'implémentation du logger dans votre projet. L'implémentation par défaut propose quatre niveaux : ERROR, WARNING, INFO et DEBUG.
La valeur par défaut est ERROR.
NODE_ENV
[obligatoire] DĂ©finit l'environnement d'exĂ©cutionï»ż de l'application.
La valeur production configure l'environnement en mode production ; toute autre valeur le configure en mode développement.
PORT
[obligatoire] Numéro du port d'écoute du serveur.
ROOT_DIR
[optionnelle] Chemin relatif du répertoire racine.
Cette valeur détermine notamment l'emplacement des fichiers statiques (ROOT_DIR/public) et des vues.
La valeur par défaut est ..
SECURE_WS
[optionnelle] Valeur boolĂ©enne indiquant si le web socket doit ĂȘtre servi uniquement via HTTPS.
La valeur par défaut est true.
SERVER_URL
[optionnelle] URL du serveur OIP de l'OAV.
Authentification client / serveur
API_KEYS
[obligatoire] Clé utilisée par votre OAV pour l'authentification entre l'application React et le serveur Express.
Le format de la clĂ© est CLIENT_ID:CLIENT_SECRET, oĂč CLIENT_ID et CLIENT_SECRET correspondent aux variables d'environnement utilisĂ©es lors de la gĂ©nĂ©ration de l'image Docker de votre OAV.
Exemple : fasst-oav-oip:00000000-0000-0000-0000-000000000000.
CLIENT_ID
[obligatoire] Identifiant de l'application client de votre OAV.
Exemple : fasst-oav-oip.
CLIENT_SECRET
[obligatoire] Clé relative à l'authentification de l'application client de votre OAV.
Exemple : 00000000-0000-0000-0000-000000000000.
JWT_SECRET
[obligatoire] Clé utilisée pour la signature et la vérification des JWTs.
Exemple : 33333333-3333-3333-3333333333.
Service OIP Headless
OAV_ID
[obligatoire] Identifiant public de votre application.
Cet identifiant préfixe également les files AMQP consommées et produites par l'OAV : <OAV_ID>.events et <OAV_ID>.entities.
OIP_API_KEY
[obligatoire] Clé API associée à votre application.
Cette valeur doit correspondre à la donnée enregistrée dans le champ key de la table applications_keys de la base de données gérée par OIP Headless.
OIP_API_URL
[obligatoire] URL du service OIP Headless.
USER_ID
[obligatoire] UUID de l'utilisateur connecté sur le parcours de vente.
Messagerie RabbitMQ
RABBIT_MQ_HOST
[obligatoire] Nom de l'hĂŽte RabbitMQ.
RABBIT_MQ_PASSWORD
[obligatoire] Mot de passe de l'utilisateur RabbitMQ.
RABBIT_MQ_USER
[obligatoire] Nom de l'utilisateur RabbitMQ.
RABBIT_MQ_VHOST
[obligatoire] Nom de l'hĂŽte virtuel RabbitMQ.
Session et décrochage
SECURE_COOKIE
[optionnelle] Valeur boolĂ©enne indiquant si le cookie de session doit ĂȘtre chiffrĂ©.
La valeur par défaut est true.
SECURE_SESSION
[optionnelle] Valeur boolĂ©enne indiquant si la session doit ĂȘtre validĂ©e auprĂšs du service de sessions.
La valeur par défaut est true.
Avec la valeur false, en dĂ©veloppement, la sĂ©quence de dĂ©crochage ne rĂ©sout pas le contexte client auprĂšs du service de sessions : un contexte simulĂ© peut alors ĂȘtre utilisĂ© dans resolveProjectFromContext.
SESSION_COOKIE_MAX_AGE
[optionnelle] Durée de validité d'une session, exprimée en minutes.
La valeur par défaut est 60.
SESSION_SECRET
[obligatoire] Clé utilisée pour le chiffrement du cookie de session.
SESSION_SERVICE_URL
[obligatoire] URL du service responsable de la résolution du contexte client (Fasst Sessions ou équivalent).
SESSION_STORE_URL
[obligatoire] URL de la base de données PostgreSQL utilisée pour la sauvegarde des sessions de navigation.
Shadow CRM
SHADOW_CRM_TEAM_API_KEY
[optionnelle] Clé API permettant l'authentification auprÚs du service Shadow CRM.
SHADOW_CRM_URL
[optionnelle] URL du service Shadow CRM.
OIP Tools
Ces variables configurent l'exécution des commandes d'OIP Tools, et non le serveur de l'OAV.
AUTH_KEYCLOAK_URL
[optionnelle] URL de Keycloak utilisée pour l'authentification.
La valeur par défaut est https://oip-keycloak.fasst.tech.
OIP_TOOLS_CLIENT_ID
[optionnelle] Identifiant client utilisé pour l'authentification.
La valeur par défaut est oip-tools.
OIP_TOOLS_CLIENT_SECRET
[obligatoire] Clé d'authentification du client OIP Tools.
URL_OIP_API
[optionnelle] URL de l'API OIP utilisée par les commandes qui appellent l'API.
La valeur par défaut est https://oip-api.fasst.tech/api.
Résumé
- La configuration d'un OAV est entiÚrement externalisée dans des variables d'environnement, validées au démarrage ;
- API_KEYS doit toujours valoir CLIENT_ID:CLIENT_SECRET ;
- SECURE_COOKIE, SECURE_SESSION et SECURE_WS valent true par défaut : leur assouplissement est réservé au développement local ;
- trois valeurs doivent ĂȘtre rĂ©percutĂ©es dans vite.config.js pour ĂȘtre visibles du client : CLIENT_ID, CLIENT_SECRET et SERVER_URL.