Historique de la page
Les différents environnements front
Remarque | ||
---|---|---|
| ||
VM avec Bluemind en version 3.5 ou supérieure prête à l'utilisation. |
Environnement VueJS
Remarque | ||
---|---|---|
| ||
NodeJS installé depuis le site officiel (version 8 ou supérieure). NPM est installé avec NodeJS. Yarn installlé depuis le site officiel (version 1.12 ou supérieure). |
Pour lancer le serveur de développement :
- Se placer dans le plugin contenant l'application, dans le dossier où se trouve le fichier
package.json
(normalement il est à la racine du plugin Vue.js) - Lancer ensuite "
yarn dev
" (ou "npm run dev
" si vous n'êtes pas dans le repo bluemind-all) : un serveur de développement (live-reload enabled) est alors exécuté. Le serveur est lancé sur http://*:9180/
Éditeur VSCode (conseillé)
Bloc de code | ||
---|---|---|
| ||
{ "settings": { "prettier.eslintIntegration": true, "editor.tabSize": 4, "eslint.autoFixOnSave": true, "eslint.validate": [ { "autoFix": true, "language": "javascript" }, { "autoFix": true, "language": "vue" } ], }, "extensions": { "recommendations": [ "formulahendry.auto-close-tag", "formulahendry.auto-rename-tag", "msjsdiag.debugger-for-chrome", "dbaeumer.vscode-eslint", "eg2.vscode-npm-script", "christian-kohler.npm-intellisense", "esbenp.prettier-vscode", "dariofuzinato.vue-peek", "octref.vetur", ] }, } |
Avertissement |
---|
|
Environnement GWT
Remarque | ||
---|---|---|
| ||
Eclipse Oxygen ou Photon installé. |
Installation :
- Installer le plugin Eclipse "GWT Eclipse Plugin" (via Eclipse Marketplace)
- Lors de l'installation du plugin, cocher seulement GWT 2.8
Pour lancer le serveur de développement :
- Clic-droit sur le projet qui fournit le bundle JS (par exemple net.bluemind.ui.adminconsole.main pour l'AC), puis "Run As" et enfin, "GWT Development Mode with Jetty"
Avertissement |
---|
|
Environnement Closure
Remarque | ||
---|---|---|
| ||
|
Pour lancer le serveur de développement :
- Dans open/ui exécuter le script
plovr.sh
- Sur http://localhost:9810 sont listé les différentes configurations (~applications) gérées par plovr
Info |
---|
|
Configurer le reverse proxy
Info |
---|
Configurer son environnement de développement pour que le bon fichier JS (celui en cours de développement) soit consommé par le webserver du Bluemind installé sur sa VM. |
Via le plugin devmode (méthode conseillée)
Avantage : ne nécessite pas de reverse proxy sur la machine de développement.
Remarque | ||
---|---|---|
| ||
Paquet bm-plugin-webserver-devfilter installé sur sa VM. Si vous n'avez pas accès au devmode il suffit de compiler le paquet en se rendant dans le dossier "devmode/". |
Mise en œuvre :
Un fichier de conf est automatiquement créé (
/etc/bm/dev.json
) lors de l'installation du paquet (seulement si aucun fichier de conf existant n'est détecté)- Ajouter "
IP_DE_VOTRE_HOST_SUR_RESEAU_VM dev.bluemind.test
" dans le/etc/hosts
de votre host - Toujours sur l'host, démarrer le serveur de développement (Webpack pour VueJS, GWT Development Mode via le plugin Eclipse Plugin pour GWT, Plovr pour Closure)
Remarques :
- Dans le fichier de conf, modifier le champ '
active
' des filtres pour les activer. - À chaque modification du fichier de conf, redémarrer bm-webserver ou ajouter "?reload-devmode" à l'URL (par exemple : /cal/index.html?reload-devmode )
- Deux filtres particuliers qui peuvent être laisser toujours actifs pour développer en Closure : celui pour désactiver les appcache et l'autre sur /input/
- Vous pouvez consulter ou télécharger sur le lien suivant la configuration par défaut du devmode
En cas de problème avec HTTPS / Mixed Content Security :
Deux solutions sont possibles :
- Lancer le navigateur en "mode unsecure" :
- Pour Firefox, depuis la page "about:config" passer le paramètre
security.mixed_content.block_active_content
à false - Pour Chrome, à priori, ils ne permettent plus d'autoriser le mixed content (voir https://support.google.com/chrome/thread/25175839?hl=en et https://docs.adobe.com/content/help/en/target/using/experiences/vec/troubleshoot-composer/mixed-content.html)
- Pour Firefox, depuis la page "about:config" passer le paramètre
- Passer en mode full HTTP :
Par défault Bluemind redirige le HTTP vers HTTPS. Il faut donc ajouter la configuration suivante à votre nginx (sur votre VM).
Dans cet exemple, bluemind.virt est l'URL utilisée pour accéder à votre VM et bluemind-dev.virt sera l'URL pour accéder en HTTP
Bloc de code |
---|
server { listen 80; server_name bluemind-dev.virt; location / { proxy_pass https://bluemind.virt; } } |
En cas de problème de CSP :
La CSP de Bluemind bloque la requête ?
Il vous suffit de faire un touch /root/dev-no-csp et de restarter HPS
En cas de problème avec HSTS :
- Sur la VM, il faut supprimer la ligne qui ajoute le header
add_header Strict-Transport-Security max-age=15768000;
dans la configuration nginx :/etc/nginx/sites-enabled/bm-client-access
- Puis redémarrer nginx :
nginx -s reload
Debug :
Si le devmode ne fonctionne pas, c'est probablement à cause des 2 problèmes ci-dessus.
Sinon, tentez les étapes suivants pour qualifier votre problème :
- Est-ce que la VM est ok ?
- Serveur de développement bien lancé ?
- Ping l'host depuis la VM ?
- Curl le JS recherché depuis la VM (problème de pare-feu ?)
- règles définies dans /etc/bm/dev.json correctes ?
Via un reverse proxy
Remarque | ||
---|---|---|
| ||
Au choix le reverse proxy Nginx ou Apache doit être installé sur sa machine de développement. |
Remarques :
bluemind.host
: URL pour accéder au server BM installé sur sa VMbluemind.virt
: URL utilisée pour avoir le bon JS actif (celui qu'on modifie sur sa machine de dev, compilé et servi en live-reload par webpack-dev-server).- Exemple de
/etc/hosts
(pour un Linux) :
Nginx
Remarque : la configuration modifiée est celle du Nginx sur la machine de développement, pas sur la VM.
Exemple :
Bloc de code |
---|
upstream core2 { server bluemind.virt:443; } server { listen 80; server_name bluemind.host; # SIGNATURE location /signature/js/compile/net.bluemind.ui.signature.application.js { proxy_pass http://127.0.0.1:8080/signature/js/compile/net.bluemind.ui.signature.application.js; } } |
Apache
Bloc de code |
---|
RewriteEngine On # SIGNATURE RewriteRule "^/signature/js/compile/net.bluemind.ui.signature.application.js$" "http://127.0.0.1:8080/signature/js/compile/net.bluemind.ui.signature.application.js" [R] |