Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Scroll Ignore
scroll-viewporttrue
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmlfalse
Panel
titleSommaire

Table of Contents
stylenone

Concept

Cette page décrit comment définir dans le format JSON les liens externes qui permettront d'accéder à la météo sans passer par l'Interface de Visualisation de Shinken .

Elle permet de définir :

  • Le comportement par défaut des liens de la météo,
  • Les paramètres de chaque lien,
  • Le style et le contenu d'une barre d'information optionnelle qui peut être adaptée pour chaque lien, pour permettre une intégration optimale ( voir la page  La vue météo hors de Shinken )

Exemple

Code Block
languagebash
themeRDark
"external_links" : {
	"default_link" : {
		"link_protocol" : "default",
		"link_base_url" : "default",
		"link_external_part_url" : "default",
		"authentication_needed" : "default",
		"info_bar" : {
			"background_color" : "default",
			"logo_displayed" : "default",
			"position" : "default",
			"refresh" : {
				"chrono_displayed" : "default",
				"generation_time_displayed" : "default"
			}
		},
		"notifications" : {
			"sound" : {
				"enabled" : "default"
		},
			"visual" : {
				"blink" : {
				"enabled" : "default"
				}
			}
		},
		"display" : {
			"dark_mode" : "default"
		}
	},
	"links" : [
		{
			"link_name" : "Nom URL 1",
			"link_uuid" : "b0ea5ab3-3f67-60c3-8fb3-32a7a41cdee3",
			"link_protocol" : "default",
			"link_base_url" : "default",
			"link_external_part_url" : "default",
			"authentication_needed" : "default",
			"info_bar" : {
				"background_color" : "default",
				"logo_displayed" : "default",
				"position" : "default",
				"refresh" : {
					"chrono_displayed" : "default",
					"generation_time_displayed" : "default"
				}
			},
			"notifications" : {
				"sound" : {
					"enabled" : "default"
				},
				"visual" : {
					"blink" : {
						"enabled" : "default"
					}
				}
			},
			"display" : {
				"dark_mode" : "default"
			}
		}
	]
},

Description

Info

Les URL des liens ont le format suivant : <link_protocol>://<link_base_url>/service-weather/<link_external_part_url>/<weather_uuid>/<link_uuid>

Ajout d'un nouveau lien externe

Dans le format, JSON, le rajout d'un nouveau lien se fait au niveau de la section "links" .

Code Block
languagebash
themeRDark
...
"external_links" : {
	...
    "links": [
		{
			DEFINITION DU LIEN 1
    	 },
		{
        	DEFINITION DU LIEN 2
    	 },
    	...
   ]
...
}
...

Définition d'un lien externe

Paramètres des liens externes

Les liens vont être définis à l'aide de paramètres composés ( "clé" : "valeur" )

  • du nom,
  • de la valeur.


Code Block
languagebash
themeRDark
...
    {
		"link_name": "external portal display",
        "authentication_needed": true,
	},
...


Un paramètre peut être non défini, mais avoir une valeur :

  • Si le paramètre n'est pas présent dans le JSON ou que sa valeur est "default", la météo va le considérer comme ayant une valeur non définie et elle va calculer sa valeur par défaut ( voir le chapitre Calcul de la valeur d'un paramètre en cascade ).

Anchor
LienCalculValeurParDefaut
LienCalculValeurParDefaut

Calcul de la valeur d'un paramètre en cascade

La valeur d'un paramètre peut être définie à 3 niveaux différents :

  • Dans le lien ( ce qui servira pour ce lien uniquement ) ;
  • Dans le niveau "default_link" ( ce qui servira de valeur par défaut pour ce paramètre dans cette météo ) ;
  • Dans les fichiers de configuration de la météo ( ces valeurs serviront alors de valeur par défaut de toutes les météos ) ;


La valeur d'un paramètre sera déterminée en parcourant les 3 niveaux dans cet ordre jusqu'à ce qu'une valeur définie soit trouvée : 

  1. dans la partie JSON de la configuration du "link" ;
  2. dans la partie JSON de la configuration du "default_link" ;
  3. dans le "fichier de configuration".


