WebUI
La WebUI est la nouvelle application web (v6) de SAINet. Ses sources se trouvent dans le dossier webui/ (Next.js)
et elle dialogue avec le serveur SAINet via l’interface EPS.
Pour la lancer en développement, il faut:
- Node.js installé dans la version requise;
- un serveur SAINet local démarré, par exemple avec l’embedded server.
Pour le déploiement en production (Docker), voir la documentation système.
Depuis la racine du dépôt:
cd webui
npm install
La configuration se fait par variables d’environnement. En développement, elles sont lues dans le fichier
webui/.env.local, à créer à partir du modèle fourni:
cp .env.example .env.local
Ne jamais committer le fichier .env.local: il peut contenir des secrets.
Les principales variables sont:
| Variable | Description |
|---|---|
SAINET_URL |
Point d’entrée EPS du serveur SAINet. Obligatoire. Pour un embedded server local: http://localhost:9090/SNV4SRV-ws-war/EPS. |
SAINET_SCREEN_KEY |
Clé HMAC des jetons d’intégrité des écrans. Obligatoire en production (au moins 32 octets aléatoires, par exemple générés avec openssl rand -base64 48). |
En développement, SAINET_SCREEN_KEY peut rester vide: une clé aléatoire est alors générée à chaque démarrage du
processus. Les sessions étant conservées en mémoire dans ce même processus, un redémarrage perd la clé et les sessions
ensemble.
Les autres variables (aide en ligne, délai d’appel, mise à jour automatique, compte de service, etc.) sont optionnelles
et documentées dans le fichier webui/.env.example.
Pour lancer la WebUI en mode développement:
npm run dev
Cette commande exécute next dev --turbopack -p 3210. Une fois démarrée, ouvrir http://localhost:3210 dans un
navigateur et se connecter avec un utilisateur applicatif SAINet (SYS02).
Pour déboguer le code serveur, lancer à la place:
npm run debug
Cette commande lance la même chose avec le débogueur Node attachable sur le port 9230 (le portail utilise le port 9229: les deux peuvent tourner en même temps). Le code exécuté dans le navigateur se débogue avec les outils de développement du navigateur.
La WebUI s’arrête au démarrage si le serveur SAINet n’est pas joignable: démarrer le serveur d’abord.
Les modifications du code sont rechargées à chaud: il n’est pas nécessaire de redémarrer la WebUI.
Les scripts suivants sont définis dans webui/package.json:
npm run debug: lance le serveur de développement avec le débogueur Node sur le port 9230;npm run build: construit l’application pour la production;npm run check: lance l’ensemble des contrôles (typage, lint, dépendances, code mort, duplication, tests);npm test: lance les tests.