hornet-showroom v5.4.1
hornet showroom
Prérequis
- NodeJS 8.X
- hornet-js-builder 1.X installé en global:
npm install -g hornet-js-builderInitialisation
Récupérer les sources sur projet.
Se positionner dans le répertoire du projet hornet-showroom et lancer la commande:
hb installDémarrage de l'application en mode développement
la commande à exécuter en mode développement est la suivante:
hb wElle 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ètre | Description | Valeur |
|---|---|---|
| contextPath | Contexte de l'application déployée | Par défaut vide |
| welcomePage | Page de démarrage de l'application | Passé en paramètre du ServerConfiguration |
| themeUrl | Url du thème CSS | Protocol://host:port/hornet/themeName |
{
"contextPath": "hornetshowroom",
"welcomePage": "/accueil",
...<
}Configuration des logs serveur
Niveau de log :
| Paramètre | Description | Valeur |
|---|---|---|
| level.all | Niveau de log pour toute l'application | INFO |
| level.monappli.view | Niveau de log spécifique pour une partie de l'application | optionnel |
"log": {
"levels": {
"[all]": "DEBUG",
"hornet-js-components.table": "TRACE"
}
...Déclaration des appenders :
| Paramètre | Description | Valeur | ||||||
|---|---|---|---|---|---|---|---|---|
| type | Type d'appender | file pour un fichier simpledateFile pour un fichier contenant la dateconsole ... | ||||||
| filename | Chemin absolu ou relatif au lancement du fichier de log | /var/log/nodejs/hornet-showroom/hornet-showroom-1.log | ||||||
| pattern | Présent pour les types dateFile Permet de donner un pattern de date qui sera ajouté au nom du fichier. | -yyyy-MM-dd | ||||||
| layout.type | Type d'affichage des messages | pattern | ||||||
| layout.pattern | Sché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ètre | Description | Valeur |
|---|---|---|
| remote | Activation des remotes log | false |
| level | Niveau de log | INFO |
"logClient": {
"remote": false,
"level": "TRACE",
...Déclaration des appenders
Type BrowserConsole :
| Paramètre | Description | Valeur | ||
|---|---|---|---|---|
| type | Type d'appender | BrowserConsole | ||
| layout.type | Type d'affichage des messages | THIN/BASIC/pattern/... | ||
| layout.pattern | Schéma d'affichage des messages | "%p | %c | %m%" |
"appenders": [
{
"type": "BrowserConsole",
"layout": {
"type": "THIN"
}
}Type Ajax :
| Paramètre | Description | Valeur | ||
|---|---|---|---|---|
| type | Type d'appender | Ajax | ||
| layout.type | Type d'affichage des messages | THIN/BASIC/pattern/... | ||
| layout.pattern | Schéma d'affichage des messages | "%p | %c | %m%" |
| threshold | Seuil d'envoi des messages de log | 100 | ||
| timeout | Timeout d'envoie des messages | 3000 | ||
| url | URL 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:spaDéposer les sources dans le documentroot de apache : /var/www/html
De pas oublier d'activer le module rewrite apache :
sudo a2endmod rewriteConfiguration 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-spaAttention, 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