Affichage numérique

Affichage numérique headless : un script, un pipeline ou un agent pilote les écrans

Dans l’affichage numérique headless, rien n’a besoin de rester ouvert pour qu’un écran change : un agent, un script ou un pipeline met à jour ce qui est diffusé par une API, et le Player l’affiche. Ici, un pipeline CI écrit sur un téléviseur avec curl, sans tableau de bord ouvert et sans que personne surveille.

Mis à jour le

  1. Vous

    Mettez notre pipeline de livraison sur le téléviseur de l’équipe de plateforme. Le pipeline publie chaque étape au fur et à mesure (démarrage, tests, déploiement, retour en arrière), la plus récente en premier, avec une ligne rouge quand quelque chose échoue. Il le fera depuis un script shell avec curl, sans personne ni agent dans la boucle; configurez donc le tableau une seule fois et dites-moi ce dont le script a besoin.

  2. Agent

    Le tableau est sur le téléviseur de l’équipe de plateforme : l’étape la plus récente en premier, et un échec apparaît sous forme de ligne rouge. Le script a besoin de trois choses, l’adresse de l’API, l’id du tableau et un jeton, et je l’ai écrit pour vous. Lors de mon test, le déploiement en échec était à l’écran environ deux secondes après que le script l’a publié.

Commencer gratuitementVoir les tarifs

01 Que signifie headless (sans interface) pour l’affichage numérique?

Que signifie headless (sans interface) pour l’affichage numérique?

Dans un système d’affichage traditionnel, l’application Web est la surface de contrôle et le lecteur la suit. Dans un système headless, le contrôle se trouve dans une API. N’importe quel client appelle le même plan de contrôle, le plan de contrôle décide de ce que diffuse chaque Player, et le Player l’affiche et en rend compte. Le tableau de bord est un client de plus, et aucun client n’a besoin de rester ouvert pour qu’un écran continue de diffuser.

PréoccupationCMS headlessPlateforme d’affichage headless
ContenuEntrées de contenu structuréesMédias, listes de lecture, apps prêtes à l’emploi, vos propres apps et état clé/valeur
Qui l’afficheVotre propre interface frontale ou votre propre lecteurLe Player de chaque écran
Horaires et prise de contrôleUn système distinct du côté de l’écranLe serveur décide de ce que diffuse chaque écran
La preuve que l’écran l’a affichéUn système distinct du côté de l’écranCaptures d’écran et enregistrements de lecture
À utiliser quandLe même contenu alimente aussi un site Web ou une applicationLes écrans sont le canal

Programmable signifie que du code contrôle ce qui est diffusé. Programmatique désigne généralement l’achat automatisé d’espaces publicitaires sur des écrans d’affichage extérieur, ce que Players traite séparément.

02 Un tableau de livraison piloté par un pipeline

Un tableau de livraison piloté par un pipeline

L’équipe de plateforme veut son pipeline de livraison sur le téléviseur près de la machine à café : chaque étape au moment où elle survient, la plus récente en premier, avec une ligne rouge en cas d’échec. Le pipeline, ses numéros de tâche et ses hôtes sont du contenu de démonstration. L’exécution, elle, est réelle : le 26 octobre 2026, dans l’environnement de préproduction de screenRIG, avec des images dessinées par le Player dans une fenêtre de navigateur tenant lieu de téléviseur. Chaque étape du pipeline exécute une fois un petit script :

  1. Pipeline démarré. main, 3 commits.
  2. Tests réussis. 412 tests en 3 min 10 s.
  3. Échec du déploiement en production. Le contrôle d’intégrité a expiré sur web-2, retour en arrière en cours.
  4. Retour en arrière terminé. web-1 et web-2 de nouveau en bon état.

Après la troisième étape, l’erreur occupe la grande ligne, les étapes précédentes sont listées avec leur ancienneté, et le bas de page compte les événements et les erreurs de l’heure. Après la quatrième, le retour en arrière est en haut et le déploiement en échec se trouve juste en dessous.

Un tableau de livraison : une ligne rouge Erreur, Échec du déploiement en production, avec le message du contrôle d’intégrité, et à côté Tests réussis et Pipeline 4182 démarré
Après l’étape 3. Le niveau de la ligne détermine sa couleur : info, success, warning ou error.
Le tableau de livraison après le retour en arrière : une ligne verte Succès, Retour en arrière terminé, avec le déploiement en échec et les étapes précédentes à côté
Après l’étape 4. Le bas de page compte toujours une erreur au cours de la dernière heure.

03 Que fait le script du pipeline?

Que fait le script du pipeline?

La part de l’agent est courte et n’a lieu qu’une fois. Il crée un tableau Fil d’activité, lui donne une première ligne pour que la page ne soit pas vide et l’affiche à l’écran. Puis il remet un script au pipeline. Le script lit le tableau et sa révision, place la nouvelle ligne en premier et la réécrit seulement si personne n’a écrit entre-temps :

Terminal
# $url is the board's address and $auth carries your token.
# 1. Read the board and its revision (the ETag).
etag=$(curl -sS -D - -o current.json -H "$auth" "$url" | awk 'tolower($1) == "etag:" { print $2 }' | tr -d '\r')
# 2. Write the board back with the new row first. A stale revision is refused, and the script reads again.
curl -sS -X PUT "$url" -H "$auth" -H "Content-Type: application/json" -H "If-Match: $etag" -H "Idempotency-Key: board-$(date -u +%s%N)" --data @next.json

