ci: docker_tag=ext | docs(tests): analyse back-mini
All checks were successful
build-and-push-ext / build_push (push) Successful in 6s
All checks were successful
build-and-push-ext / build_push (push) Successful in 6s
This commit is contained in:
parent
2e75583f8e
commit
b283f90b75
@ -40,8 +40,6 @@ NEXT_PUBLIC_DOCAPOSTE_API_URL=
|
|||||||
NEXT_PUBLIC_API_URL=https://dev4.4nkweb.com/api
|
NEXT_PUBLIC_API_URL=https://dev4.4nkweb.com/api
|
||||||
NEXT_PUBLIC_DEFAULT_VALIDATOR_ID=28c9a3a8151bef545ebf700ca5222c63d0031ad593097e95c1de202464304a99
|
NEXT_PUBLIC_DEFAULT_VALIDATOR_ID=28c9a3a8151bef545ebf700ca5222c63d0031ad593097e95c1de202464304a99
|
||||||
NEXT_PUBLIC_DEFAULT_STORAGE_URLS=https://dev4.4nkweb.com/storage
|
NEXT_PUBLIC_DEFAULT_STORAGE_URLS=https://dev4.4nkweb.com/storage
|
||||||
NEXT_PUBLIC_HOTJAR_SITE_ID=0
|
|
||||||
NEXT_PUBLIC_HOTJAR_VERSION=
|
|
||||||
|
|
||||||
# WS
|
# WS
|
||||||
# RELAY_URLS=wss://demo.4nkweb.com/ws
|
# RELAY_URLS=wss://demo.4nkweb.com/ws
|
||||||
|
44
docs/analyse.md
Normal file
44
docs/analyse.md
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
### Objet
|
||||||
|
Analyse synthétique de `lecoffre-back-mini` (Express + TypeScript).
|
||||||
|
|
||||||
|
### Périmètre et stack
|
||||||
|
- **Serveur**: Express 4
|
||||||
|
- **Langage**: TypeScript (ts-node en dev, `tsc` en build)
|
||||||
|
- **Entrée**: `src/server.ts` → `dist/server.js`
|
||||||
|
|
||||||
|
### Arborescence notable
|
||||||
|
- **`src/routes`**: routes (email, health, idnot, process, sms, stripe)
|
||||||
|
- **`src/controllers`**: logique par domaine
|
||||||
|
- **`src/services`**: intégrations (email, idnot, signer, sms, stripe)
|
||||||
|
- **`src/middleware`**: auth, erreurs, session, validation
|
||||||
|
- **`src/utils`**: tokens, logger, result, validations, session manager
|
||||||
|
- **`src/config`**: configuration (email, sms, stripe, signer)
|
||||||
|
|
||||||
|
### Comportements serveur
|
||||||
|
- **CORS**: configurable via `config.cors`
|
||||||
|
- **Logs requêtes**: middleware chronomètre + `Logger.logRequest`
|
||||||
|
- **Gestion erreurs**: middleware centralisé `errorHandler`
|
||||||
|
- **Tâches récurrentes**:
|
||||||
|
- nettoyage sessions (5 min)
|
||||||
|
- purge tokens expirés (1 h)
|
||||||
|
- retry emails (1 min)
|
||||||
|
- **Arrêts propres**: gestion `SIGINT`/`SIGTERM`, exceptions et promesses rejetées
|
||||||
|
|
||||||
|
### Dépendances clés
|
||||||
|
- **HTTP**: `express`, `cors`
|
||||||
|
- **Infra**: `pg`, `dotenv`
|
||||||
|
- **Intégrations**: `stripe`, `@mailchimp/mailchimp_transactional`, `ovh`
|
||||||
|
- **Interop**: `sdk-signer-client` (lien local `../sdk-signer-client`)
|
||||||
|
|
||||||
|
### Points d’attention
|
||||||
|
- **Lien local**: dépendance `sdk-signer-client` en `file:` (vigilance CI/CD)
|
||||||
|
- **Secrets**: centraliser dans `.env` et ne pas exposer côté client
|
||||||
|
- **Résilience**: reconnection `SignerService` déjà prévue → surveiller métriques
|
||||||
|
|
||||||
|
### Tests et scripts
|
||||||
|
- **Tests rapides**: scripts `test:*` pour DB, rattachements, reconnection signer
|
||||||
|
- **Build/Run**: `build`, `start`, `dev`, `watch`
|
||||||
|
|
||||||
|
### Déploiement
|
||||||
|
- **Dockerfile**: présent (image `lecoffre-back-mini` utilisée par `lecoffre_node`)
|
||||||
|
- **Réseau**: orchestré via `lecoffre_node` (ports, santé, watchtower)
|
28
lecoffre-front.code-workspace
Normal file
28
lecoffre-front.code-workspace
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
"folders": [
|
||||||
|
{
|
||||||
|
"path": "../lecoffre-front"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "../ihm_client"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"terminal.integrated.env.linux": {
|
||||||
|
"PATH": "${env:HOME}/elrondsdk/vendor-rust/bin:${env:HOME}/elrondsdk/erdpy-venv/bin:${env:HOME}/elrondsdk/vmtools:${env:HOME}/elrondsdk/nodejs/latest/bin:${env:PATH}",
|
||||||
|
"VIRTUAL_ENV": "${env:HOME}/elrondsdk/erdpy-venv",
|
||||||
|
"RUSTUP_HOME": "${env:HOME}/elrondsdk/vendor-rust",
|
||||||
|
"CARGO_HOME": "${env:HOME}/elrondsdk/vendor-rust"
|
||||||
|
},
|
||||||
|
"terminal.integrated.env.osx": {
|
||||||
|
"PATH": "${env:HOME}/elrondsdk/vendor-rust/bin:${env:HOME}/elrondsdk/erdpy-venv/bin:${env:HOME}/elrondsdk/vmtools:${env:HOME}/elrondsdk/nodejs/latest/bin:${env:PATH}",
|
||||||
|
"VIRTUAL_ENV": "${env:HOME}/elrondsdk/erdpy-venv",
|
||||||
|
"RUSTUP_HOME": "${env:HOME}/elrondsdk/vendor-rust",
|
||||||
|
"CARGO_HOME": "${env:HOME}/elrondsdk/vendor-rust"
|
||||||
|
},
|
||||||
|
"terminal.integrated.environmentChangesIndicator": "on"
|
||||||
|
}
|
||||||
|
}
|
16
tests/analyse.md
Normal file
16
tests/analyse.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
### Objet
|
||||||
|
Axes de tests pour `lecoffre-back-mini` (sans exemples d’implémentation).
|
||||||
|
|
||||||
|
### Couverture prioritaire
|
||||||
|
- **Santé**: `/health` et métriques associées
|
||||||
|
- **Auth/Session**: middleware `auth`, gestion tokens, expirations, nettoyages
|
||||||
|
- **Intégrations**: `idnot`, `sms`, `email`, `stripe`, `signer`
|
||||||
|
- **Process**: cohérence des flux exposés par `process.routes`
|
||||||
|
|
||||||
|
### Résilience
|
||||||
|
- **Reconnection signer**: simulation déconnexions/retards
|
||||||
|
- **Retry emails**: files d’attente et reprises
|
||||||
|
|
||||||
|
### Sécurité
|
||||||
|
- **Entrées**: validation, schémas, erreurs typées
|
||||||
|
- **Secrets**: vérification de la non-exposition via réponses API
|
Loading…
x
Reference in New Issue
Block a user