5.4.1 • Published 5 years ago

hornet-showroom v5.4.1

Weekly downloads
2
License
CECILL-2.1
Repository
github
Last release
5 years ago

hornet showroom

Prérequis

  • NodeJS 8.X
  • hornet-js-builder 1.X installé en global:
npm install -g hornet-js-builder

Initialisation

Récupérer les sources sur projet.

Se positionner dans le répertoire du projet hornet-showroom et lancer la commande:

hb install

Démarrage de l'application en mode développement

la commande à exécuter en mode développement est la suivante:

hb w

Elle permet de lancer l'application en mode watcher afin que les modifications soient prises en compte (ce qui entrainera un redémarrage du serveur node dans le cas d'une détection de modification).

Vérification

Vous pouvez accéder à l'application depuis l'url http://localhost:8888/hornet-showroom/

Fichier de configuration de l'application : default.json

L'ensemble de la configuration applicative du serveur NodeJS se situe dans le fichier default.json contenu dans les sources de l'application.

Ce fichier ne doit pas être modifié, excepté pour le log console. Les modifications sont à apporter dans les fichiers d'infrastructure.

Partie applicative

ParamètreDescriptionValeur
contextPathContexte de l'application déployéePar défaut vide
welcomePagePage de démarrage de l'applicationPassé en paramètre du ServerConfiguration
themeUrlUrl du thème CSSProtocol://host:port/hornet/themeName
{
  "contextPath": "hornetshowroom",
  "welcomePage": "/accueil",
  ...<
}

Configuration des logs serveur

Niveau de log :

ParamètreDescriptionValeur
level.allNiveau de log pour toute l'applicationINFO
level.monappli.viewNiveau de log spécifique pour une partie de l'applicationoptionnel
 "log": {
    "levels": {
      "[all]": "DEBUG",
      "hornet-js-components.table": "TRACE"
    }
    ...

Déclaration des appenders :

ParamètreDescriptionValeur
typeType d'appenderfile pour un fichier simpledateFile pour un fichier contenant la dateconsole ...
filenameChemin absolu ou relatif au lancement du fichier de log/var/log/nodejs/hornet-showroom/hornet-showroom-1.log
patternPrésent pour les types dateFile Permet de donner un pattern de date qui sera ajouté au nom du fichier.-yyyy-MM-dd
layout.typeType d'affichage des messagespattern
layout.patternSchéma d'affichage des messages"%[%d{ISO8601}%x{tid}%x{user}%p%c%x{fn}%m%]"

Ex: type console

"appenders": [
	{
	    "type": "console",
	    "layout": {
	      "type": "pattern",
	      "pattern": "%[%d{ISO8601}|%x{tid}|%x{user}|%p|%c|%x{fn}|%m%]"
	    }
	}
]

ex : type fichier

"appenders": [
	{
	    "type": "dateFile",
	    "filename": "log/app.log",
	    "layout": {
	      "type": "pattern",
	      "pattern": "%d{ISO8601}|%x{tid}|%x{user}|%p|%c|%x{fn}|%m"
	    }
	}
]

Configuration des logs client

ParamètreDescriptionValeur
remoteActivation des remotes logfalse
levelNiveau de logINFO
  "logClient": {
    "remote": false,
    "level": "TRACE",
    ...

Déclaration des appenders

Type BrowserConsole :

ParamètreDescriptionValeur
typeType d'appenderBrowserConsole
layout.typeType d'affichage des messagesTHIN/BASIC/pattern/...
layout.patternSchéma d'affichage des messages"%p%c%m%"
"appenders": [
{
	"type": "BrowserConsole",
	"layout": {
	  "type": "THIN"
	}
}

Type Ajax :

ParamètreDescriptionValeur
typeType d'appenderAjax
layout.typeType d'affichage des messagesTHIN/BASIC/pattern/...
layout.patternSchéma d'affichage des messages"%p%c%m%"
thresholdSeuil d'envoi des messages de log100
timeoutTimeout d'envoie des messages3000
urlURL d'envoi des logs/logs
"appenders": [
	{
	    "type": "Ajax",
	    "layout": {
	      "type": "BASIC"
	    },
	    "threshold": 100,
	    "timeout": 3000,
	    "url": "/log"
	}
]

Configuration Apache pour le full SPA

Préparer les sources avec le builder :

hb package:spa

Déposer les sources dans le documentroot de apache : /var/www/html

De pas oublier d'activer le module rewrite apache :

sudo a2endmod rewrite

Configuration apache 2.4 :

Alias /hornetshowroom-spa "/var/www/html/hornetshowroom-spa"
<Directory "/var/www/html/hornetshowroom-spa">
    Require all granted
</Directory>

RewriteEngine on
#Redirection du contexte racine vers la page d'accueil
RewriteRule ^/hornetshowroom-spa/$ /hornetshowroom-spa/accueil [R]
# Reécrire les routes applicatives (les URI du type /hornetshowroom-spa/route, sans . dans le chemin) pour les renvoyer vers le client js (index.html)
RewriteRule ^/hornetshowroom-spa/[^\.]*$ /hornetshowroom-spa/index.html [PT]
# réécrire les images /static/path/to/my/img /path/to/my/img
RewriteRule ^/hornetshowroom-spa/static/(.*)\.(gif|jpg|png|svg)$ /hornetshowroom-spa/$1.$2 [L,R=301]

Il est possible de pointer le documentroot vers un workspace en créant un lien symbolique.

Ex :

sudo ln -s ~/Dev/workspace-vscode/hornet-showroom/static /var/www/html/hornetshowroom-spa

Attention, Apache 2.4 remonte une 403 dans le cas d'un workspace dans le home utilisateur si celui-ci est crypté. Pour tester le cryptage, le user www-data doit pouvoir lire le répertoire

sudo -u www-data ls -l /var/www/html/hornetshowroom-spa/

Licence

hornet-showroom est sous licence cecill 2.1.

Site web : http://www.cecill.info