Connexions BI
Une connexion BI est l’accès du projet à un système qu’il possède et qui affiche des tableaux de bord : pour Grafana, son adresse et un jeton de compte de service ; pour Power BI, une application Microsoft Entra (principal de service) et son secret client ; pour Tableau, une application connectée et un utilisateur ; et pour une page web, le compte de service d’un site qui affiche un tableau de bord derrière une connexion, ou les cookies d’un navigateur connecté. Un ID de connexion commence par bic_. Les secrets sont scellés sur le serveur et jamais affichés de nouveau : une lecture affiche secret {set, hint}, où hint correspond aux quatre derniers caractères d’un secret de 12 caractères ou plus. Les connexions appartiennent à un seul projet. bi connection list, show et browse exigent l’accès Read, et toute autre commande exige l’accès Manage. Un forfait sans tableaux de bord BI répond feature_not_in_plan (sortie 8) à la création d’une connexion ou d’une vue et à la modification de l’une d’elles, sauf au remplacement d’un identifiant ; Tarification liste les forfaits.
Donnez un secret dans un fichier : --token-file pour Grafana, --secret-file pour Power BI et Tableau, --password-file, --totp-file et --cookies-file pour une page web. Chacun accepte - pour l’entrée standard, jamais un argument, tout comme le script --steps d’une connexion web ; au plus une option d’une commande lit l’entrée standard.
Une vue joue un tableau de bord, un rapport ou une page d’une connexion par une primitive iframe qui affiche son embed_url ; bi view create --connection-id ID en crée une. Afficher un tableau de bord derrière une connexion présente pas à pas une connexion web, et la référence de l’API couvre chaque type.
bi connection create grafana#
Ajoutez une connexion Grafana : son adresse et un jeton de compte de service.
bi connection create grafana --url URL --token-file FILE [--name NAME] [--org-id N]| Paramètre | Type | Requis | Par défaut | Notes |
|---|---|---|---|---|
--url URL | string | oui | aucun | L’adresse de Grafana sur un hôte public, avec un préfixe de chemin facultatif : https://grafana.example.com ou https://example.com/grafana. Une adresse privée, de bouclage ou réservée donne invalid_request (sortie 8), et Grafana doit répondre sans rediriger. |
--token-file FILE | string | oui | aucun | Lit le jeton de compte de service depuis ce fichier, ou - pour l’entrée standard (jamais un argument) ; le fichier ne contient que le jeton. |
--name NAME | string | non | le nom d’hôte | 1 à 80 caractères. |
--org-id N | integer | non | 1 | L’organisation Grafana à laquelle appartient le jeton : un nombre entier à partir de 1. |
screenrig bi connection create grafana --url https://grafana.example.com --token-file token.txt
screenrig bi connection create grafana --url https://example.com/grafana --token-file - --name "Ops Grafana" --org-id 2Dans Grafana, installez le plugin Grafana Image Renderer ou le service de rendu distant (il dessine les tableaux de bord sous forme d’images ; sans lui, rien n’est dessiné), puis créez un compte de service avec le rôle Viewer et ajoutez un jeton. Exécutez ensuite bi connection test.
bi connection create tableau#
Ajoutez une connexion Tableau : une application connectée (direct trust), l’utilisateur sous lequel les vues des écrans sont affichées, et la valeur du secret de l’application.
bi connection create tableau --url URL --client-id ID --secret-id ID --username USER
--secret-file FILE [--site SITE] [--name NAME]| Paramètre | Type | Requis | Par défaut | Notes |
|---|---|---|---|---|
--url URL | string | oui | aucun | L’adresse https de Tableau Server, ou de votre pod Tableau Cloud, comme https://10ay.online.tableau.com (le pod, pas online.tableau.com). |
--site SITE | string | non | le site par défaut de Tableau Server | L’URL de contenu du site, la partie après /site/ ou /t/ dans l’adresse d’une vue. |
--client-id ID | string | oui | aucun | Le Client ID de l’application connectée. |
--secret-id ID | string | oui | aucun | Le Secret ID d’un secret généré pour l’application connectée. |
--username USER | string | oui | aucun | L’utilisateur Tableau sous lequel les vues des écrans sont affichées (une adresse courriel sur Tableau Cloud). |
--secret-file FILE | string | oui | aucun | Lit la valeur du secret depuis ce fichier, ou - pour l’entrée standard (jamais un argument) ; le fichier ne contient que la valeur du secret, pas le Secret ID. |
--name NAME | string | non | le nom d’hôte | 1 à 80 caractères. |
screenrig bi connection create tableau --url https://10ay.online.tableau.com --site lobby --client-id 11111111-2222-3333-4444-555555555555 --secret-id 66666666-7777-8888-9999-000000000000 --username screens@example.com --secret-file secret.txtÀ configurer une seule fois dans Tableau : sous Settings, Connected Apps, créez une application connectée Direct trust, copiez son Client ID, générez un secret et copiez le Secret ID et la valeur du secret, puis activez l’application et le secret. Choisissez ou créez l’utilisateur Tableau sous lequel les écrans affichent leurs vues et donnez-lui l’accès uniquement aux vues que les écrans affichent : quiconque détient le ticket d’un écran peut intégrer toute vue que cet utilisateur peut voir. Puis exécutez bi connection show ID et entrez l’hôte de son embed_origin dans la liste d’autorisation des domaines de l’application connectée. Il faut Tableau Cloud ou Tableau Server 2023.3 ou version ultérieure ; les écrans doivent atteindre l’hôte Tableau, et leur navigateur doit accepter les cookies tiers de cet hôte. Exécutez ensuite bi connection test, puis bi connection browse pour trouver une vue.
bi connection create powerbi#
Ajoutez une connexion Power BI : une application Microsoft Entra (principal de service) et son secret client, ou une connexion Microsoft de ce projet.
bi connection create powerbi
(--tenant-id ID --client-id ID --secret-file FILE | --connection-id ID) [--name NAME]| Paramètre | Type | Requis | Par défaut | Notes |
|---|---|---|---|---|
--tenant-id ID | string | sans --connection-id | aucun | Votre Directory (tenant) ID Microsoft Entra, ou son domaine, comme contoso.onmicrosoft.com ; pas common, organizations ni consumers. En même temps que --client-id et --secret-file. |
--client-id ID | string | sans --connection-id | aucun | L’Application (client) ID de l’inscription d’application. |
--secret-file FILE | string | sans --connection-id | aucun | Lit la Value du secret client depuis ce fichier, ou - pour l’entrée standard (jamais un argument) ; le fichier ne contient que la valeur du secret, pas l’ID du secret. |
--connection-id ID | string | sans --tenant-id | aucun | Se connecte par une connexion Microsoft (pcn_…) de ce projet en mode own_app, à la place de --tenant-id, --client-id et --secret-file. Une connexion screenrig_app est refusée. Pas avec eux. |
--name NAME | string | non | Power BI | 1 à 80 caractères. |
screenrig bi connection create powerbi --tenant-id 11111111-2222-3333-4444-555555555555 --client-id aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee --secret-file secret.txt
screenrig bi connection create powerbi --connection-id pcn_01EXAMPLECONNECTION0000 --name "Contoso Power BI"À configurer une seule fois. Dans Microsoft Entra, créez une inscription d’application (locataire unique, sans URI de redirection, sans autorisations d’API) et un secret client. Un administrateur Power BI active, dans le portail d’administration, sous Tenant settings, Developer settings, les options Embed content in apps et Service principals can call Fabric public APIs, pour toute l’organisation ou pour un groupe de sécurité qui contient l’application. Ajoutez l’application à chaque espace de travail que vous affichez avec le rôle Membre ou Administrateur ; Membre est l’accès minimal. Pour une intégration en production, l’espace de travail doit se trouver sur une capacité Fabric (F), Power BI Embedded (A) ou Premium (P/EM). Cloud commercial seulement. Exécutez ensuite bi connection test, puis bi connection browse pour trouver un espace de travail et un rapport.
bi connection create web#
Ajoutez une connexion web : un compte de service d’un site qui affiche un tableau de bord derrière une connexion, ou les cookies d’un navigateur connecté.
bi connection create web --login-mode auto|steps|none [--login-url URL] [--username USER]
[--password-file FILE] [--totp-file FILE] [--steps FILE] [--cookies-file FILE] [--name NAME]| Paramètre | Type | Requis | Par défaut | Notes |
|---|---|---|---|---|
--login-mode MODE | string | oui | aucun | auto remplit le formulaire de --login-url avec --username et le mot de passe. steps exécute le script --steps. none n’ouvre aucune session : les pages s’affichent avec le fichier de cookies --cookies-file et n’acceptent aucun de --login-url, --username, --password-file, --totp-file ni --steps. |
--login-url URL | string | avec auto ou steps | aucun | L’adresse https de la page de connexion du site, sur un hôte public. Le mot de passe n’est saisi que là et dans les étapes goto du script, jamais dans l’adresse d’une vue. |
--username USER | string | avec auto | aucun | Le nom d’utilisateur du compte de service, qu’un script steps lit comme {{username}}. |
--password-file FILE | string | avec auto | aucun | Lit le mot de passe du compte de service depuis ce fichier, ou - pour l’entrée standard (jamais un argument) : les espaces sont permis, et les fins de ligne finales sont retirées. |
--totp-file FILE | string | non | aucun | Lit la clé base32 que le site affiche pour l’application d’authentification du compte (de 16 à 128 caractères), ou son adresse otpauth://totp, depuis ce fichier ou - : le serveur calcule les codes. |
--steps FILE | string | avec steps | aucun | Le script de connexion, un tableau JSON d’au plus 30 étapes, depuis un fichier ou -. Actions : goto (url), fill (selector, value), click et wait_for (selector), press (value comme Enter, selector facultatif) et wait_ms (ms, de 1 à 10000). Une valeur peut contenir {{username}}, {{password}} et {{otp}}, jamais le secret lui-même. Pas avec auto. |
--cookies-file FILE | string | non | aucun | Un fichier de cookies exporté d’un navigateur connecté : un tableau JSON de cookies (l’export d’une extension de cookies) ou un objet avec un tableau cookies (l’état de stockage de Playwright), depuis un fichier ou - ; 100 au plus. Seuls name, value, domain, path, expires, httpOnly, secure et sameSite sont envoyés. |
--name NAME | string | non | l’hôte de connexion, ou Web page avec --login-mode none | 1 à 80 caractères. |
screenrig bi connection create web --login-mode auto --login-url https://login.example.com/signin --username screens@example.com --password-file password.txt --name "Ops dashboard"
screenrig bi connection create web --login-mode steps --login-url https://login.example.com/signin --username screens@example.com --password-file password.txt --steps steps.json
screenrig bi connection create web --login-mode none --cookies-file cookies.json --name "Signed-in jar"Le mot de passe, la clé et les cookies sont scellés et jamais affichés de nouveau : data.secret et data.totp_secret indiquent s’ils sont définis, et data.session indique où en est l’ouverture de session (idle, active, login_needed, paused, stopped ou expired). Utilisez un compte de service en lecture seule. Une ouverture de session refusée attend 5 minutes, puis 15, 60 et 120, et la cinquième de suite arrête la connexion jusqu’à ce que ses identifiants ou ses paramètres de connexion changent. Un site qui approuve les ouvertures de session sur un téléphone, vérifie les appareils ou affiche un CAPTCHA ne peut pas être scripté : utilisez un fichier de cookies. Un serveur sans le moteur de rendu de pages répond bi_web_unavailable (sortie 5). Exécutez ensuite bi connection test.
bi connection list#
Liste les connexions BI de ce projet avec leur type, leur secret masqué et leur dernier test.
bi connection listAucun paramètre.
screenrig bi connection listdata.items contient toutes les connexions du projet ; aucun secret n’est renvoyé.
bi connection show#
Consultez une connexion et son dernier test.
bi connection show <id>| Paramètre | Type | Requis | Par défaut | Notes |
|---|---|---|---|---|
<id> | string | oui | aucun | La connexion (bic_…). |
screenrig bi connection show bic_01EXAMPLECONNECTION0000La réponse porte kind, config (url et org_id pour Grafana ; tenant_id et client_id pour Power BI, ou connection_id quand une connexion Microsoft ouvre une session ; url, site, client_id, secret_id et username pour Tableau ; login_mode, login_url, username et steps pour une connexion web), secret {set, hint}, embed_origin (l’hôte d’intégration du projet, que nomme la liste d’autorisation des domaines d’une application connectée) et last_test. Une connexion web porte aussi totp_secret {set} et session : son state, le nombre de cookies et cookies_updated_at, last_login_at, login_failures et retry_at.
bi connection update#
Modifiez le nom, l’adresse, l’organisation, le locataire, l’application, le site, l’utilisateur ou le secret d’une connexion ou, pour une connexion web, son ouverture de session et ses cookies.
bi connection update <id> [--name NAME] [--url URL] [--org-id N] [--tenant-id ID] [--client-id ID]
[--site SITE | --default-site] [--secret-id ID] [--username USER]
[--token-file FILE | --secret-file FILE | --password-file FILE | --clear-password]
[--login-mode auto|steps|none] [--login-url URL] [--totp-file FILE | --clear-totp]
[--steps FILE] [--cookies-file FILE | --clear-cookies] [--expect-rev REVISION]| Paramètre | Type | Requis | Par défaut | Notes |
|---|---|---|---|---|
<id> | string | oui | aucun | La connexion (bic_…). |
--name NAME | string | non | inchangé | Renomme la connexion. |
--url URL | string | non | inchangé | La nouvelle adresse de Grafana, ou du serveur ou du pod Tableau. |
--org-id N | integer | non | inchangé | L’organisation Grafana à laquelle appartient le jeton. |
--tenant-id ID | string | non | inchangé | Le locataire Microsoft Entra de la connexion Power BI. |
--client-id ID | string | non | inchangé | L’Application (client) ID de la connexion Power BI, ou le Client ID de l’application connectée Tableau. |
--site SITE | string | non | inchangé | L’URL de contenu du site de la connexion Tableau. Pas avec --default-site. |
--default-site | boolean | non | désactivé | Tableau Server : se connecte au site par défaut. Pas avec --site. |
--secret-id ID | string | non | inchangé | Le Secret ID de l’application connectée Tableau. |
--username USER | string | non | inchangé | L’utilisateur Tableau sous lequel les vues des écrans sont affichées, ou le compte de service de la connexion web. |
--token-file FILE | string | non | inchangé | Grafana : lit le jeton de compte de service depuis ce fichier, ou - pour l’entrée standard ; il remplace le jeton stocké. Au plus un parmi --token-file, --secret-file, --password-file et --clear-password. |
--secret-file FILE | string | non | inchangé | Power BI ou Tableau : lit la valeur du secret depuis ce fichier, ou - pour l’entrée standard ; elle remplace le secret stocké. |
--login-mode MODE | string | non | inchangé | Web : comment elle ouvre une session, auto, steps ou none. |
--login-url URL | string | non | inchangé | Web : l’adresse https de la page de connexion du site. Une nouvelle origine exige --password-file dans la même commande, de sorte que le mot de passe stocké n’est jamais envoyé à une page que vous n’avez pas indiquée. |
--password-file FILE | string | non | inchangé | Web : lit le mot de passe du compte de service depuis ce fichier, ou - pour l’entrée standard ; il remplace le mot de passe stocké. |
--clear-password | boolean | non | désactivé | Web : retire le mot de passe stocké. |
--totp-file FILE | string | non | inchangé | Web : lit la clé d’authentification depuis ce fichier, ou - pour l’entrée standard ; elle remplace la clé stockée. Pas avec --clear-totp. |
--clear-totp | boolean | non | désactivé | Web : retire la clé d’authentification stockée. Pas avec --totp-file. |
--steps FILE | string | non | inchangé | Web : remplace le script de connexion, un tableau JSON d’au plus 30 étapes, depuis un fichier ou -. |
--cookies-file FILE | string | non | inchangé | Web : remplace le fichier de cookies par un fichier exporté d’un navigateur connecté, depuis un fichier ou - (les formes qu’accepte bi connection create web). Pas avec --clear-cookies. |
--clear-cookies | boolean | non | désactivé | Web : retire le fichier de cookies stocké. Pas avec --cookies-file. |
--expect-rev REVISION | integer | non | aucun | Refuse le changement sauf si la connexion est à cette révision (revision_conflict, sortie 6). |
screenrig bi connection update bic_01EXAMPLECONNECTION0000 --token-file new-token.txt
screenrig bi connection update bic_01EXAMPLECONNECTION0000 --password-file new-password.txt
screenrig bi connection update bic_01EXAMPLECONNECTION0000 --clear-totp --clear-cookies
screenrig bi connection update bic_01EXAMPLECONNECTION0000 --url https://grafana.example.com --token-file new-token.txt --name "Ops Grafana" --expect-rev 2Au moins un changement est requis, et un secret omis est conservé. Une nouvelle adresse sur un autre hôte, schéma ou port exige --token-file (Grafana) ou --secret-file (Tableau) dans la même commande : le secret stocké n’est envoyé qu’à l’adresse pour laquelle il a été enregistré. Un changement d’adresse, d’organisation, de locataire, d’application, de site, d’utilisateur ou de secret efface last_test et retire tous les rendus mis en cache pour les vues de la connexion : testez-la de nouveau. Un changement d’identifiants ou de paramètres d’ouverture de session rétablit une session web arrêtée.
bi connection test#
Vérifiez les identifiants : le jeton et l’Image Renderer de Grafana, l’application de Power BI et ses espaces de travail, l’ouverture de session de Tableau, ou l’ouverture de session d’une connexion web.
bi connection test <id>| Paramètre | Type | Requis | Par défaut | Notes |
|---|---|---|---|---|
<id> | string | oui | aucun | La connexion (bic_…). |
screenrig bi connection test bic_01EXAMPLECONNECTION0000Grafana : token (Grafana l’accepte) et image_renderer (le plugin est listé ; Grafana sans lui avertit seulement, car un service de rendu distant ne s’affiche pas comme un plugin). Power BI : token (Microsoft Entra en a émis un pour l’application) et workspaces (les espaces de travail que l’application peut voir ; aucun fait échouer le test, et un refus nomme les paramètres de développeur du locataire et le rôle Membre ou Administrateur de l’application dans l’espace de travail). Tableau : signin comme l’utilisateur de la connexion avec un jeton de lecture de contenu, suivi d’une déconnexion. Web : login ouvre une session avec le compte de service et dessine sa page de connexion ; une connexion web qui n’ouvre aucune session n’a aucune connexion à tester, donc elle répond par un avertissement, et bi view test vérifie ses cookies. Un refus est une vérification échouée qui porte la réponse propre du fournisseur, et le résultat est stocké sous last_test. Le test ne juge ni la liste d’autorisation des domaines de Tableau, ni la capacité, ni la sécurité au niveau des lignes, ni les autorisations d’un tableau de bord : bi view test vérifie réellement une vue.
bi connection browse#
Liste ce qu’une connexion peut afficher : les tableaux de bord et panneaux Grafana, les espaces de travail et rapports Power BI, ou les vues Tableau.
bi connection browse <id> [--query TEXT] [--dashboard UID] [--workspace ID]| Paramètre | Type | Requis | Par défaut | Notes |
|---|---|---|---|---|
<id> | string | oui | aucun | La connexion (bic_…). |
--query TEXT | string | non | aucun | Seulement les tableaux de bord, espaces de travail, rapports ou vues dont le nom correspond, au plus 200 caractères. |
--dashboard UID | string | non | aucun | Grafana : liste les panneaux de ce tableau de bord à la place. Pas avec --workspace. |
--workspace ID | string | non | aucun | Power BI : liste les rapports de cet espace de travail à la place, par son GUID. Pas avec --dashboard. |
screenrig bi connection browse bic_01EXAMPLECONNECTION0000 --query lobby
screenrig bi connection browse bic_01EXAMPLECONNECTION0000 --dashboard abc123
screenrig bi connection browse bic_01EXAMPLECONNECTION0000 --workspace f089354e-8366-4e18-aea3-4cb4a3a50b48 --query salesdata.items liste, pour Grafana, les uid, title, folder et tags de chaque tableau de bord que le jeton peut afficher, ou, avec --dashboard, les id, title et type de ses panneaux (les lignes sont aplaties, de sorte qu’un panneau dans une ligne repliée est listé) ; pour Power BI, les id et name de chaque espace de travail que l’application peut voir, ou, avec --workspace, les id, name et embed_url de ses rapports ; pour Tableau, le path, sous la forme Workbook/View, et le name de chaque vue que l’utilisateur de la connexion peut voir. Utilisez ces valeurs avec bi view create. Une connexion web ne liste rien : chaque vue web prend l’adresse de sa page.
bi connection delete#
Supprimez une connexion qu’aucune vue n’utilise.
bi connection delete <id> [--expect-rev REVISION]| Paramètre | Type | Requis | Par défaut | Notes |
|---|---|---|---|---|
<id> | string | oui | aucun | La connexion (bic_…). |
--expect-rev REVISION | integer | non | aucun | Refuse la suppression sauf si la connexion est à cette révision (revision_conflict, sortie 6). |
screenrig bi connection delete bic_01EXAMPLECONNECTION0000Tant que des vues l’utilisent, la réponse est resource_conflict (sortie 5), en les nommant : supprimez d’abord ces vues. La réponse est data.id et data.deleted true.
Vues BI
Une vue est un tableau de bord ou un panneau d’une connexion Grafana, un rapport d’un espace de travail Power BI, une vue d’un site Tableau, une page d’une connexion web, ou un lien public qui n’exige aucune connexion : un tableau de bord public Grafana, un lien Power BI Publish to web ou une viz Tableau Public. Un ID de vue commence par biv_, et une vue ne joue que sur les écrans de son propre projet.
Mettez le embed_url de la vue dans une primitive iframe avec content_fit fill et publiez comme d’habitude : la liste de lecture ne contient aucun identifiant. Les vues Grafana et web sont dessinées sur le serveur sous forme d’image à la fréquence --refresh et partagées par tous les écrans de même taille : dix écrans de hall font donc un seul rendu et l’écran ne parle jamais au système ; la dernière bonne image reste à l’écran tant qu’une capture échoue. Un rapport Power BI et une vue Tableau s’intègrent avec un jeton en lecture seule que le serveur génère et renouvelle, et l’écran ne détient jamais le secret. Une image n’est dessinée que tant que le manifeste d’un écran nomme la vue.
La lecture exige l’accès Read, et tout changement exige l’accès Manage. Chaque flag de cible appartient à un seul type de connexion, et bi connection browse ID liste les valeurs à utiliser.
bi view create#
Ajoutez une vue d’un tableau de bord, d’un panneau, d’un rapport ou d’une vue Tableau d’une connexion, ou d’un lien public.
bi view create (--connection-id ID (--url URL | --dashboard UID | --workspace ID --report ID | --view WORKBOOK/VIEW)
| --public-url URL) [--name NAME] [--refresh DURATION] [--fit contain|cover|fill] [--rotate DURATION]
[--panel ID] [--from TIME] [--to TIME] [--var NAME=VALUE]... [--theme dark|light] [--timezone ZONE]
[--page NAME]... [--all-pages] [--rotate-sheets] [--wait-for CSS] [--wait-ms MS] [--clip CSS]| Paramètre | Type | Requis | Par défaut | Notes |
|---|---|---|---|---|
--connection-id ID | string | sans --public-url | aucun | La connexion (bic_…) dont afficher un élément. |
--url URL | string | une cible | aucun | Une adresse de tableau de bord sur l’hôte Grafana de la connexion, une adresse de rapport Power BI, une adresse de vue Tableau ou, pour une connexion web, l’adresse https de la page sur un hôte public. Le reste de la cible en est lu, donc aucun de --panel, --from, --to, --var, --theme, --timezone, --page ni --all-pages n’est accepté. |
--dashboard UID | string | une cible | aucun | Grafana : l’uid du tableau de bord, la partie après /d/ dans son adresse. |
--workspace ID | string | une cible | aucun | Power BI : l’ID de l’espace de travail, avec --report. |
--report ID | string | avec --workspace | aucun | Power BI : l’ID du rapport, avec --workspace. |
--view WORKBOOK/VIEW | string | une cible | aucun | Tableau : la vue, les noms après /views/ dans son adresse (bi connection browse les liste). |
--public-url URL | string | une cible | aucun | Un lien de tableau de bord public Grafana, un lien Power BI Publish to web ou l’adresse d’une viz Tableau Public. Il n’a besoin d’aucune connexion et se joue en direct depuis son hôte. Donnez-le seul, avec --name, --refresh, --fit, --rotate-sheets et --rotate. |
--name NAME | string | non | de la cible | 1 à 80 caractères. |
--refresh DURATION | string | non | 5m | Grafana : fréquence à laquelle l’image est dessinée de nouveau, de 30s à 24h. Web : fréquence à laquelle la page est dessinée de nouveau, de 60s à 24h. Power BI et Tableau : fréquence à laquelle le rapport ou la vue actualise ses données, de 60s à 24h, ou 0 pour aucune. Donnez une durée comme 30s, 5m ou 1h, ou un nombre de secondes. |
--fit FIT | string | non | contain | Grafana et web : comment l’image remplit l’écran, contain, cover ou fill. |
--rotate DURATION | string | non | aucun | Power BI : durée d’affichage de chaque page, de 10s à 1h ; requise avec deux --page ou plus ou avec --all-pages. Tableau : durée d’affichage de chaque feuille ; requise avec --rotate-sheets. |
--page NAME | string | non | aucun | Power BI : une page à afficher, par nom ou par nom d’affichage. De 1 à 200 caractères. Répétable ; les pages s’affichent dans cet ordre. |
--all-pages | boolean | non | désactivé | Power BI : fait défiler toutes les pages visibles, avec --rotate. |
--rotate-sheets | boolean | non | désactivé | Tableau : fait défiler les feuilles publiées du classeur, avec --rotate. |
--panel ID | string | non | le tableau de bord entier | Grafana : affiche ce seul panneau au lieu du tableau de bord entier. Un nombre entier, comme dans le viewPanel de l’adresse. |
--from TIME | string | non | aucun | Grafana : début de la plage de temps, comme now-6h, now/d ou un epoch en millisecondes. |
--to TIME | string | non | aucun | Grafana : fin de la plage de temps, comme now, now/d ou un epoch en millisecondes. |
--var NAME=VALUE | string | non | aucun | Grafana : une variable de tableau de bord. NAME peut porter un préfixe var- et une valeur compte au plus 200 caractères. Répétable. |
--theme THEME | string | non | dark | Thème Grafana, dark ou light. |
--timezone ZONE | string | non | aucun | Grafana : fuseau horaire du tableau de bord, comme Europe/Paris, utc ou browser. |
--wait-for CSS | string | non | aucun | Web : un sélecteur CSS d’un élément qui s’affiche quand la page est prête, et seulement une fois la session ouverte. La capture l’attend et échoue avec bi_web_timeout s’il ne s’affiche jamais. |
--wait-ms MS | integer | non | aucun | Web : millisecondes à attendre après que la page est prête, pour les graphiques qui s’affichent tard, de 0 à 10000. |
--clip CSS | string | non | la page entière | Web : un sélecteur CSS de la partie de la page à dessiner. |
screenrig bi view create --connection-id bic_01EXAMPLECONNECTION0000 --url 'https://grafana.example.com/d/abc123/lobby?orgId=1&viewPanel=4' --refresh 5m
screenrig bi view create --connection-id bic_01EXAMPLECONNECTION0000 --dashboard abc123 --panel 4 --from now-6h --to now --var host=web1 --theme light --name "Web CPU"
screenrig bi view create --public-url https://grafana.example.com/public-dashboards/TOKEN --name "Public status"
screenrig bi view create --connection-id bic_01EXAMPLECONNECTION0000 --workspace f089354e-8366-4e18-aea3-4cb4a3a50b48 --report 5b218778-e7a5-4d73-8187-f10824047715 --page Overview --page Detail --rotate 30s --name "Sales rotation"
screenrig bi view create --connection-id bic_01EXAMPLECONNECTION0000 --view Sales/Overview --rotate-sheets --rotate 30s --refresh 0 --name "Sales sheets"
screenrig bi view create --connection-id bic_01EXAMPLECONNECTION0000 --url https://app.example.com/dashboards/42 --refresh 5m --wait-for '#dashboard.loaded' --wait-ms 1500 --clip '#chart-grid'Donnez exactement une cible : --url, --dashboard, --workspace avec --report, --view ou --public-url. La réponse porte data.embed_url. Exécutez ensuite bi view test.
Grafana : --url lit orgId, viewPanel ou panelId, from, to, var-*, theme et timezone dans l’adresse. L’image est dessinée par le service de rendu de Grafana et partagée par tous les écrans de même taille, et un écran garde la dernière image, avec l’heure du rendu dans un coin, tant que Grafana est indisponible. Un lien de tableau de bord public se joue en direct depuis Grafana, qui doit autoriser l’intégration (allow_embedding = true dans ses paramètres) : bi view test le vérifie.
Power BI : --url prend l’adresse d’un rapport copiée depuis Power BI, https://app.powerbi.com/groups/WORKSPACE/reports/REPORT, avec une page /ReportSection facultative ; ou donnez --workspace et --report. Deux pages ou plus exigent --rotate, et --rotate exige deux pages ou plus ou --all-pages. --refresh 0 convient à un rapport DirectQuery ou à actualisation automatique des pages qui se met à jour lui-même. --fit ne s’applique pas. Un lien Publish to web montre le rapport à toute personne qui a le lien et se joue tel que Power BI le sert, rechargé selon --refresh, sans rotation des pages.
Tableau : --url prend l’adresse d’une vue copiée depuis Tableau, https://HOST/t/SITE/views/WORKBOOK/VIEW, la forme https://HOST/#/site/SITE/views/WORKBOOK/VIEW de Tableau Cloud, ou simplement WORKBOOK/VIEW ; l’adresse doit se trouver sur l’hôte et le site de la connexion. --rotate-sheets et --rotate exigent chacun l’autre. --fit ne s’applique pas. Les écrans doivent atteindre l’hôte Tableau et accepter ses cookies tiers, et le embed_origin de la vue doit figurer dans la liste d’autorisation des domaines de l’application connectée. Une viz Tableau Public (--public-url https://public.tableau.com/app/profile/USER/viz/WORKBOOK/VIEW, ou son adresse /views/) n’a besoin d’aucune connexion ni d’aucun jeton, et --rotate-sheets y fonctionne aussi.
Web : --url est l’adresse de la page, et --wait-for, --wait-ms et --clip ne s’appliquent qu’à une vue web. La dernière bonne image reste à l’écran quand une capture échoue, et status.last_error en indique la raison : bi_web_login_failed, bi_web_otp_required, bi_web_session_expired, bi_web_login_paused, bi_web_timeout, bi_web_navigation_failed ou bi_web_blocked.
bi view list#
Liste les vues BI de ce projet avec leur cible, leur cadence et leur statut.
bi view listAucun paramètre.
screenrig bi view listdata.items contient toutes les vues du projet, chacune avec son embed_url.
bi view show#
Consultez une vue, son embed_url et son comportement le plus récent à l’écran.
bi view show <id>| Paramètre | Type | Requis | Par défaut | Notes |
|---|---|---|---|---|
<id> | string | oui | aucun | La vue (biv_…). |
screenrig bi view show biv_01EXAMPLEVIEW0000000000La réponse porte kind, name, connection_id (absent pour un lien public), target (view et rotate_sheets pour Tableau), refresh_s, rotate_s, fit, status, embed_url et revision ; une vue web porte aussi wait_for, wait_ms et clip. status contient last_ok_at et last_error avec un code et un detail : bi_upstream_refused quand Grafana a refusé le jeton, bi_upstream_unavailable quand il n’a pas pu produire le rendu, ou l’un des codes bi_web_* d’une vue web.
bi view update#
Modifiez le nom, la cible, la cadence ou l’ajustement d’une vue.
bi view update <id> [--name NAME] [--refresh DURATION] [--fit contain|cover|fill] [--rotate DURATION]
[--url URL | --dashboard UID | --workspace ID | --view WORKBOOK/VIEW | --public-url URL] [--report ID]
[--page NAME]... [--all-pages] [--rotate-sheets] [--panel ID] [--from TIME] [--to TIME]
[--var NAME=VALUE]... [--theme dark|light] [--timezone ZONE] [--wait-for CSS | --clear-wait-for]
[--wait-ms MS] [--clip CSS | --clear-clip] [--expect-rev REVISION]| Paramètre | Type | Requis | Par défaut | Notes |
|---|---|---|---|---|
<id> | string | oui | aucun | La vue (biv_…). |
--name NAME | string | non | inchangé | Renomme la vue. |
--url URL | string | non | inchangé | Une adresse de tableau de bord, de rapport ou de vue Tableau, ou l’adresse de la page d’une vue web ; remplace la cible entière. Pas avec les autres flags de cible. |
--dashboard UID | string | non | inchangé | Grafana : affiche ce tableau de bord ; remplace la cible entière. |
--workspace ID | string | non | inchangé | Power BI : affiche un rapport de cet espace de travail, avec --report ; remplace la cible entière. |
--report ID | string | non | inchangé | Power BI : affiche ce rapport, dans --workspace ou dans l’espace de travail actuel. |
--view WORKBOOK/VIEW | string | non | inchangé | Tableau : affiche cette vue ; remplace la cible entière. |
--public-url URL | string | non | inchangé | Un lien public ; remplace la cible entière. |
--rotate-sheets | boolean | non | désactivé | Tableau : fait défiler les feuilles publiées du classeur, avec --rotate. |
--page NAME | string | non | inchangé | Power BI : les pages à afficher, par nom ou par nom d’affichage. Répétable ; elle remplace les pages actuelles. |
--all-pages | boolean | non | désactivé | Power BI : fait défiler toutes les pages visibles. |
--rotate DURATION | string | non | inchangé | Power BI : durée d’affichage de chaque page, de 10s à 1h, ou 0 pour une seule page. Tableau : durée d’affichage de chaque feuille, ou 0 pour arrêter de les faire défiler. |
--panel ID | string | non | inchangé | Grafana : affiche ce seul panneau. |
--from TIME | string | non | inchangé | Grafana : début de la plage de temps. |
--to TIME | string | non | inchangé | Grafana : fin de la plage de temps. |
--var NAME=VALUE | string | non | inchangé | Grafana : définit une variable de tableau de bord. Répétable ; elle définit une variable et garde les autres. |
--theme THEME | string | non | inchangé | Thème Grafana, dark ou light. |
--timezone ZONE | string | non | inchangé | Grafana : fuseau horaire du tableau de bord. |
--refresh DURATION | string | non | inchangé | Fréquence à laquelle l’image est dessinée de nouveau ou le rapport s’actualise : Grafana de 30s à 24h ; web de 60s à 24h ; Power BI et Tableau de 60s à 24h, ou 0 pour aucune. |
--fit FIT | string | non | inchangé | Grafana et web : comment l’image remplit l’écran, contain, cover ou fill. |
--wait-for CSS | string | non | inchangé | Web : l’élément qui s’affiche quand la page est prête et la session ouverte. Pas avec --clear-wait-for. |
--clear-wait-for | boolean | non | désactivé | Web : cesse d’attendre un élément. Pas avec --wait-for. |
--wait-ms MS | integer | non | inchangé | Web : millisecondes à attendre après que la page est prête, de 0 à 10000 ; 0 supprime l’attente. |
--clip CSS | string | non | inchangé | Web : la partie de la page à dessiner. Pas avec --clear-clip. |
--clear-clip | boolean | non | désactivé | Web : dessine de nouveau toute la page. Pas avec --clip. |
--expect-rev REVISION | integer | non | aucun | Refuse le changement sauf si la vue est à cette révision (revision_conflict, sortie 6). |
screenrig bi view update biv_01EXAMPLEVIEW0000000000 --wait-for '#dashboard.loaded' --wait-ms 2000
screenrig bi view update biv_01EXAMPLEVIEW0000000000 --clear-wait-for --clear-clip
screenrig bi view update biv_01EXAMPLEVIEW0000000000 --theme light --var host=web2
screenrig bi view update biv_01EXAMPLEVIEW0000000000 --dashboard def456 --panel 2 --expect-rev 3
screenrig bi view update biv_01EXAMPLEVIEW0000000000 --page Overview --page Detail --rotate 45s
screenrig bi view update biv_01EXAMPLEVIEW0000000000 --view Sales/DetailAu moins un changement est requis. --url, --dashboard, --workspace et --public-url remplacent la cible entière, tandis que --panel, --from, --to, --var, --theme et --timezone modifient la cible Grafana actuelle de la vue, --report, --page et --all-pages celle de Power BI, et --view et --rotate-sheets celle de Tableau. --page remplace la liste de pages ; pour l’effacer, donnez de nouveau --workspace et --report avec --rotate 0. --rotate 0 seul empêche une vue Tableau de faire défiler ses feuilles. --url et --public-url n’acceptent aucun autre flag de cible que --rotate-sheets, et une vue d’un lien public ne change de cible qu’avec --public-url. Une nouvelle cible efface le statut et retire ses rendus mis en cache, et les écrans prennent le changement en compte à leur prochaine actualisation, sans republication. Une vue garde sa connexion et son type.
bi view test#
Vérifiez réellement une vue : un rendu Grafana ou web, un jeton d’intégration Power BI, une recherche Tableau, ou un lien public.
bi view test <id> [--output FILE [--width PIXELS] [--height PIXELS]]| Paramètre | Type | Requis | Par défaut | Notes |
|---|---|---|---|---|
<id> | string | oui | aucun | La vue (biv_…). |
--output FILE | string | non | aucun | Grafana ou web : enregistre ici le PNG dessiné au lieu d’exécuter les vérifications. Une vue Power BI ou Tableau et un lien public n’en ont pas (not_found). |
--width PIXELS | integer | non | 1920 | Largeur de l’image enregistrée, de 1 à 10000. Exige --output. |
--height PIXELS | integer | non | 1080 | Hauteur de l’image enregistrée, de 1 à 10000. Exige --output. |
screenrig bi view test biv_01EXAMPLEVIEW0000000000
screenrig bi view test biv_01EXAMPLEVIEW0000000000 --output lobby.png --width 1920 --height 1080Grafana : une vue de connexion est réellement dessinée, hors du cache partagé et sans toucher au statut de la vue. data.ok est à false, avec la raison de Grafana, quand il refuse le jeton, n’a pas de moteur de rendu ou ne connaît pas le tableau de bord ; un test échoué est une donnée, sortie 0. Web : une vue de connexion est dessinée une fois dans le navigateur du serveur (render), hors du cache partagé, et un dessin échoué en nomme la raison. Ouvrez le PNG enregistré et regardez-le avant de publier. Pour un lien public, le test récupère la page et vérifie que Grafana permet à la page d’intégration de la vue de l’encadrer.
Tableau : une vue de connexion se connecte comme l’utilisateur de la connexion et recherche la vue (signin, view) ; une vue que l’utilisateur ne peut pas voir, ou un nom dont la casse est incorrecte, donne une vérification view échouée qui nomme le chemin. Une vue Tableau Public demande à Tableau Public si le classeur existe. Power BI : une vue de connexion lit le rapport (report) et génère pour lui un vrai jeton d’intégration en lecture seule (embed_token) ; la raison propre de Power BI est affichée quand il refuse, comme un jeu de données avec sécurité au niveau des lignes, un 401 ou un 403 (paramètre du locataire ou rôle dans l’espace de travail) ou un rapport que l’application ne peut pas voir. Un lien Publish to web est récupéré et ses en-têtes d’encadrement sont lus.
Le test ne juge ni ce que l’image affiche, ni les pages que la vue nomme, ni la capacité, ni la liste d’autorisation des domaines de Tableau. data contient at, ok et checks, chaque vérification avec name, ok, un warn facultatif et un detail ; un rendu Grafana ou web ajoute width, height et bytes. Avec --output, data contient plutôt id, file, bytes, width et height.
bi view delete#
Supprimez une vue.
bi view delete <id> [--expect-rev REVISION]| Paramètre | Type | Requis | Par défaut | Notes |
|---|---|---|---|---|
<id> | string | oui | aucun | La vue (biv_…). |
--expect-rev REVISION | integer | non | aucun | Refuse la suppression sauf si la vue est à cette révision (revision_conflict, sortie 6). |
screenrig bi view delete biv_01EXAMPLEVIEW0000000000
screenrig bi view delete biv_01EXAMPLEVIEW0000000000 --expect-rev 3Un écran qui affiche encore le embed_url de la vue répond not_found jusqu’à ce que sa liste de lecture change. La réponse est data.id et data.deleted true.