Guide

Comment déployer un affichage dynamique headless que votre agent gère

Pour déployer un affichage dynamique headless, connectez votre agent IA ou votre code à screenRIG, installez le Player sur chaque appareil avec un seul lien de flotte pour qu’il rejoigne seul votre projet, et laissez l’agent publier, surveiller et réparer les écrans par le CLI, l’API ou le serveur MCP. Personne n’ouvre de tableau de bord.

Mis à jour le

Ce guide présente pas à pas le déploiement de dix écrans, d’un projet vide à une flotte qui vous prévient quand quelque chose tombe en panne.

Voici une vraie session en lecture seule sur notre propre écran d’essai, un onn 4K Streaming Device sur un banc d’essai, exécutée le 9 novembre 2026 par le serveur MCP de screenRIG. Les heures sont en heure de Vancouver.

  1. Vous

    Vérifiez le ONN Test Rack. Fonctionne-t-il bien, que diffuse-t-il, et est-ce que quelque chose a mal tourné cette semaine?

  2. Agent

    Il est en ligne sur le Wi-Fi à -54 dBm, sans plantage au cours des dernières 24 heures, et son contenu est à jour : la liste de lecture « ONN Test Rack — Demo playlist ». Le Player indique que l’afficheur de la télé est éteint en ce moment; rien n’est donc affiché à l’écran. Il a été hors ligne du jeudi 4 h 58 au samedi 14 h 48, soit environ 58 heures, et screenRIG attribue cela à un redémarrage de l’appareil. Cette alerte hors ligne, ainsi qu’une alerte de boucle bloquée mardi de 10 h 51 à 10 h 58, sont toutes deux résolues. Son Player peut vider son cache et relancer l’app, mais ne déclare pas le redémarrage; un blocage complet de cet appareil exige donc toujours quelqu’un devant la télé. La dernière capture d’écran qu’il a stockée date du 2 novembre.

Le reste de ce guide est le déploiement lui-même : d’un projet vide à une flotte qui rapporte comme ceci.

Commencer gratuitementVoir les tarifs

01 Ce que signifie « headless » ici

Ce que signifie « headless » ici

Dans une configuration headless, le plan de contrôle est une API, pas une page web. Votre agent, un script ou une tâche CI fait les mêmes appels qu’une personne ferait dans le tableau de bord, par le CLI, l’API REST ou le serveur MCP distant. Le Player de chaque écran télécharge ce qu’on lui dit de lire, le lit depuis le stockage local et rend compte : ce qu’il affiche, son état de santé et les commandes que l’appareil prend en charge. Le tableau de bord reste disponible pour qui le souhaite; rien ne dépend de son ouverture. L’affichage dynamique headless explique le modèle, et la page de l’API couvre toutes les interfaces.

02 Étape 1 : connectez l’agent ou, pour du code, un client de service

Étape 1 : connectez l’agent ou, pour du code, un client de service

Pour un agent IA, collez-lui une phrase et il installe le plugin officiel screenRIG, qui regroupe la compétence et le CLI screenrig. À sa première exécution, il s’enregistre : il crée votre organisation et votre projet et vous envoie une invitation par courriel. Démarrage rapide donne la phrase et les commandes d’installation pour chaque agent.

Un client MCP comme Claude, ChatGPT ou Grok peut plutôt se connecter au serveur MCP distant : une personne l’approuve dans le tableau de bord et choisit pour lui Lecture seule, Proposer ou Gérer. Lecture seule suffit pour un agent qui ne fait que surveiller, comme dans la session ci-dessus. Le plugin ajoute les étapes qui s’exécutent sur votre machine, comme la conversion de médias et l’empaquetage d’apps. Connecter un client MCP donne l’adresse du serveur et la connexion.

Pour un script, une tâche CI ou votre propre service, créez un client de service avec seulement l’accès dont il a besoin :

Terminal
screenrig service-client create --name "rollout-pipeline" --access manage

Un client en Lecture seule convient à une tâche de surveillance, et les changements d’un client Proposer attendent qu’une personne les examine. Clients de service présente la connexion avec une clé ou un secret.

03 Étape 2 : choisissez un lecteur par écran

Étape 2 : choisissez un lecteur par écran

Choisissez des appareils qui démarrent tout seuls et que vous pouvez rétablir à distance. Un Raspberry Pi ou un PC Linux en installation kiosque, un lecteur BrightSign, un PC Windows ou un appareil Android géré peuvent tous redémarrer sur commande; les clés et les apps de télé coûtent moins cher, mais ne le peuvent pas. Comment choisir un lecteur d’affichage dynamique les compare, et Téléchargements énumère tous les appareils.