Info
  • Si le paramètre n'est défini à aucun des trois niveaux précédents, le module de météo dispose de valeur par défaut.
  • Il est déconseillé de se baser dessus, car au fil des livraisons, Shinken pourrait être amené à changer ces valeurs.
Info

Pour les notifications, il y a un quatrième niveau qui est celui de la météo. En effet si aucune configuration n'est présente sur le lien ou sur le niveau " default_link ", alors il prendra la configuration, si existante, de la météo.

La configuration des liens

Code Block
languagebash
themeRDark
{
...        "links": [
    {
      "link_name": "Mon URL 1",
      "link_uid": "unique-id",
      "link_protocol": "default",
      "link_base_url": "default",
      "link_external_part_url": "default",
      "authentication_needed": "default",
      "info_bar": {
        ...
      },
      "refresh": {
       ...
      },
      "notifications": {
       ...
      },
      "display": {
        ...
      }
    }
  ] 
...
}
NomTypeUnitéDéfautCommentaire
No Format
link_name
Texte

---

---

Le nom est obligatoire.

Les caractères suivants sont interdits :

  • ', ", <, >


Info

Limité à 300 caractères.

No Format
link_uuid
Texte

---

---

Correspond à l'identifiant unique du lien.

Est automatiquement ajouté au lien si manquant.

Il peut être personnalisé, mais il doit impérativement être unique parmi les liens de cette météo.

Les caractères suivants sont interdits :

  • !,#,$,&,',(,),*,+,,/,:,;,=,?,@,[,],<,>
  • caractères avec des accent
  • espace
  • émoji 


Info

Limité à 300 caractères.

No Format
link_protocol
Texte--- protocol_from_webui 

Cette option permet de choisir le protocole qui va être utilisé pour le lien externe.

NomCommentaire
No Format
protocol_from_webui
Le lien utilisera le même protocole que l'Interface de Visualisation
No Format
https
Le lien utilisera le protocole sécurisé HTTPS
No Format
http
Le lien utilisera le protocole non sécurisé HTTP
Si la valeur default est définie, voir le chapitre Calcul de la valeur d'un paramètre en cascade


No Format
authentication_needed

Booléen

---

default

NomCommentaire
No Format
true
Le lien ne sera accessible que pour les utilisateurs identifiés par l'Interface de Visualisation
No Format
false
Le lien sera accessible par tout le monde
Si la valeur " default" est définie,  voir le chapitre Calcul de la valeur d'un paramètre en cascade


No Format
link_base_url
Texte---

default

Cette option permet de modifier la base URL  ( adresse IP ou nom du serveur, et éventuellement son port ) d'accès du lien externe.

Info

Elle peut correspondre à l'identifiant du système sur lequel est hébergé Shinken ou à un serveur proxy.


Exemple d'URL : http://localhost:7767/service-weather/external/abcd01/xyz009

Où :

  • http:// est la valeur du paramètre link_protocol
  • localhost:7767 est la valeur de ce paramètre,
  • external est la valeur du paramètre external_part_url,
  • abcd01 est l'uuid de la météo du service,
  • xyz009 est l'uuid de configuration du lien externe

Le caractère / et les autres caractères interdits dans les URL ne sont pas autorisés dans ce paramètre.

Exemple de caractères interdit : !,#,$,&,',(,),*,+,,/,:,;,=,?,@,[,],<,>, caractères avec des accents…


Si la valeur default est définie, voir le chapitre Calcul de la valeur d'un paramètre en cascade.



Info

Limité à 300 caractères.

No Format
link_external_part_url
Texte---

default


Cette option permet de modifier le chemin d'accès du lien, c'est une partie personnalisable de l'url qui sera partagée.

Info

Elle peut permettre de rediriger les utilisateurs accédant au lien externe vers les différentes météos des services d'un serveur proxy.


Exemple d'URL : http://localhost:7767/service-weather/external/abcd01/xyz009

Où :

  • http:// est la valeur du paramètre link_protocol
  • localhost:7767 est la valeur de la base URL,
  • external est la valeur de ce paramètre,
  • abcd01 est l'uuid de la météo du service,
  • xyz009 est l'uuid de configuration du lien externe

