| Scroll Ignore | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
|
Concept
Cette page vous décrit comment définir dans le format JSON les liens externes qui permettront d'accéder à la météo de l’extérieur.sans passer par l'Interface de Visualisation de Shinken .
Elle permet de Vous allez pouvoir définir :
- Le comportement par défaut des liens de votre la météo.,
- Les paramètres de chaque lien, si vous souhaitez avoir un comportement spécifique par lien.
| Info |
|---|
Pour les liens externes, on ne parle pas de "zone d'entête" mais de "barre d'information". Ces deux éléments présentent les mêmes informations, mais la différence réside dans le fait que la "barre d'information" dans les liens externes peut être personnalisée et déplacée ( voir supprimée ). Ce qui implique donc que la "barre d'information" peut ne pas se trouver en haut de la page, d'où la différence de noms. |
Description
| Info |
|---|
Les URL des liens sont construites de la façon suivante : <link_base_url>/service-weather/<link_external_part_url>/<weather_uuid>/<link_uuid> |
- 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 | ||||
|---|---|---|---|---|
| ||||
"external_links" : {
"default_link" : {
"link_protocol" : "default",
"link_base_url" : "default",
"link_external_part_url" : "default",
"authentication_needed" : "default",
"info_bar" : {
"background_color" : "default",
|
Ajout d'un nouveau lien externe
Dans le format, JSON, le rajout d'un nouveau lien se fait au niveau de la partie "links".
| Code Block |
|---|
...
"external_links" : {
...
"links": [
{
DEFINITION DU LIEN 1
},
{
DEFINITION DU LIEN 2
},
...
]
...
}
... |
Définition d'un lien externe
Paramètres des liens externe
Les liens vont être définis à l'aide de paramètres composés ( "clé" : "valeur" )
- du nom ;
- de la valeur.
| Code Block |
|---|
... { "link_name": "external portal display", "authenticationlogo_neededdisplayed" : true"default", ... }, ... |
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 égale au mot "default", la météo va le considérer comme ayant une valeur non définie et va calculer sa valeur par défaut ( voir le chapitre Calcul de la valeur d'un paramètre en cascade ).
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 "links_default" ( ce qui servira de valeur par défaut pour ce paramètre dans cette météo ) ;
- Dans les fichiers de configurations 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 l'ordre jusqu'à ce qu'une valeur définie soit trouvée :
- le niveau "lien" ;
- le niveau "links_default" ;
- le niveau "fichier de configuration".
| Info |
|---|
Remarque :
|
"position" : "default",
"refresh" : {
"chrono_displayed" : "default",
"generation_time_displayed" : "default"
}
}
},
"links" : [
{
"link_name" : "Mon nom de lien",
"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"
}
}
}
]
} |
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 | ||||
|---|---|---|---|---|
| ||||
...
"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 | ||||
|---|---|---|---|---|
| ||||
...
{
"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 | ||||
|---|---|---|---|---|
|
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 :
- dans la partie JSON de la configuration du "link" ;
- dans la partie JSON de la configuration du "default_link" ;
- dans le "fichier de configuration".
| Info |
|---|
|
| 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 | ||||
|---|---|---|---|---|
| ||||
{
...
"links": [
{
"link_name" : "external portal display",
"link_uuid" : "e214ce6ac1580cef86ddf7479ba9bf1d",
"link_protocol" : "protocol_from_webui",
"link_base_url" : "my.proxy:8080",
"link_external_part_url": "external",
"authentication_needed": true,
"info_bar": {
},
"notifications": {
}
},
...
]
...
} |
| Nom | Type | Unité | Défaut | Commentaire | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Texte | --- | --- | Le nom est obligatoire. Les caractères suivants sont interdits :
| ||||||||||||||||
| 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 :
| ||||||||||||||||
| Texte | --- | protocol_from_webui | Cette option permet de choisir le protocole qui va être utilisé pour le lien externe.
| ||||||||||||||||
| Booléen | --- | default |
| ||||||||||||||||
| 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.
Exemple d'URL : http://localhost:7767/service-weather/external/abcd01/xyz009 Où :
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.
| ||||||||||||||||
| 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.
Exemple d'URL : http://localhost:7767/service-weather/external/abcd01/xyz009 Où :
Le caractère / et les autres caractères interdits dans les URL ne sont pas autorisés dans ce paramètre. Si la valeur default est définie, voir le chapitre Calcul de la valeur d'un paramètre en cascade.
| ||||||||||||||||
| 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. | ||||||||||||||||
| Objet | --- | --- | Permet de définir les paramètres de notifications de ce lien. Voir ci dessous pour le paramétrage des notifications. |
| Anchor | ||||
|---|---|---|---|---|
|
| Code Block | ||||
|---|---|---|---|---|
| ||||
{
...
"info_bar": {
"position" : "top",
"background_color": "#343434",
"logo_displayed" : false,
"refresh" : {
"chrono_displayed": true,
"generation_time_displayed" : false
}
}
...
} |
| Nom | Type | Unité | Défaut | Commentaire | ||
|---|---|---|---|---|---|---|
| Texte | --- | default | Position de la barre d'information .
|
La configuration des liens
| Code Block | ||
|---|---|---|
| ||
{
...
"links": [
{
"link_name" : "external portal display",
"link_uuid" : "e214ce6ac1580cef86ddf7479ba9bf1d",
"link_protocol" : "protocol_from_webui",
"link_base_url" : "my.proxy:8080",
"link_external_part_url": "external",
"authentication_needed": true,
"info_bar": {
...
}
},
...
]
...
} |
| Nom | Type | Unité | Défaut | Commentaire | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Code Block |
|---|
link_name |
---
---
Le nom est obligatoire.
Les caractères suivants sont interdits :
- ', ", <, >
| Code Block |
|---|
link_uuid |
---
---
Correspond à l'identifiant unique du lien. Ne pas changer.
Est automatiquement ajouté au lien si manquant.
| Code Block |
|---|
link_protocol |
Cette option vous permet de choisir via quel protocole le lien externe va être créé.
| Code Block |
|---|
protocol_from_webui |
| Code Block |
|---|
https |
| Code Block |
|---|
http |
| Code Block |
|---|
authentication_needed |
Booléen
default
| Code Block |
|---|
true |
| Code Block |
|---|
false |
| Code Block |
|---|
info_bar |
Permet de définir un paramétrage pour la barre d'information uniquement pour ce lien. Voir ci-dessous pour le paramétrage d'une barre d'information.
| Code Block |
|---|
link_base_url |
default
Cette option vous permet de modifier la base URL d'accès aux liens externes.
| Info |
|---|
Elle peut correspondre à l'identifiant de votre système sur lequel est hébergé Shinken ou à un serveur proxy si vous en utilisez un. |
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.
| Code Blocknoformat |
|---|
link_external_part_url |
background_color |
Cette option vous permet de modifier le chemin d'accès aux liens externes.
| Info |
|---|
Elle peut vous permettre de rediriger les utilisateurs venant des liens externes vers les différentes météos des services de votre 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
Exemple de caractères interdit : !,#,$,&,',(,),*,+,,/,:,;,=,?,@,[,],<,>, caractères avec des accents…
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 |
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 |
| 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 | ||||
|---|---|---|---|---|
|
la barre d'information des liens
| Code Block | ||||
|---|---|---|---|---|
| ||||
{
...
"info_bar": {
"positionrefresh" : "top",
"background_color": "#343434",: {
"logochrono_displayed" : falsetrue,
"refreshgeneration_time_displayed" : : {
"chrono_displayed": true,
"generation_time_displayed" : false
}
}
...
}false
}
...
} |
| Nom | Type | Unité | Défaut | Commentaire | ||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 ).
| ||||||||||||||||||||||||||
| Booléen | Nom | Type | Unité | Défaut | Commentaire |
| Code Block |
|---|
position |
Position de la barre d'information.
Les valeurs possibles sont :
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
| Code Block |
|---|
background_color |
Couleur de la barre d'information.
Le format de la valeur est une couleur web ( 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.| Code Block |
|---|
logo_displayed |
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 )
| Code Block |
|---|
refresh |
| 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 | ||||
|---|---|---|---|---|
|
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 | ||||
|---|---|---|---|---|
| ||||
...
"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 | ||||
|---|---|---|---|---|
| ||||
...
"notifications" : {
"sound": {
"enabled": "default"
},
...
}
... | ||||
| Code Block | ||||
| ||||
{
...
"refresh" : {
"chrono_displayed": true,
"generation_time_displayed" : false
}
...
} |
| Nom | Type | Unité | Défaut | Commentaire | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Booléen | --- | default |
| Code Block |
|---|
generation_time_displayed |
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 )La configuration du niveau "links_default" des liens
| Booléen | --- | default |
|
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 | ||||
|---|---|---|---|---|
| ||||
...
"notifications" : {
...
"visual": {
"blink": {
"enabled": "default"
}
},
...
}
... |
| Nom | Type | Unité | Défaut | Commentaire | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Booléen | --- | default |
|
La configuration du niveau "default_link" des liens
| Code Block | ||||
|---|---|---|---|---|
| ||||
{
...
"default_link" : {
| ||||
| Code Block | ||||
| ||||
{ ... "external_links" : { "links__default_info_bar": { "position" : "top", "background_color": "#343434", "logo_displayed" : true, "refreshlink_protocol" : {"protocol_from_webui", "link_base_url" : "my.proxy:8080", "chrono_displayed": true "link_external_part_url" : "external", "authentication_needed" : true, "generation_time_displayed" : false "links": [], "info_bar": { } }, "position" : "top", "links__default_link_protocol" background_color": "protocol_from_webui#343434", "links__default_base_url" : "my.proxy:8080", logo_displayed" : true, "links__default_external_part_urlrefresh" : "external", { "links__default_authentication_needed" chrono_displayed": true, "links": [ "generation_time_displayed" : false ... } ]}, "notifications": {}, ... } |
| Nom | Type | Unité | Défaut | Commentaire | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| protocol__default_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 leur 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 | from_webui | Cette option permet de choisir quel protocole utiliser pour les liens externes par défaut.
Si la valeur default est définie, voir le chapitre Calcul de la valeur d'un paramètre en cascade. | ||||||||||||||||||
| 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.
Exemple d'URL : http://localhost:7767/service-weather/external/abcd01/xyz009 Où :
Le caractère / et les autres caractères interdits dans les URL, ne sont pas autorisés dans ce paramètre. |
| Code Block |
|---|
links__default_link_protocol |
Cette option vous permet de choisir via quel protocole le lien externe va être créé.
| Code Block |
|---|
protocol_from_webui |
| Code Block |
|---|
https |
| Code Block |
|---|
http |
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_ |
| Code Block |
|---|
links__default_base_url |
Cette option vous permet de modifier la base le chemin d'accès aux liens externes, c'est une partie personnalisable de l'URL d'accès aux liens externesurl qui sera partagée.
| Info |
|---|
Elle peut correspondre à l'identifiant de votre système sur lequel est hébergé Shinken ou à un serveur proxy si vous en utilisez unpermettre 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 ce paramètrela base URL,
- external est la valeur du paramètre external_part_urlde 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
| Code Block |
|---|
links__default_external_part_url |
.
| Info |
|---|
Limité à 300 caractères. |
| No Format |
|---|
authentication_needed |
Cette option
vouspermet de
modifier le chemin d'accèsdéfinir si une identification est nécessaire pour accéder aux liens externes par défaut.
| Info |
|---|
Elle peut vous permettre de rediriger les utilisateurs de ces liens externes vers les différentes météos des services de votre 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…
| Code Block |
|---|
links__default_authentication_needed |
Cette option permet de définir si une authentification est nécessaire pour accéder aux liens externes par défaut. Ce paramètre peut être écrasé pour chaque lien en fonction de leur configuration.
| Code Block |
|---|
true |
| Code Block |
|---|
false |
Ce paramètre peut être surchargé dans la configuration de chaque lien.
| Nom | Commentaire | ||
|---|---|---|---|
| Les liens ne seront accessibles que pour les utilisateurs identifiés par l'Interface de Visualisation. | ||
| Les liens seront accessibles par tout le monde. |
| No Format |
|---|
info_bar |
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 |
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.
Gestion de l'identification
Gestion de l'authentificationpour 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 d'export externe est accessible aux personnes non authentifiéesidentifiées par l'Interface de Visualisation de Shinken.
Afin Un ensemble d'options permettant de paramétrer ce système , un ensemble d'options est disponible dans le fichier JSON de la vue :
| Code Block | ||||
|---|---|---|---|---|
| ||||
{
...
"users" : {
"owner_user" : {
"uuid": "user_uuid",
"name": "user_name"
},
},
"external_links": {
"default_link" : {
"default_links__"authentication_needed" : true
},
"links": [
{
...
"authentication_needed": true
}
]
}
...
} |
Le champ qui nous intéresse intéressant est authentication_needed ( paramétrable dans chaque lien ).
| Info |
|---|
Le champ "owner_user" n'est pas encore pris en compte dans la cette version - ( En cours de développement développement ). |
| Anchor | ||||
|---|---|---|---|---|
|
Exemples de
dispositionsdisposition de la barre information
Lien externe avec barre
blanchebarre en
hautbas,
logo sombre,chrono et texte visibles
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
"position" : "topbottom", "background_color": "#ffffff#000000", "logo_displayed" : true, "refresh" : { "chrono_displayed": true, "generation_time_displayed" : true } |
| Panel |
|---|
Lien externe avec barre orange en
bashaut,
logo clair,chrono et texte visibles
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
"position" : "bottomtop", "background_color": "#E16853orange", "logo_displayed" : true, "refresh" : { "chrono_displayed": true, "generation_time_displayed" : true } |
| Panel |
|---|

