Modifié par jhurst le 2022/04/28 16:42

Afficher les derniers auteurs
1 {{ddtoc/}}
2
3 ----
4
5 (% class="box infomessage" %)
6 (((
7 **Prérequis : **Les propositions d'intégration d'objets DigDash (tableaux de bord, pages, flux, etc.) dans des iframe nécessitent de mettre en place ces balises iframe au sein de pages HTML, elles-mêmes distribuées par un serveur Web.
8 )))
9
10 (% class="wikigeneratedid" id="HIntroduction" %)
11 Dans ce document, nous présentons des URLs fonctionnant dans le contexte suivant :
12
13 * Nom du serveur: ddsrv
14 * Port: 8080
15 * Domaine DigDash : ddenterpriseapi
16 * Domaine tableau de bord DigDash: digdash_dashboard
17
18 = Tableau de bord =
19
20 Vous pouvez intégrer une ou plusieurs pages de tableau de bord dans une iframe.
21
22 URL : http:~/~/ddsrv:8080/digdash_dashboard/index.html
23
24 Paramètres disponibles :
25
26 * **user**=<user> Utilisateur à authentifier
27 * **pass**=<password> Mot de passe pour l’utilisateur
28 * **domain**=<domainname> Nom du domaine DigDash Enterprise (Exemple : ddenterpriseapi)
29 * **server**=<server URL> URL du domaine DigDash Enterprise (Exemple : http:~/~/localhost:8080)
30 * **hideBanner**=<true|false> Cache (true) ou montre (false) la barre de titre
31 * **hideFilters**=<true|false> Cache (true) ou montre (false) la barre de filtres
32 * <nomVariable>=<valeurVariable> Spécifie la valeur de la variable nomVariable
33 * <filterselection> Voir le paragraphe V ci-dessous
34
35 Exemple :
36
37 (% class="box" %)
38 (((
39 http:~/~/ddsrv:8080/digdash_dashboard/index.html?server=http:~/~/localhost:8080&domain=ddenterpriseapi&user=user1&pass=pass1&hideBanner=true&hideFilters=true&var=1
40 )))
41
42 (% class="box infomessage" %)
43 (((
44 Note : Vous pouvez aussi utiliser un mécanisme d'authentification server-side pour éviter les paramètres user/pass dans l'URL. Consulter le document [[Anonymisation des Urls>>doc:Digdash.customization.anonymisation_url.WebHome]]
45 )))
46
47 = Pages de tableaux de bord =
48
49 Vous pouvez intégrer une page ou toutes les pages d’un tableau de bord d’un rôle ou d’un utilisateur dans une iframe.
50
51 URL : http:~/~/ddsrv:8080/digdash_dashboard/index.html?page=<user|role>[.<pagename>]
52
53 Si vous souhaitez afficher une page, spécifiez le nom de la page, sinon, l’URL affiche toutes les pages de l’utilisateur ou rôle.
54
55 Paramètres disponibles :
56
57 * **page**=<user|role>[.<pagename>] Nom de la page préfixée par le rôle ou le user
58 * **user**=<user> Utilisateur à authentifier
59 * **pass**=<password> Mot de passe pour l’utilisateur non authentifié
60 * **server**=<server URL> URL du domaine DigDash Enterprise (Exemple : http:~/~/localhost:8080)
61 * **domain**=<domainname> Nom du domaine DigDash Enterprise (Exemple : ddenterpriseapi)
62 * **hideBanner**=<true|false> Cache (true) ou montre (false) la barre de titre
63 * **hideFilters**=<true|false> Cache (true) ou montre (false) la barre de filtres
64 * <nomVariable>=<valeurVariable> Spécifie la valeur de la variable nomVariable
65 * <filterselection> Voir le paragraphe V ci-dessous
66
67 Exemple :
68
69 (% class="box" %)
70 (((
71 http:~/~/ddsrv:8080/digdash_dashboard/index.html?page=user1.page1&server=http:~/~/localhost:8080&domain=ddenterpriseapi&user=user1&pass=pass1&hideBanner=true&hideFilters=true&var=1
72 )))
73
74 (% class="box infomessage" %)
75 (((
76 Note : Vous pouvez aussi utiliser un mécanisme d'authentification server-side pour éviter les paramètres user/pass dans l'URL. Consulter le document [[Anonymisation des Urls>>doc:Digdash.customization.anonymisation_url.WebHome]]
77 )))
78
79 = Flux d’information =
80
81 Vous pouvez intégrer un flux d’information (composant graphique) de votre portefeuille d’informations dans une iframe.
82
83 URL : http:~/~/ddsrv:8080/ddenterpriseapi/viewflow?flowId=<flowid>
84
85 Vous pouvez facilement obtenir l’URL d’un flux d’information depuis la console d’administration. Pour cela, sélectionnez le flux, faites un clic droit et choisissez **Copier l’URL du flux**
86
87 Paramètres disponibles :
88
89 * **flowId**=<flow> Identifiant du flux à afficher
90 * **user**=<user> Utilisateur à authentifier
91 * **pass**=<password> Mot de passe pour l’utilisateur
92 * **hideFilters**=<true|false> Cache (true) ou montre (false) la barre de filtres
93 * {{id name="_GoBack"/}}<nomVariable>=<valeur> Spécifie la valeur de la variable nomVariable
94 * <filterselection> Voir le paragraphe V ci-dessous
95
96 Exemple :
97
98 (% class="box" %)
99 (((
100 http:~/~/ddsrv:8080/ddenterpriseapi/viewflow?flowId=2340fd0&user=user1&pass=pass1&hideFilters=true
101 )))
102
103 (% class="box infomessage" %)
104 (((
105 Note : Vous pouvez aussi utiliser un mécanisme d'authentification server-side pour éviter les paramètres user/pass dans l'URL. Consulter le document [[Anonymisation des Urls>>doc:Digdash.customization.anonymisation_url.WebHome]]
106 )))
107
108 = Filtres =
109
110 Vous pouvez définir des filtres spécifiques sur des dimensions qui seront pris en compte lors de l’intégration des URLs dans vos iframes.
111
112 Pour cela, renseignez les paramètres supplémentaires suivants :
113
114 * NomDimension=ValeurFiltre
115
116 Si la dimension contient une hiérarchie ou plus, vous pouvez sélectionnez la hiérarchie et le niveau souhaités en ajoutant :
117
118 * **H**<DimensionName>=NomHierarchie
119 * **L**<DimensionName>=NiveauHierarchie
120
121 Exemple :
122
123 (% class="box" %)
124 (((
125 http:~/~/ddsrv:8080/ddenterpriseapi/viewflow?flowId=2340fd0&user=user1&pass=pass1&Geo=France&HGeo=Geography&LGeo=Country
126 )))
127
128 = Contraintes de sécurité =
129
130 Certains navigateurs, par exemple Chrome à partir de sa version 80, peuvent refuser de transmettre des cookies provenant d'une page intégrée par une iframe, si cette iframe n'a pas le même domaine que la page l'incluant. Une erreur apparait alors dans la console du navigateur, à propos d'un attribute //SameSite //qui n'est pas défini.
131
132 La solution est de définir l'attribut //SameSite=None// sur le cookie. Cet attribut doit être défini par le conteneur de l'application (Tomcat), ou par le serveur HTTP qui sert la page. (ex. Apache httpd). Il y a de nombreux documents en ligne pour expliquer comment configurer cet attribut de cookie. Pour Tomcat : [[https:~~/~~/tomcat.apache.org/tomcat-9.0-doc/config/cookie-processor.html>>url:https://tomcat.apache.org/tomcat-9.0-doc/config/cookie-processor.html]]. Pour Apache httpd, l'utilisation du module mod_headers peut-être nécessaire.
133
134 Par contre, l'attribut //SameSite// ne peut pas être défini sur un cookie non sécurisé. Donc le cookie doit aussi avoir un attribut //Secure //pour permettre de définir //SameSite=None//. Et l'attribut //Secure// ne peut être défini que si la connexion est en HTTPS.
135
136 Donc, en conséquence, intégrer une page de tableaux de bord, ou une page viewflow, en tant qu'iframe,** si l'iframe et la page l'incluant ont des domaines différents**, nécessite d'utiliser une connexion HTTPS, et de configurer les cookies.
137
138 Le document Mozilla suivant explique cette contrainte : [[https:~~/~~/developer.mozilla.org/fr/docs/Web/HTTP/Headers/Set-Cookie/SameSite>>url:https://developer.mozilla.org/fr/docs/Web/HTTP/Headers/Set-Cookie/SameSite]]