Le caractère / et les autres caractères interdits dans les URL ne sont pas autorisés dans ce paramètre.
Exemple de caractères interdit : !,#,$,&,',(,),*,+,,/,:,;,=,?,@,[,],<,>, caractères avec des accents…


Si la valeur default est définie, voir le chapitre Calcul de la valeur d'un paramètre en cascade.


Info

Limité à 300 caractères.

No Format
info_bar
Objet------

Permet de définir un paramétrage pour la barre d'information de ce lien. Voir ci-dessous pour le paramétrage d'une barre d'information.

No Format
notifications
Objet------Permet de définir les paramètres de notifications de ce lien. Voir ci dessous pour le paramétrage des notifications.
No Format
display
Objet------

Permet de définir un paramétrage pour le mode d'affichage de ce lien. Voir ci-dessous pour le paramétrage d'affichage.

Anchor
infoBar
display
infoBar
display
La configuration de l'affichage
Code Block
languagebash
themeRDark
{
...        
 "display" : {
        "dark_mode" : "default"
    } 
...
}
NomTypeUnitéDéfautCommentaire
No Format
dark_mode
Booléen

---

default

NomCommentaire
No Format
true
Active le mode sombre pour ce lien, même si ce n’est pas le mode global.
No Format
false
Désactive le mode sombre pour le lien, même si activé globalement
No Format
default
Si "default" est défini voir le chapitre   Calcul de la valeur d'un paramètre en cascade.
Anchor
infoBar
infoBar
La configuration de la barre d'information des liens
Code Block
languagebash
themeRDark
{
...     
   "info_bar": {
        "position"        : "top",
        "background_color": "#343434",
        "logo_displayed"    : false,
        "refresh"         : {
            "chrono_displayed": true,
            "generation_time_displayed"  : false
      	}
    }
...
}
NomTypeUnitéDéfautCommentaire
No Format
position
Texte--- default

Position de la barre d'information .
Les valeurs possibles sont :

  • top ( affichage en haut de la vue ),
  • bottom ( affichage en bas de la vue )

Si la valeur default est définie, voir le chapitre Calcul de la valeur d'un paramètre en cascade.



No Format
background_color
Couleur Web--- default

Couleur de la barre d'information.

