Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: Published by Scroll Versions from space DA and version BM-3.5

Présentation

Volet
borderWidth3

Sommaire

Les différents environnements front

Remarque
titlePré-requis

VM avec Bluemind en version 3.5 ou supérieure prête à l'utilisation.

Environnement VueJS

Remarque
titlePré-requis

NodeJS installé depuis le site officiel (version 8 ou supérieure). NPM est installé avec NodeJS.

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
titleConfiguration VSCode (éditable via Fichier > Préférences > Paramètres)
{
    "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
titlePré-requis

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
  • Si un message de ce type "could not find any host pages in project" apparaît au lancement du server : clic-droit sur le projet / Propriétés / GWT / Web Application et sélectionner l'option "This directory has a WAR directory" (et configurer le dossier, web-resources par exemple).
  • Pour l'utiliser avec le devmode, il peut être nécessaire de préciser une adresse IP au serveur de dev GWT. Elle peut être défini dans Run Configuration / Arguments en précisant un paramètre "-bindAddress 0.0.0.0" (par exemple).

Environnement Closure

Remarque
titlePré-requis
  • Créer le fichier vide /root/dev-unsecure-cookies sur sa VM et redémarrer le service bm-hps
  • Compilation effectuée dans open/ui :

    Bloc de code
     mvn -Dmaven.test.skip=true clean install


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)

Avantagene nécessite pas de reverse proxy sur la machine de développement.


Remarque
titlePré-requis

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

Debug :

  • En cas de problème avec HTTPS, il faut lancer le navigateur en "mode unsecure" :
    • Dans Firefox, depuis la page "about:config" passer le paramètre security.mixed_content.block_active_content à false
    • Pour Chrome, lancer le navigateur avec l'option "--allow-running-insecure-content".
    • Exemple d'erreur liée à ce problème :
       Image Added
  • Si le devmode ne fonctionne pas :
    • 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
titlePré-requis

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 VM
  • bluemind.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]