Node.js

Node.js sert à compiler les sources des trois frontends Node.js du dépôt: le client web (web), le portail (portal) et la WebUI (webui).

Au préalable, la version 24.14 (ou suivante) doit être installée et le dossier bin doit être ajouté à la variable d’environnement PATH.

L’erreur typique /usr/bin/env: 'node': No such file or directory se produit lorsque le dossier bin n’est pas dans le PATH.

Test

Dans un terminal, la commande npm --version doit donner à peu près ceci:

11.9.0

Il est normal que la version de npm ne corresponde pas à la version de Node.js.

Configuration

Afin de configurer le repository privé, utiliser les commandes suivantes:

npm set registry https://npm.admin.sai-erp.net
npm login --registry https://npm.admin.sai-erp.net

Les identifiants peuvent être récupérés sur passbolt (NPM - reader).

Client web

Info:

Cette compilation n’est nécessaire que pour disposer d’un serveur SAINet avec l’interface mobile/web (propriété server.webapp.enabled).

Préparation

Afin de pouvoir compiler le projet, le fichier web/app/scripts/Config_template.ts doit être copié en web/app/scripts/Config.ts.

cp web/app/scripts/Config_template.ts web/app/scripts/Config.ts

Le fichier Config.ts peut être édité afin de modifier les différentes propriétés.

Compilation

Pour compiler, exécuter les commandes suivantes:

cd web
npm install
npm run build

Une fois la compilation effectuée, le dossier dist contiendra les fichiers compilés.

Info:

Afin de développer le client web, il faudra lancer un serveur nodejs. Pour les développements courants dans SAINet, ce n’est pas nécessaire.

Portail

Préparation

Aucune copie de fichier de configuration n’est nécessaire: le fichier portal/src/core/public/scripts/Config.ts est versionné.

Compilation

Pour compiler, exécuter les commandes suivantes:

cd portal
npm ci
npm run dist

Une fois la compilation effectuée, le fichier portal/dist/server.js est disponible.

Configuration d’exécution

La configuration d’exécution du portail passe par des variables d’environnement. En développement, elles sont lues dans le fichier portal/.env (chargé au démarrage de dist/server.js), à créer à partir du modèle portal/.env.example:

cp portal/.env.example portal/.env

Test en local

La commande npm run dev seule ne démarre pas le serveur (à la différence de la WebUI): elle se contente de recompiler en continu. Avec portal/.env configuré, lancer dans le dossier portal:

npm run debug

Cette commande compile une première fois le portail, puis recompile en continu le front, le back et les ressources, et redémarre automatiquement le serveur à chaque changement. Le débogueur Node peut être attaché sur le port 9229 (voir le README du portail pour VS Code).

Pour lancer un portail sur un serveur local, voir Attacher le portail au serveur local.

WebUI

Préparation

Aucune copie de fichier n’est nécessaire pour compiler. La configuration d’exécution se trouve dans le fichier webui/.env.local, à créer à partir du modèle webui/.env.example.

Compilation

Pour compiler, exécuter les commandes suivantes:

cd webui
npm ci
npm run build

Une fois la compilation effectuée, le serveur webui/.next/standalone/server.js est disponible.

Test en local

Avec webui/.env.local configuré, lancer dans le dossier webui:

npm run dev

Le serveur de développement Next.js (avec rechargement à chaud) est alors accessible sur http://localhost:3210. Pour la même chose avec le débogueur Node attachable sur le port 9230 (le portail utilise le port 9229):

npm run debug

La commande npm run build n’est nécessaire que pour produire le build de production.

Le détail (configuration, lancement en développement) est décrit dans Développement WebUI.