Le format de la valeur est une couleur web ( au format hécadécimal, en anglais, ou en rgb ) ( Voir :  https://en.wikipedia.org/wiki/Web_colors )

Si la valeur default est définie, voir le chapitre Calcul de la valeur d'un paramètre en cascade.



No Format
logo_displayed
Booléen--- default

Option d'affichage du logo Shinken.
Les valeurs possibles sont :

  • false ( le logo n'est pas affiché )
  • true ( le logo est affiché avec son texte en noir )

Si la valeur default est définie, voir le chapitre Calcul de la valeur d'un paramètre en cascade


No Format
refresh
------ --- Options d'affichage des informations de rafraichissement ( voir le paragraphe Option d'affichage des informations de rafraichissement )
Info

Si la barre d'information est vide ( tous les éléments qui peuvent être affichés sont à hidden ou false ), elle ne sera pas présente.

Anchor
refresh_info
refresh_info
La configuration des informations de rafraichissement dans la barre d'information des liens
Code Block
languagebash
themeRDark
{
...     
   "refresh"         : {
       "chrono_displayed": true,
       "generation_time_displayed"  : false
   }
...
}
NomTypeUnitéDéfautCommentaire
No Format
chrono_displayed
Booléen--- default

Affiche sur la barre d'information ( à droite ) l'icône d'horloge indiquant le temps restant avant le prochain rafraichissement ( heure de génération de la page ).


Si la valeur default est définie, voir le chapitre Calcul de la valeur d'un paramètre en cascade


No Format
generation_time_displayed
Booléen--- default

Affiche sur la barre d'information ( à droite ) le texte indiquant l'heure du dernier rafraichissement ( heure de génération de la page ).


Si la valeur default est définie, voir le chapitre Calcul de la valeur d'un paramètre en cascade


Anchor
Notifications
Notifications
La configuration des notifications

Le paramétrage des notifications suit un héritage particulier :

  • En priorité, le paramétrage du lien est utilisé ;
  • Si celui-ci n'est pas présent, celui du lien par défaut est utilisé ;
  • Si celui-ci n'est pas présent, celui de la météo est utilisé ;
Code Block
languagebash
themeRDark
...
"notifications": {
    "sound": {
      "enabled": "default"
    },
    "visual": {
      "blink": {
        "enabled": "default"
      }
    }
  }
...
Définition des notifications sonores

Il est possible de paramétrer les notifications sonores de la météo en modifiant "sound" de la partie "notifications" du JSON.

Code Block
languagebash
themeRDark
...
"notifications" : {
    "sound": {
		"enabled": "default"
    },
...
}
...



NomTypeUnitéDéfautCommentaire
No Format
enabled
Booléen

---

default

NomCommentaire
No Format
true
Les notifications sonores sont actives sur ce lien.
No Format
false
Les notifications sonores ne sont pas actives sur ce lien.
No Format
default
Si cette valeur est définie, voir le chapitre Calcul de la valeur d'un paramètre en cascade.
Définition des notifications visuelles

Il est possible de paramétrer les notifications visuelles de la météo sur ce lien en modifiant "visual" de la partie "notifications" du JSON. Ces notifications apparaissent sous la forme d'un clignotement de 3 secondes sur les éléments concernés par un changement d'état.

Code Block
languagebash
themeRDark
...
"notifications" : {
	...
    "visual": {
		"blink": {
		 	"enabled": "default"
		}
    },
...
}
...
NomTypeUnitéDéfautCommentaire
No Format
enabled
Booléen

---

default

NomCommentaire
No Format
true
Les notifications visuelles de type "Clignotement" sont actives sur ce lien.
No Format
false
Les notifications visuelles de type "Clignotement" ne sont pas actives sur ce lien.
No Format
default
Si cette valeur est définie, voir le chapitre Calcul de la valeur d'un paramètre en cascade.

La configuration du niveau "default_link" des liens

Code Block
languagebash
themeRDark
{
...     
    "default_link" : {
        "link_protocol" : "protocol_from_webui",
        "link_base_url" : "my.proxy:8080",
        "link_external_part_url" : "external",
        "authentication_needed" : true,
        "links": [],
        "info_bar": {
            "position" : "top", 
			"background_color": "#343434",
            "logo_displayed" : true,
            "refresh" : {
                "chrono_displayed": true,
                "generation_time_displayed" : false
            }
        },
        "notifications": {},
	 	"display": {}
...
}
NomTypeUnitéDéfautCommentaire
No Format
link_protocol


protocol_from_webui

Cette option permet de choisir quel protocole utiliser pour les liens externes par défaut.

NomCommentaire
No Format
protocol_from_webui
Les liens utiliseront le même protocole que l'Interface de Visualisation.
No Format
https
Les liens utiliseront le protocole sécurisé HTTPS.
No Format
http
Les liens utiliseront le protocole non sécurisé HTTP.

Si la valeur default est définie, voir le chapitre Calcul de la valeur d'un paramètre en cascade.

No Format
link_base_url
Texte--- L'url du Broker

Cette option permet de modifier la base de l'URL   ( adresse IP ou nom du serveur, et éventuellement son port ) d'accès aux liens externes.

Info

Elle peut correspondre à l'identifiant du système sur lequel est hébergé Shinken ou à un serveur proxy.

Exemple d'URL : http://localhost:7767/service-weather/external/abcd01/xyz009

Où :

  • http:// est la valeur du paramètre link_protocol,
  • localhost:7767 est la valeur de ce paramètre ,
  • external est la valeur du paramètre external_part_url,
  • abcd01 est l'uuid de la météo du service,
  • xyz009 est l'uuid de configuration du lien externe.

Le caractère / et les autres caractères interdits dans les URL, ne sont pas autorisés dans ce paramètre.
Exemple de caractères interdit : !,#,$,&,',(,),*,+,,/,:,;,=,?,@,[,],<,>, caractères avec des accents…


Si la valeur default est définie, voir le chapitre Calcul de la valeur d'un paramètre en cascade.

Info

Limité à 300 caractères.

No Format
link_external_part_url
Texte--- external

Cette option permet de modifier le chemin d'accès aux liens externes, c'est une partie personnalisable de l'url qui sera partagée.

Info

Elle peut permettre de rediriger les utilisateurs de ces liens externes vers les différentes météos des services du serveur proxy.


Exemple d'URL : http://localhost:7767/service-weather/external/abcd01/xyz009
Où :

  • http:// est la valeur du paramètre link_protocol,
  • localhost:7767 est la valeur de la base URL,
  • external est la valeur de ce paramètre ,
  • abcd01 est l'uuid de la météo du service,
  • xyz009 est l'uuid de configuration du lien externe.

Le caractère / et les autres caractères interdits dans les URL ne sont pas autorisés dans ce paramètre.
Exemple de caractères interdit : !,#,$,&,',(,),*,+,,/,:,;,=,?,@,[,],<,>, caractères avec des accents…


Si la valeur default est définie, voir le chapitre Calcul de la valeur d'un paramètre en cascade.

Info

Limité à 300 caractères.

No Format
authentication_needed
Booléen--- default

Cette option permet de définir si une identification est nécessaire pour accéder aux liens externes par défaut. Ce paramètre peut être surchargé dans la configuration de chaque lien.

NomCommentaire
No Format
true
Les liens ne seront accessibles que pour les utilisateurs identifiés par l'Interface de Visualisation.
No Format
false
Les liens seront accessibles par tout le monde.
Si la valeur default est définie, voir le chapitre Calcul de la valeur d'un paramètre en cascade.


No Format
info_bar
Objet------

Configuration qui sera utilisée par défaut par tous les liens externes.

Il est possible pour chaque lien de redéfinir sa propre configuration afin de ne pas utiliser celle-ci.

Pour plus d'informations sur la configuration d'une barre d'information, voir le chapitre La configuration de la barre d'information des liens.

No Format
notifications



Objet------

Configuration qui sera utilisée par défaut par tous les liens externes.

Il est possible pour chaque lien de redéfinir sa propre configuration afin de ne pas utiliser celle-ci.

Pour plus d'informations sur la configuration des notifications, voir le chapitre La configuration des notifications.

No Format
display



Objet------

Configuration qui sera utilisée par défaut par tous les liens externes.

Il est possible pour chaque lien de redéfinir sa propre configuration afin de ne pas utiliser celle-ci.

Pour plus d'informations sur la configuration des notifications, voir le chapitre La configuration d'affichage.

Gestion de l'identification pour l'accès aux liens externes

Afin de limiter l'accès à la vue météo, il est possible de définir si le lien externe est accessible aux personnes non identifiées par l'Interface de Visualisation de Shinken. 

Un ensemble d'options permettant de paramétrer ce système est disponible dans le fichier JSON de la vue :

Code Block
languagebash
themeRDark
{
...
	"users"        : {	
		"owner_user"                     : {
	    	"uuid": "user_uuid",
			"name": "user_name"
    	},
	},
	"external_links": {
		"default_link" : {
	        "authentication_needed" : true
		},
        "links": [
		    {
   			    "authentication_needed": true
		    }
	    ]
    }
...
}


Le champ intéressant est authentication_needed ( paramétrable dans chaque lien ).

Info

Le champ "owner_user" n'est pas encore pris en compte dans cette version ( En cours de développement ).

Anchor
exampleBarreInformation
exampleBarreInformation


Exemples de disposition de la barre information 

Lien externe avec barre barre en bas, chrono et texte visibles

Code Block
languagebash
themeRDark
"position"        : "bottom",
"background_color": "#000000",
"logo_displayed"    : true,
"refresh"         : {
	"chrono_displayed": true,
	"generation_time_displayed"  : true
}
Panel

Lien externe avec barre orange en haut, chrono et texte visibles

Code Block
languagebash
themeRDark
"position"        : "top",
"background_color": "orange",
"logo_displayed"    : true,
"refresh"         : {
	"chrono_displayed": true,
	"generation_time_displayed"  : true
}
Panel