diff --git a/ihm_client b/ihm_client index 1b5f672..09c2d1f 160000 --- a/ihm_client +++ b/ihm_client @@ -1 +1 @@ -Subproject commit 1b5f672f62aad7232606a7c15b9c796617b5bdc9 +Subproject commit 09c2d1f96915979ef21b233bd1535225f981a4c5 diff --git a/lecoffre-front b/lecoffre-front index 2a62c26..573a3e4 160000 --- a/lecoffre-front +++ b/lecoffre-front @@ -1 +1 @@ -Subproject commit 2a62c2649d10d33be58c1c644e70cac156dffc48 +Subproject commit 573a3e49e5391c49ed8169711d14275fd5d70dad diff --git a/lecoffre_node b/lecoffre_node index 912fe1c..b7ca256 160000 --- a/lecoffre_node +++ b/lecoffre_node @@ -1 +1 @@ -Subproject commit 912fe1c96dc9b2032f95405a5a137e3e552fe419 +Subproject commit b7ca256fcfb7cf16e19e91f8f10f087e43ced546 diff --git a/tests/ihm_client/analyse.md b/tests/ihm_client/analyse.md deleted file mode 100644 index 1762e08..0000000 --- a/tests/ihm_client/analyse.md +++ /dev/null @@ -1,16 +0,0 @@ -### Objet -Axes de tests pour `ihm_client` (sans exemples). - -### Couverture prioritaire -- **Chargement iframe**: initialisation, messages parent ↔ iframe -- **Auth/Token**: création, stockage, renouvellement, invalidation -- **Pages**: home, chat, account, process, signature (navigation, états) -- **WebSockets**: connexion, reconnexion, messages, erreurs -- **Modales**: confirmation/creation/waiting/validation-rule - -### Performance -- **Workers**: cache et base de données (latences, tailles) - -### Sécurité -- **postMessage**: validation d’origine, format messages -- **Stockage**: isolation domain/cookies/localStorage diff --git a/tests/lecoffre-front/analyse.md b/tests/lecoffre-front/analyse.md deleted file mode 100644 index ab5567e..0000000 --- a/tests/lecoffre-front/analyse.md +++ /dev/null @@ -1,27 +0,0 @@ -### Objet -Axes de tests pour `lecoffre-front` (sans exemples d’implémentation). - -### Couverture prioritaire -- **Routage**: accessibilité des pages clés sous `basePath` `/lecoffre` -- **Auth**: parcours login client et callbacks (Id360/IdNot) -- **Tableau client**: chargement données, états vides, erreurs -- **Dossiers/Documents**: création/affichage, téléchargements, filigrane -- **Souscription**: parcours complet (erreur/succès/gestion) -- **Notifications/Toasts**: affichage cohérent des erreurs - -### Données et intégrations -- **API Back**: validation des URL via `NEXT_PUBLIC_BACK_API_*` et `NEXT_PUBLIC_API_URL` -- **IdNot Auth**: vérifier que l’appel se fait en POST `/api/v1/idnot/auth` avec `{ code }` dans le corps, et qu’aucune URL longue n’est utilisée. -- **Idnot/Docaposte**: vérification des redirections et scopes - -### Non-régressions UI/UX -- **DesignSystem**: composants critiques (boutons, tabs, formulaires) -- **Accessibilité**: focus, contrastes, navigation clavier - -### Performance -- **Chargement initial**: taille bundle avec `React.lazy`/`Suspense` si applicable -- **Rendu**: éviter re-renders via stores et mémoïsations locales - -### Sécurité -- **Données sensibles**: absence de secrets dans `NEXT_PUBLIC_*` -- **JWT**: décodage côté client limité aux besoins diff --git a/tests/lecoffre-front/ci.md b/tests/lecoffre-front/ci.md deleted file mode 100644 index f6296b4..0000000 --- a/tests/lecoffre-front/ci.md +++ /dev/null @@ -1,32 +0,0 @@ -### Plan de tests CI/CD - -Ce document liste les scénarios de test pour valider la chaîne CI/CD décrite dans `docs/ci.md`. - -### Pré-requis - -- Accès au registre Scaleway avec droits de push/pull. -- Accès au cluster Kubernetes `lecoffre` et à Vault (lecture des chemins référencés). -- BuildKit activé et agent SSH opérationnel pour l’accès `git.4nkweb.com`. - -### Tests de build - -- Vérifier l’installation des dépendances avec accès SSH aux ressources privées. -- Exécuter `npm run build` et confirmer la génération sans erreurs. - -### Tests d’image Docker - -- Construire l’image avec le forward SSH. -- Valider la taille, les couches, l’utilisateur non-root, et l’exécution `npm run start`. -- Pousser l’image taguée (ex. `ext`) vers le registry `git.4nkweb.com` et vérifier la présence. - -### Tests Kubernetes - -- Appliquer les manifests/Helm sur un environnement de test. -- Valider la création de l’`ExternalSecret` et du `imagePullSecret`. -- Vérifier que le `Deployment` démarre, que Vault injecte les variables, et que le `Service` et `Ingress` sont fonctionnels. -- Vérifier que `NEXT_PUBLIC_4NK_URL` (origin) et `NEXT_PUBLIC_4NK_IFRAME_URL` (URL complète) sont bien injectées au build (présentes dans `/lecoffre-front/.next/standalone/.env` ou via `next.config.js`) et cohérentes avec l’iframe réellement servie. - -### Observabilité et rollback - -- Vérifier les logs d’injection Vault et de l’application. -- Tester un rollback d’image (retag vers version précédente) et vérifier la restauration. diff --git a/tests/lecoffre-front/ext.md b/tests/lecoffre-front/ext.md deleted file mode 100644 index 5a9cd3c..0000000 --- a/tests/lecoffre-front/ext.md +++ /dev/null @@ -1,28 +0,0 @@ -### Tests image "ext" - -Objectif: vérifier que l'image démarre et que les URLs d'API proviennent des variables d'environnement. - -Plan de test manuel: - -1. Vérifier l'injection des variables NEXT_PUBLIC_* - -``` -docker pull git.4nkweb.com/4nk/lecoffre-front:ext -docker run --rm git.4nkweb.com/4nk/lecoffre-front:ext sh -lc "env | grep '^NEXT_PUBLIC_' | sort" -``` - -Attendus (exemples): -- `NEXT_PUBLIC_4NK_URL`, `NEXT_PUBLIC_4NK_IFRAME_URL` définies -- `NEXT_PUBLIC_API_URL` et `NEXT_PUBLIC_BACK_API_*` cohérentes - -2. Vérifier que l'app démarre - -``` -docker run --rm -p 3001:3000 git.4nkweb.com/4nk/lecoffre-front:ext -# Ouvrir http://localhost:3001/lecoffre -``` - -Critères de réussite: - -- Le conteneur écoute sur 3000 et répond. -- Les URLs d'API proviennent des variables d'environnement. diff --git a/tests/lecoffre_node/analyse.md b/tests/lecoffre_node/analyse.md deleted file mode 100644 index 8ec8b34..0000000 --- a/tests/lecoffre_node/analyse.md +++ /dev/null @@ -1,27 +0,0 @@ -## Axes de tests — lecoffre_node - -### Pré-requis -- Nginx rechargé et conf active (`dev4.4nkweb.com.conf`) -- Réseau Docker `4nk_node_btcnet` présent -- Volumes montés (`4nk_node_bitcoin_data`, `blindbit_data`, `sdk_data`) - -### Démarrage et dépendances -- Ordre de démarrage observé vs recommandé (voir docs/analyse.md) -- Healthchecks: `bitcoin` (CLI), `blindbit` (HTTP), `sdk_relay` (`/health`) - -### Routage Nginx -- `/back/*` et `/api/*` → backend 8080 (statuts 200, pas de HTML) -- `/lecoffre/` et `/_next/` → front 3004 avec basePath OK -- `/signer/` WebSocket (101), `/blindbit/` (200) - -### CORS -- Origines autorisées: `http://dev3.4nkweb.com`, `https://dev4.4nkweb.com` -- Prévols `OPTIONS` (204) et en-têtes `Access-Control-*` - -### Non-régression -- Absence de `localhost:8080` dans les bundles front servis via `/lecoffre/` -- Redirections locales `dev3.4nkweb.com` → `https://dev4.4nkweb.com/lecoffre/` - -### Observabilité -- Journaux Nginx (`error.log`) sans erreurs après reload -- Logs `sdk_relay` présents dans `/home/bitcoin/.4nk/logs/sdk_relay.log` diff --git a/tests/lecoffre_node/api_routing.md b/tests/lecoffre_node/api_routing.md deleted file mode 100644 index 3c0c487..0000000 --- a/tests/lecoffre_node/api_routing.md +++ /dev/null @@ -1,71 +0,0 @@ -### Tests de routage API et front (dev4) - -Pré-requis: Nginx rechargé et services Docker démarrés. - -1) Santé backend via Nginx (HTTP) - -Commande: - - curl -sS -D - http://127.0.0.1/back/v1/health -o /dev/null | sed -n '1,10p' - -Attendu: `HTTP/1.1 200` (ou `302` selon auth), jamais du HTML de front. - -2) Santé backend via Nginx (HTTPS) - -Commande: - - curl -sS -D - https://dev4.4nkweb.com/back/v1/health -o /dev/null | sed -n '1,10p' - -Attendu: `HTTP/2 200`. - -3) Front `/lecoffre` (HTTPS) - -Commande: - - curl -sS -D - https://dev4.4nkweb.com/lecoffre/ -o /dev/null | sed -n '1,10p' - -Attendu: `HTTP/2 200` et pas de 301/302 en boucle. - -### Plan de tests — routage API via Nginx - -#### Pré-requis - -- Nginx actif avec `conf/nginx/dev4.4nkweb.com.conf` chargé. -- Services: backend (8080), storage (8081), ws relay (8090), blindbit (8000), front (3000/3003). - -#### Vérifications HTTP - -- GET `https://dev4.4nkweb.com/back/health` → 200 -- (Si alias validé) GET `https://dev4.4nkweb.com/api/health` → 200 -- GET `https://dev4.4nkweb.com/storage/health` → 200 - -#### Vérifications front - -- Ouvrir `https://dev4.4nkweb.com/lecoffre/` → 200, pas d’erreurs CORS ni `ERR_BLOCKED_BY_CLIENT`. -- Ouvrir la console réseau: les appels API doivent cibler `/back/...` (ou `/api/...`) sous le même hôte. - -#### Non-régression: absence de `localhost:8080` dans les bundles - -- Télécharger la page et scanner les scripts: - - `curl -sS https://dev4.4nkweb.com/lecoffre/ -o /tmp/lecoffre_index.html` - - `grep -oP '(?<=