04 Étape 3 : provisionnez les appareils avec un lien de flotte, sans code de jumelage

Un code de jumelage suffit pour un écran. Pour dix, un lien de flotte est une URL de Player unique qui transforme chaque appareil qui l’ouvre en son propre écran dans votre projet, avec les étiquettes, les champs et la liste de lecture du lien, et sans code à dicter.

Terminal
screenrig fleet-links create --name "Kitsilano counters" --tag Kitsilano --tag Counter --playlist-id pl_MENU --max-screens 6 --expires-at 2026-11-30T23:59:59Z

La réponse contient l’URL. C’est une information d’identification qui crée des écrans : ne la donnez qu’à la configuration de l’appareil, jamais à une page ni à une conversation. Placez-la ensuite là où l’appareil la trouvera :

  • Raspberry Pi et Linux. Exécutez l’installateur en mode kiosque avec le lien : curl -fsSL https://screenrig.ai/linux/install.sh | sh -s -- --kiosk --fleet-link URL. L’appareil démarre alors directement sur le Player, rejoint le projet et revient de lui-même après une panne de courant.
  • Android, Google TV et Amazon Signage Stick. Définissez la clé fleet_link dans la configuration gérée de l’app, dans votre gestionnaire d’appareils (paquet ai.screenrig.player).
  • Un appareil Android 10 ou ultérieur réinitialisé aux paramètres d’usine, avec une caméra. Numérisez le code QR de propriétaire d’appareil Android du lien depuis l’écran de bienvenue. Le Player géré s’installe de lui-même comme application d’accueil de l’appareil, en plein écran, sans gestionnaire d’appareils.
  • Mac, Apple TV, iPhone et iPad. Définissez fleet_link dans la configuration d’app gérée de votre MDM.
  • ChromeOS. Placez le lien dans l’URL de l’application de kiosque, dans la console d’administration Google.

--max-screens et --expires-at empêchent un lien divulgué de créer des écrans indéfiniment; les écrans qu’il a déjà créés continuent la lecture. Un appareil réinitialisé (Powerwash) ou réinstallé revient sous la forme du même écran dès que son ancienne identité est restée silencieuse pendant dix minutes. Le guide du Player donne le réglage de chaque gestionnaire d’appareils.

05 Étape 4 : donnez à chaque écran son fuseau horaire et ses heures

Étape 4 : donnez à chaque écran son fuseau horaire et ses heures

Les horaires s’exécutent dans le fuseau horaire propre à chaque écran : réglez-le donc d’abord, puis indiquez aux écrans quand s’allumer :

Terminal
screenrig screen set-timezone scr_KITS_COUNTER_1 --timezone America/Vancouver
screenrig screen display-schedule set --tag Window --file store-hours.json

L’horaire d’affichage s’exécute sur le lecteur : l’écran s’éteint donc à la fermeture même si Internet est coupé au magasin. Les Players qui le prennent en charge commandent la télé elle-même par HDMI-CEC, DDC/CI ou le rétroéclairage; les autres noircissent l’image. Voir HDMI-CEC pour l’affichage dynamique. Avec tous les forfaits, un horaire de redémarrage relance les appareils pendant une plage calme, par exemple "Mon-Sun 04:00-04:30".

06 Étape 5 : publiez, puis vérifiez que la lecture est en cours

Étape 5 : publiez, puis vérifiez que la lecture est en cours

Un agent publie à partir d’une phrase. Depuis du code, screen publish crée une liste de lecture à partir d’un fichier préparé, l’assigne et attend que le Player indique qu’il l’affiche :

Terminal
screenrig screen publish scr_KITS_COUNTER_1 menu.json
screenrig screen screenshot --tag Kitsilano --output shots/

Une assignation n’est pas une preuve de lecture : la publication attend donc le Player, et une capture d’écran montre ce qui est à l’écran. Les changements de flotte passent par étiquette ou par dossier, et une action de flotte est une requête quel que soit le nombre d’écrans touchés. Une écriture peut porter une vérification de révision (--expect-rev), pour que deux auteurs ne s’écrasent pas en silence.

07 Étape 6 : soyez prévenu quand un écran a besoin de vous

Étape 6 : soyez prévenu quand un écran a besoin de vous

Chaque projet commence avec un courriel à son propriétaire lorsqu’un écran est hors ligne depuis 10 minutes. Ajoutez les conditions qui vous importent :