04 Comment le pipeline sait-il que l’écran l’a reçu?

Comment le pipeline sait-il que l’écran l’a reçu?

Il n’interroge pas à répétition. Le flux d’événements du projet peut être rejoué, et un pipeline peut le lire pendant qu’il écrit. Pour le déploiement en échec, le flux a transporté l’écriture, le changement, puis le rapport du Player lui-même indiquant qu’il avait appliqué cette révision à cette page (heures en UTC, réduites à l’événement et à la révision) :

Texte
03:43:47.501  kv.updated                 revision 5 written
03:43:47.505  screen.card_data_changed   revision 5
03:43:49.306  screen.card_data_applied   revision 5, page "board"

Le Player a rapporté la révision 1,8 seconde après l’acceptation de l’écriture. Une tâche qui ne doit pas continuer tant que l’écran n’affiche pas l’échec peut attendre cette dernière ligne, et une tâche que cela n’intéresse pas peut l’ignorer. Les événements d’écran sont gratuits sur le flux d’écoute, et une reconnexion reprend au dernier curseur.

05 Deux tâches en écriture, une seule révision

Deux tâches en écriture, une seule révision

Deux tâches peuvent écrire en même temps. Une écriture qui porte une révision périmée est refusée, et le refus indique quelle révision est à jour, de sorte que personne n’écrase une ligne plus récente. Le script relit et réessaie, jusqu’à trois fois.

06 Qu’est-ce qui reste côté serveur dans l’affichage numérique headless?

Qu’est-ce qui reste côté serveur dans l’affichage numérique headless?

Tout ce qui doit continuer à fonctionner quand aucun client n’est connecté. Le Player affiche; le serveur décide.

PréoccupationCe que fait le serveur
ProgrammationsChoisit ce que diffuse chaque écran : sa prise de contrôle, sinon la première campagne en vigueur, sinon la première entrée d’horaire qui correspond à l’heure locale de l’écran, sinon la liste de lecture affectée. Les changements s’appliquent à environ une minute près de la limite.
CampagnesFait passer chaque écran d’une flotte étiquetée à une seule liste de lecture tant que ses dates et ses plages hebdomadaires sont en vigueur, chacun selon sa propre horloge.
Prise de contrôlePlace une liste de lecture sur un écran ou une flotte étiquetée avant les campagnes, les horaires et les affectations, puis se termine d’elle-même.
Alimentation de l’afficheurDétermine quand chaque afficheur est allumé. Le Player évalue l’horaire sur l’appareil, ce qui lui permet de fonctionner hors ligne.
Preuve de lectureEnregistre chaque début visible d’une image ou d’une vidéo. Un export CSV couvre jusqu’à 31 jours.
Santé de l’appareilLes Players rapportent leur état régulièrement, et immédiatement quand la connexion de l’afficheur ou l’alimentation change.

Une étiquette sélectionne une flotte : une seule commande atteint donc chaque écran qui la porte.

07 Quand ai-je encore besoin du tableau de bord?

Quand ai-je encore besoin du tableau de bord?

Le tableau de bord est un client de plus, et certaines tâches conviennent mieux à une personne.

  • Révisions. Un agent connecté avec l’accès Proposer, ou un projet qui exige une révision, envoie les changements à la page Révisions. Une personne approuve, demande des modifications ou rejette, et rien n’atteint un écran avant cela.
  • Accès. La page d’accès liste chaque agent, application connectée et client de service, et une personne peut y mettre fin à n’importe lequel.
  • Personnes et projets. Les invitations et les paramètres de projet relèvent des personnes.

08 Foire aux questions

Questions fréquentes

L’affichage numérique headless est-il la même chose que l’affichage numérique API-first?

Les deux décrivent la même conception, vue sous deux angles. API-first signifie que l’API est conçue en premier et que chaque client l’utilise. Headless signifie qu’aucune interface particulière n’est nécessaire pour exploiter les écrans.

Ai-je besoin d’un développeur pour exploiter l’affichage numérique headless?

Non. Un agent peut l’exploiter à partir d’une phrase, et une personne approuve ce qu’il propose quand le projet exige une révision. Un développeur ajoute des scripts comme celui ci-dessus quand un système doit écrire sur un écran de lui-même.

Puis-je garder mon contenu dans un autre système?

Oui. Un script lit le système et écrit les valeurs dans un tableau. Les écrans affichent ce que détient le serveur.

Quels Players une configuration headless peut-elle piloter?

Douze : le Player Web, Android et Google TV, l’Amazon Signage Stick, Apple TV, macOS, iPhone et iPad, Windows, Linux, Raspberry Pi, LG webOS Signage, Samsung Smart Signage (Tizen) et BrightSign. Le guide des Players décrit les étapes d’installation.

L’affichage numérique headless est-il gratuit?

screenRIG est gratuit, avec des écrans illimités. Les forfaits payants ajoutent des outils d’affaires, plus de personnes, des personnes à qui parler, de la gouvernance et des conditions contractuelles. Voir les tarifs; la page Développeurs présente chaque interface.

09 Écrivez votre première ligne

Écrivez votre première ligne

Lisez la référence de l’API REST pour les appels que fait le script, ou commencez gratuitement et laissez votre agent écrire le script.

10 Voir aussi

11 Autres sujets

screenRIG est gratuit.

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

Commencer gratuitementVoir les tarifs →