3.5 KiB
Objet
Matrice des variables d’environnement pour lecoffre-front, lecoffre-back-mini et orchestrations lecoffre_node, avec cohérence Nginx/basePath.
Variables côté Front (Next.js)
-
Exposition:
NEXT_PUBLIC_*vianext.config.js(env/publicRuntimeConfig/serverRuntimeConfig) -
Consommation:
src/front/Config/VariablesFront.tset services API -
NEXT_PUBLIC_BACK_API_PROTOCOL: protocole back (ex:
http) -
NEXT_PUBLIC_BACK_API_HOST: hôte back (ex:
127.0.0.1oudev4.4nkweb.com) -
NEXT_PUBLIC_BACK_API_PORT: port back (ex:
8080) -
NEXT_PUBLIC_BACK_API_ROOT_URL: préfixe API (ex:
/api) -
NEXT_PUBLIC_BACK_API_VERSION: version API (ex:
/v1) -
NEXT_PUBLIC_FRONT_APP_HOST: URL publique du front (utilisée pour ID.not redirect)
-
NEXT_PUBLIC_FRONT_APP_PORT: port front si nécessaire
-
NEXT_PUBLIC_IDNOT_AUTHORIZE_ENDPOINT: endpoint authorize (ex:
/user/auth) -
NEXT_PUBLIC_IDNOT_CLIENT_ID: client_id ID.not
-
NEXT_PUBLIC_IDNOT_BASE_URL: base URL ID.not
-
NEXT_PUBLIC_IDNOT_REDIRECT_URI: redirect URI explicite; fallback vers
${FRONT_APP_HOST}/authorized-client -
NEXT_PUBLIC_DOCAPOSTE_API_URL: base API Docaposte
-
NEXT_PUBLIC_HOTJAR_SITE_ID / NEXT_PUBLIC_HOTJAR_VERSION: télémétrie
-
NEXT_PUBLIC_4NK_URL / NEXT_PUBLIC_4NK_IFRAME_URL: intégrations 4NK
-
NEXT_PUBLIC_API_URL: éventuellement raccourci général d’API
-
NEXT_PUBLIC_DEFAULT_VALIDATOR_ID / NEXT_PUBLIC_DEFAULT_STORAGE_URLS: valeurs par défaut SDK
Variables côté Back (Express)
- PORT: port d’écoute (défaut 8080)
- DEFAULT_STORAGE: URL de stockage par défaut (défaut
https://dev3.4nkweb.com/storage) - APP_HOST: URL front (défaut
http://localhost:3000) – utilisé aussi parstripe - STRIPE_SECRET_KEY / STRIPE_WEBHOOK_SECRET
- IDNOT_CLIENT_ID / IDNOT_CLIENT_SECRET / IDNOT_REDIRECT_URI / IDNOT_TOKEN_URL
- IDNOT_API_KEY / IDNOT_API_BASE_URL / IDNOT_ANNUARY_BASE_URL
Orchestration Docker / Nginx (lecoffre_node)
- Compose publie:
lecoffre-back:127.0.0.1:8080(proxy Nginx/api/et/back/)lecoffre-front:127.0.0.2:3004(front Next.js)- Services SDK:
sdk_relay(8090),sdk_signer(3001),sdk_storage(8081),blindbit(8000)
- Nginx
dev4.4nkweb.com.conf:/api/→http://127.0.0.1:8080/api//back/(.*)→http://127.0.0.1:8080/api/$1/→http://127.0.0.1:3003(ihm_client)/lecoffreet/lecoffre/→http://127.0.0.2:3004/lecoffre//_next/→http://127.0.0.2:3004/_next/
Cohérence basePath Nginx/Next
- Next.js
basePath: '/lecoffre'(voirnext.config.js) - Nginx proxy
/lecoffreet/_next/vers le front sur 3004 - Impacts: routes, assets statiques, liens internes doivent inclure le
basePath
Qui consomme quoi
- Front:
- API back:
NEXT_PUBLIC_BACK_API_*utilisés parBaseApiService,Auth(IdNot), Admin APIs (Subscriptions, Stripe) - ID.not:
NEXT_PUBLIC_IDNOT_*viaAuthet composants de login - Télémétrie/Intégrations: Hotjar, Docaposte, 4NK
- API back:
- Back:
- ID.not:
IDNOT_*(auth, user/office, annuaire) - Stripe:
STRIPE_*(routes/subscriptions/*, webhook) - Réseau front:
APP_HOSTpour callbacks/URLs
- ID.not:
- Nginx/Compose:
- Route HTTP publique et correspondances de ports/containers
Recommandations
- Aligner
APP_HOST(back) avec l’URL publique réelle du front (incluant basePath dans les redirections si nécessaire) - Vérifier que
NEXT_PUBLIC_*ne contiennent aucun secret - Centraliser un
.env/CI par environnement (local/dev/staging/prod) et lister explicitement les valeurs attendues