diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md new file mode 100644 index 0000000..cb7079c --- /dev/null +++ b/docs/ARCHITECTURE.md @@ -0,0 +1,23 @@ +# Architecture - IHM Client + +## Composants +- Frontend embarqué en iframe dans `lecoffre-front`. +- Dialogue avec `sdk_signer` et `sdk_relay` via WebSocket. + +## Dépendances +- `sdk_signer` via `VITE_SIGNER_URL`. +- `sdk_relay` via `VITE_WS_URL`. +- Backend `lecoffre-back-mini` via `VITE_API_BASE_URL`. + +## Réseau et ports +- Exposé derrière Nginx via `https://dev4.4nkweb.com/`. + +## Variables d’environnement (centralisées) +- Chargement depuis `lecoffre_node/.env.master`. + +## Monitoring +- Logs → Promtail → Loki → Grafana (Frontend Services). + +## Notes +- Code splitting (`React.lazy`, `Suspense`). +- Pas de `.env` local, configuration via Docker Compose. diff --git a/docs/DEPLOIEMENT.md b/docs/DEPLOIEMENT.md new file mode 100644 index 0000000..9284d3b --- /dev/null +++ b/docs/DEPLOIEMENT.md @@ -0,0 +1,23 @@ +# Déploiement - IHM Client + +## Préparation +- Branche `ext` sur tous les dépôts. +- Variables dans `lecoffre_node/.env.master` (pas de `.env` local). +- Ne pas utiliser `docker compose up -d`. + +## Déploiement (orchestrateur) +```bash +cd /home/debian/4NK_env/lecoffre_node +./scripts/start.sh | cat +./scripts/validate-deployment.sh | cat +``` + +## Vérifications +- `https://dev4.4nkweb.com/` (iframe OK) +- WS `wss://dev4.4nkweb.com/ws/` +- `./scripts/monitor-progress.sh | cat` + +## Règles +- Pousser sur `ext` sans déclencher de CI tant que non nécessaire. +- Config centralisée uniquement. +- Logs via Promtail → Loki → Grafana. diff --git a/docs/FLUX.md b/docs/FLUX.md new file mode 100644 index 0000000..b8ccd72 --- /dev/null +++ b/docs/FLUX.md @@ -0,0 +1,10 @@ +# Description des Flux - IHM Client + +```mermaid +documentation +``` + +## Flux principaux +1. Auth notaire via front → IdNot → front → iframe IHM. +2. IHM ↔ Signer (opérations signées). +3. IHM ↔ Relay (WebSocket) pour évènements. diff --git a/docs/FONCTIONNEL.md b/docs/FONCTIONNEL.md new file mode 100644 index 0000000..e579e25 --- /dev/null +++ b/docs/FONCTIONNEL.md @@ -0,0 +1,18 @@ +# Description Fonctionnelle - IHM Client + +## Objectif +Fournir l’interface d’interaction utilisateur (iframe) pour les flux métiers et les opérations liées aux clés Bitcoin (Silent Payment). + +## Parcours clés +- Authentification via redirection IdNot (depuis `lecoffre-front`). +- Connexion au `sdk_signer` pour opérations signées. +- Échanges temps réel via `sdk_relay` (WebSocket). + +## Rôles +- Notaire: initie les dossiers, suit l’état. +- Client: accède aux dossiers, valide via SMS, téléverse des pièces. + +## Résultats attendus +- Affichage fiable de l’iframe. +- Opérations signées validées. +- Erreurs affichées à l’utilisateur, logs collectés. diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md new file mode 100644 index 0000000..009824c --- /dev/null +++ b/docs/INSTALLATION.md @@ -0,0 +1,35 @@ +# Installation - IHM Client + +## Prérequis +- Accès au dépôt `4NK_env` (branche `ext`). +- Docker/Compose installés. +- Variables centralisées dans `lecoffre_node/.env.master`. + +## Récupération du code +```bash +cd /home/debian/4NK_env +# Assure-toi d'être sur la branche ext dans tous les dépôts +``` + +## Configuration +- Ne pas créer de `.env` local. +- Renseigner/valider `VITE_*` dans `lecoffre_node/.env.master`. + +## Démarrage (via orchestrateur) +- Lancer via `lecoffre_node` (recommandé) : +```bash +cd /home/debian/4NK_env/lecoffre_node +./scripts/start.sh | cat +``` + +## Accès +- `https://dev4.4nkweb.com/` (intégré via Nginx). + +## Vérifications +- Page statut: `https://dev4.4nkweb.com/status/` +- WebSocket: `wss://dev4.4nkweb.com/ws/` +- Logs Grafana. + +## Notes +- Brancher IHM via iframe dans `lecoffre-front`. +- Ne pas déclencher de CI depuis ce dépôt; builds images depuis pipelines tag `ext` si nécessaire. diff --git a/docs/QUALITE.md b/docs/QUALITE.md new file mode 100644 index 0000000..456ba48 --- /dev/null +++ b/docs/QUALITE.md @@ -0,0 +1,6 @@ +# Qualité Logicielle - IHM Client + +- Lint/format: respecter config projet. +- Tests: ajouter vérifs WS et intégration iframe. +- Performance: code splitting et lazy loading. +- Observabilité: logs structurés, erreurs gérées. diff --git a/docs/SECURITE.md b/docs/SECURITE.md new file mode 100644 index 0000000..e2e6154 --- /dev/null +++ b/docs/SECURITE.md @@ -0,0 +1,6 @@ +# Sécurité - IHM Client + +- Pas de secrets dans le code/dépôt. +- Variables via `.env.master` uniquement. +- CSP/headers via Nginx. +- WS sécurisé via `wss://`. diff --git a/docs/TECHNIQUE.md b/docs/TECHNIQUE.md new file mode 100644 index 0000000..dc7683e --- /dev/null +++ b/docs/TECHNIQUE.md @@ -0,0 +1,22 @@ +# Description Technique - IHM Client + +## Tech stack +- Node.js 20, Vite/React. +- Code splitting (`React.lazy`, `Suspense`). + +## Configuration +- Variables `VITE_*` via `lecoffre_node/.env.master`. +- Aucune lecture de `.env` local. + +## Interfaces +- WebSocket `VITE_WS_URL` (relay). +- REST `VITE_API_BASE_URL` (backend). +- `VITE_SIGNER_URL` (signer). + +## Sécurité +- Aucune clé en dépôt. +- Headers sécurisés via Nginx. + +## Observabilité +- Logs Promtail → Loki. +- Dashboards Grafana. diff --git a/docs/TODO.md b/docs/TODO.md new file mode 100644 index 0000000..cb3b810 --- /dev/null +++ b/docs/TODO.md @@ -0,0 +1,6 @@ +# TODO - IHM Client + +- Vérifier intégration iframe avec `lecoffre-front`. +- Tester WS `wss://dev4.4nkweb.com/ws/`. +- Vérifier configuration `VITE_*` via `.env.master`. +- Ajouter dashboards Grafana si manquants.