lecoffre_node/docs/env_matrix.md
Nicolas Cantu af89806d40 ci: docker_tag=ext
Nginx dev4: /back en HTTPS, recap routage, tests, vhosts locaux 3000
2025-09-18 10:28:38 +00:00

66 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### Objet
Matrice des variables denvironnement pour `lecoffre-front`, `lecoffre-back-mini` et orchestrations `lecoffre_node`, avec cohérence Nginx/basePath.
### Variables côté Front (Next.js)
- **Exposition**: `NEXT_PUBLIC_*` via `next.config.js` (env/publicRuntimeConfig/serverRuntimeConfig)
- **Consommation**: `src/front/Config/VariablesFront.ts` et services API
- NEXT_PUBLIC_BACK_API_PROTOCOL: protocole back (ex: `http`)
- NEXT_PUBLIC_BACK_API_HOST: hôte back (ex: `127.0.0.1` ou `dev4.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 dAPI
- 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 par `stripe`
- 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)
- `/lecoffre` et `/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'` (voir `next.config.js`)
- Nginx proxy `/lecoffre` et `/_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 par `BaseApiService`, `Auth` (IdNot), Admin APIs (Subscriptions, Stripe)
- ID.not: `NEXT_PUBLIC_IDNOT_*` via `Auth` et composants de login
- Télémétrie/Intégrations: Hotjar, Docaposte, 4NK
- Back:
- ID.not: `IDNOT_*` (auth, user/office, annuaire)
- Stripe: `STRIPE_*` (routes `/subscriptions/*`, webhook)
- Réseau front: `APP_HOST` pour callbacks/URLs
- Nginx/Compose:
- Route HTTP publique et correspondances de ports/containers
### Recommandations
- Aligner `APP_HOST` (back) avec lURL 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