Terminal
screenrig notifications create --email owner --conditions screen_offline,display_disconnected,not_playing,glass_blank,glass_frozen --tag Kitsilano

Les notifications surveillent aussi un appareil qui surchauffe, un stockage plein, une mise à jour de contenu bloquée, un Player qui plante sans cesse et une liste de lecture qui a cessé d’avancer. Le courriel et les webhooks signés sont inclus dans tous les forfaits; l’acheminement vers Slack, Teams, PagerDuty ou Telegram est inclus avec Plus. Pour un agent qui réagit de lui-même, screenrig events follow diffuse en continu les événements du projet, et les événements d’écran sont gratuits sur le flux d’écoute.

Chaque Player rapporte son état de santé toutes les quinze minutes et immédiatement quand la connexion ou l’alimentation de son afficheur change : durée de fonctionnement, mémoire, température là où l’appareil la fournit, réseau et plantages. screen show le renvoie avec les capacités d’hôte de l’écran, de sorte que l’agent sache ce qu’un écran peut faire avant d’essayer.

08 Étape 7 : rétablissez la situation sans vous déplacer

Étape 7 : rétablissez la situation sans vous déplacer

Quand un écran tombe en panne, l’agent procède de la correction la moins coûteuse à la plus coûteuse, et n’utilise que ce que ce Player déclare :

  1. Regarder. screen show rapporte la dernière panne de l’écran et, lorsqu’un rapport de santé permet de trancher, une cause probable : un redémarrage de l’appareil, un plantage de l’app, le réseau ou screenRIG. Une capture d’écran montre ce qui est affiché à l’écran.
  2. Recharger. screen reload actualise le contenu sans toucher à l’appareil.
  3. Relancer l’app ou vider le cache. screen restart-app relance le Player; screen clear-cache supprime le contenu téléchargé, conserve le jumelage et le télécharge de nouveau.
  4. Redémarrer. screen reboot redémarre l’appareil sur les Players qui le prennent en charge. Envoyé à un écran hors ligne, il attend en file d’attente jusqu’à 24 heures et s’exécute au retour de l’écran. Un redémarrage que vous avez demandé ne déclenche aucune alerte hors ligne pendant que l’appareil redémarre.
  5. Remplacer le matériel. Si un appareil tombe en panne, jumelez le remplaçant et exécutez screen replace : le nouvel appareil reprend le nom, les étiquettes, le fuseau horaire, la liste de lecture, les horaires et l’historique de l’ancien écran.

La référence du CLI énumère chaque commande d’appareil et les Players qui la prennent en charge.

09 Une liste de contrôle de déploiement

Une liste de contrôle de déploiement

  • Agent connecté, ou client de service avec l’accès minimal dont il a besoin
  • Lecteurs choisis pour le redémarrage à distance là où un déplacement sur place coûte cher
  • Un lien de flotte par magasin ou par groupe, avec des étiquettes, une liste de lecture, un plafond d’écrans et une date d’expiration
  • Fuseau horaire de chaque écran défini
  • Horaire d’affichage pour les écrans qui doivent rester éteints en dehors des heures
  • Première publication vérifiée par une capture d’écran de chaque écran
  • Notifications en cas d’écran hors ligne, d’afficheur déconnecté, d’absence de lecture et d’image vide ou figée
  • Une personne désignée qui reçoit les alertes

10 Foire aux questions

Questions fréquentes

Ai-je vraiment besoin du tableau de bord?

Non. Tout ce que décrit ce guide fonctionne depuis l’agent, le CLI ou l’API. Le tableau de bord est un client de plus, utile quand une personne veut regarder.

Puis-je déployer sans dicter de codes de jumelage?

Oui. Un lien de flotte enrôle chaque appareil qui l’ouvre, depuis un gestionnaire d’appareils, une option de l’installateur Linux ou un code QR Android.

Que se passe-t-il quand Internet tombe en panne dans un magasin?

Les Players natifs continuent de lire ce qu’ils ont téléchargé, et les horaires d’affichage continuent de s’exécuter sur l’appareil. Vous recevez un avis hors ligne dès que l’écran est hors ligne depuis le délai que vous avez réglé.

Combien coûte un déploiement?

screenRIG est gratuit, avec un nombre illimité d’écrans sur Standard. Voyez les tarifs pour ce qu’ajoutent les forfaits payants.

11 Sources

12 Pages connexes

13 Autres guides

screenRIG est gratuit.

Installez le plugin officiel, jumelez un écran et votre agent y publie du contenu.

Commencer gratuitementVoir les tarifs →Guides →