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éoccupation | CMS headless | Plateforme d’affichage headless |
|---|---|---|
| Contenu | Entrées de contenu structurées | Médias, listes de lecture, apps prêtes à l’emploi, vos propres apps et état clé/valeur |
| Qui l’affiche | Votre propre interface frontale ou votre propre lecteur | Le Player de chaque écran |
| Horaires et prise de contrôle | Un système distinct du côté de l’écran | Le 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’écran | Captures d’écran et enregistrements de lecture |
| À utiliser quand | Le même contenu alimente aussi un site Web ou une application | Les é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.
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 :
- Pipeline démarré. main, 3 commits.
- Tests réussis. 412 tests en 3 min 10 s.
- Échec du déploiement en production. Le contrôle d’intégrité a expiré sur web-2, retour en arrière en cours.
- 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.


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 :
# $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.jsonComment 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) :
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.
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.
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éoccupation | Ce que fait le serveur |
|---|---|
| Programmations | Choisit 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. |
| Campagnes | Fait 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ôle | Place 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’afficheur | Détermine quand chaque afficheur est allumé. Le Player évalue l’horaire sur l’appareil, ce qui lui permet de fonctionner hors ligne. |
| Preuve de lecture | Enregistre chaque début visible d’une image ou d’une vidéo. Un export CSV couvre jusqu’à 31 jours. |
| Santé de l’appareil | Les 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.
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.
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.
É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.
Lié
Autres sujets
screenRIG est gratuit.
Installez le plugin officiel, jumelez un écran et votre agent y publie du contenu.