Version 7.1 par abertrand le 2023/11/14 16:08

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)>>http://localhost:8080)]]
30 * **defaultPage**=<pageId> Identifiant de la page que l'utilisateur souhaite afficher par défaut à la place de la première page (voir note ci-dessous pour plus de détails)
31 * **hideBanner**=<true|false> Cache (true) ou montre (false) la barre de titre
32 * **hideFilters**=<true|false> Cache (true) ou montre (false) la barre de filtres
33 * <nomVariable>=<valeurVariable> Spécifie la valeur de la variable nomVariable
34 * <filterselection> Voir le paragraphe Filtres ci-dessous
35
36 Exemple :
37
38 (% class="box" %)
39 (((
40 http:~/~/ddsrv:8080/digdash_dashboard/index.html?server=http:~/~/localhost:8080&domain=ddenterpriseapi&user=user1&pass=pass1&hideBanner=true&hideFilters=true&var=1
41 )))
42
43 (% class="box infomessage" %)
44 (((
45 **Identifiant de la page (pageId)**
46 Cet identifiant est visible dans l'Éditeur de tableau de bord dans le menu contextuel de la page (affiché via un clic droit sur le titre de l'onglet de la page).
47 Deux identifiants sont affichés, l'un est unique et non modifiable (uid), l'autre est "calculé" en fonction du nom du rôle et de la page (ces 2 éléments étant modifiables, l'identifiant peut donc changer et le paramètre ne plus être efficace).
48 Les 2 identifiants sont utilisables par l'utilisateur pour ce paramètre.
49 )))
50
51 (% class="box infomessage" %)
52 (((
53 **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]].
54 )))
55
56 = Pages de tableaux de bord =
57
58 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.
59
60 URL : http:~/~/ddsrv:8080/digdash_dashboard/index.html?page=<user|role>[.<pagename>]
61
62 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.
63
64 Paramètres disponibles :
65
66 * **page**=<user|role>[.<pagename>] Nom de la page préfixée par le rôle ou le user
67 * **user**=<user> Utilisateur à authentifier
68 * **pass**=<password> Mot de passe pour l’utilisateur non authentifié
69 * **server**=<server URL> URL du domaine DigDash Enterprise (Exemple : http:~/~/localhost:8080)
70 * **domain**=<domainname> Nom du domaine DigDash Enterprise (Exemple : ddenterpriseapi)
71 * **hideBanner**=<true|false> Cache (true) ou montre (false) la barre de titre
72 * **hideFilters**=<true|false> Cache (true) ou montre (false) la barre de filtres
73 * <nomVariable>=<valeurVariable> Spécifie la valeur de la variable nomVariable
74 * <filterselection> Voir le paragraphe  Filtres ci-dessous
75
76 Exemple :
77
78 (% class="box" %)
79 (((
80 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
81 )))
82
83 (% class="box infomessage" %)
84 (((
85 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]]
86 )))
87
88 = Flux d’information =
89
90 Vous pouvez intégrer un flux d’information (composant graphique) de votre portefeuille d’informations dans une iframe.
91
92 URL : http:~/~/ddsrv:8080/ddenterpriseapi/viewflow?flowId=<flowid>
93
94 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**
95
96 Paramètres disponibles :
97
98 * **flowId**=<flow> Identifiant du flux à afficher
99 * **user**=<user> Utilisateur à authentifier
100 * **pass**=<password> Mot de passe pour l’utilisateur
101 * **hideFilters**=<true|false> Cache (true) ou montre (false) la barre de filtres
102 * {{id name="_GoBack"/}}<nomVariable>=<valeur> Spécifie la valeur de la variable nomVariable
103 * <filterselection> Voir le paragraphe Filters ci-dessous
104
105 Exemple :
106
107 (% class="box" %)
108 (((
109 http:~/~/ddsrv:8080/ddenterpriseapi/viewflow?flowId=2340fd0&user=user1&pass=pass1&hideFilters=true
110 )))
111
112 (% class="box infomessage" %)
113 (((
114 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]]
115 )))
116
117 = Filtres =
118
119 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.
120
121 Pour cela, renseignez les paramètres supplémentaires suivants :
122
123 * NomDimension=ValeurFiltre
124
125 Si la dimension contient une hiérarchie ou plus, vous pouvez sélectionnez la hiérarchie et le niveau souhaités en ajoutant :
126
127 * **H**<DimensionName>=NomHierarchie
128 * **L**<DimensionName>=NiveauHierarchie
129
130 Exemple :
131
132 (% class="box" %)
133 (((
134 http:~/~/ddsrv:8080/ddenterpriseapi/viewflow?flowId=2340fd0&user=user1&pass=pass1&Geo=France&HGeo=Geography&LGeo=Country
135 )))
136
137 = Contraintes de sécurité =
138
139 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.
140
141 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.
142
143 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.
144
145 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]]