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.
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.
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).
Cette compilation n’est nécessaire que pour disposer d’un serveur SAINet avec l’interface mobile/web (propriété server.webapp.enabled).
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.
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.
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.
Aucune copie de fichier de configuration n’est nécessaire: le fichier portal/src/core/public/scripts/Config.ts est versionné.
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.
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
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.
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.
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.
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.