Documentation de l’API HTTP
La documentation de l’API HTTP vous indiquera comment contrôler votre tableau d’affichage vidéo à distance, soit par l’intermédiaire d’un dispositif Stream Deck, soit par un appel de commande curl via la ligne de commande, soit par l’intermédiaire d’un logiciel que vous développez vous-même.
Qu’est-ce qu’une API et une API HTTP ?
Une API (interface de programmation d’application) est un élément qui permet à d’autres systèmes d’interagir avec lui. Il existe de nombreux types d’API, c’est pourquoi je l’ai appelé « élément », et il peut fournir de nombreux types d’interactions : vous pouvez lui envoyer des données, collecter des données à partir de ce système ou le contrôler à distance.
Dans notre cas, nous avons mis en œuvre une API HTTP, ce qui signifie que nous avons une sorte de serveur web qui attend de recevoir vos requêtes comme si vous demandiez un site web, et de faire des choses en fonction de l’adresse que vous avez tapée.
L’important est qu’il s’agit d’un serveur web. Vous pouvez donc envoyer des requêtes API HTTP à l’aide de n’importe quel programme capable de demander des pages web (votre navigateur favori, l’application boucler sur Linux et OSX, etc.) et, plus important encore, vous pouvez le faire à partir de n’importe quel ordinateur, tablette ou téléphone portable qui se trouve sur le même réseau, ce qui vous permet d’avoir plusieurs LDSscoreboards (ou LDSperimetral) contrôlés à partir d’un point centralisé, votre centre de contrôle.
Pour appeler cette API HTTP, il faut interroger une url (URL est le nom donné à l’adresse composée du protocole, de l’ordinateur, du port et de la requête) comme s’il s’agissait d’une « page web ». Mais où est cette page web ? Je fais n’importe quoi ! Le plus simple est d’ouvrir avec votre navigateur préféré la requête que vous souhaitez. L’adresse à mettre sera la suivante : https://IP_DEL_ORDENADOR:PUERTO_CONFIGURADO/PETICION_A_EFECTUAR
Par conséquent, et en résumé :
- L’adresse IP de l’ordinateur dépend de la configuration réseau de l’équipement. Nous vous recommandons de le fixer pour éviter qu’il ne change et que les demandes ne soient envoyées à un autre ordinateur sans que vous vous en rendiez compte.
- Le port est indiqué dans la configuration du terminal, marqué d’une flèche rouge.
- La demande dépendra de l’ordre que vous souhaitez donner à LDSscoreboard (nous le verrons prochainement).
Grâce à cette documentation HTTP API, vous pouvez apprendre à contrôler le tableau d’affichage vidéo à distance de manière simple.

Dans le cas présenté, l’IP de notre ordinateur est 192.168.1.35 et le port configuré est 8080.
Description de l’API
L’objectif est de disposer d’une API pour toutes les commandes de contrôle de LDSscoreboard, à l’exception de l’édition de contenu. Vous pouvez ainsi contrôler de manière centralisée tous les écrans que vous souhaitez, publier du contenu promotionnel ou mettre des éléments en favoris.
contrôle du glissement
Commandement | Paramètres |
---|---|
/pcontrol/show_slide/<SLIDE_NAME> | Fait apparaître la diapositive indiquée à l’écran.
slide_slide_name = Nom de la diapositive à afficher |
Contrôle des compteurs
Commandement | Paramètres |
---|---|
/pcontrol/increment_counter/NAME_CONTER | Incrémente le compteur passé en paramètre
nom_compteur = Nom du compteur sur lequel opérer |
/pcontrol/decrement_counter/NAME_CONTER | Diminue le compteur passé en paramètre
nom_compteur = Nom du compteur sur lequel opérer |
/pcontrol/set_counter/NAME_COUNTER/VALUE | Affecte une valeur à un compteur donné.
nom_compteur = Nom du compteur sur lequel opérer |
/pcontrol/get_counter_value/counter_name | Récupère la valeur d’un compteur.
nom_compteur = Nom du compteur sur lequel opérer |
liste des joueurs
Commandement | Paramètres |
---|---|
/roster/get_local_team_name | Vérifier le nom de l’équipe locale |
/roster/get_guest_team_name | Vérifier le nom de l’équipe visiteuse |
/roster/get_team_players_count/[local|guest] | Renvoie le nombre de joueurs de l’équipe qui joue à domicile ou à l’extérieur. |
/roster/get_player_information/[local|guest]/PLAYER_INDEX | Renvoie les informations du joueur indiqué (nom, numéro, etc.) |
/roster/increment_player_score/[local|guest]/PLAYER_INDEX | Augmente le score associé au joueur ayant l’index indiqué. |
/roster/decrement_player_score/[local|guest]/PLAYER_INDEX | Diminue le score associé au joueur ayant l’index indiqué. |
/roster/get_player_score/[local|guest]/PLAYER_INDEX | Récupère le score associé au joueur avec l’index indiqué. |
/roster/increment_player_fauls/[local|guest]/PLAYER_INDEX | Augmente les fautes associées au joueur ayant la note indiquée. |
/roster/decrement_player_fauls/[local|guest]/PLAYER_INDEX | Diminue les fautes associées au joueur avec l’indice indiqué. |
/roster/get_player_fauls/[local|guest]/PLAYER_INDEX | Récupère les fautes associées au joueur avec l’index indiqué. |
/roster/increment_player_cautions/[local|guest]/PLAYER_INDEX | Augmente le nombre d’avertissements associés au joueur ayant le classement indiqué. |
/roster/decrement_player_cautions/[local|guest]/PLAYER_INDEX | Diminution des mises en garde associées au joueur avec l’indice indiqué |
/roster/get_player_cautions/[local|guest]/PLAYER_INDEX | Récupère les avertissements associés au lecteur avec l’index indiqué. |
contrôle de la minuterie
Commandement | Paramètres |
---|---|
/pcontrol/start_timer/NOMBRE_TIMER | Démarre la minuterie dans la direction dans laquelle elle a été réglée.
timer_name = Nom de la minuterie (ou du chronomètre) à utiliser |
/pcontrol/stop_timer/NAME_TIMER | Arrête la minuterie. Sa valeur n’est pas modifiée.
timer_name = Nom de la minuterie (ou du chronomètre) à utiliser |
/pcontrol/reset_timer/NOMBRE_TIMER | Réinitialise le timer à la valeur initiale définie dans sa configuration.
timer_name = Nom de la minuterie (ou du chronomètre) à utiliser |
/pcontrol/get_timer_time/NAMBRE_TIMER | Récupère l’heure fixée par une minuterie.
timer_name = Nom de la minuterie (ou du chronomètre) à utiliser |
Étiquettes dynamiques et compteurs automatiques
Commandement | Paramètres |
---|---|
/gc/get_dynamic_label/VAR | Récupère la valeur attribuée à la variable dynamique.
VAR = Identifiant de la variable à interroger |
/gc/set_dynamic_label/VAR/ARG1 | Modifie la valeur attribuée à la variable dynamique
VAR = Identifiant de la variable à affecter |
/gc/get_automatic_variable/VAR | Obtient la valeur d’une variable automatique. Ces variables sont calculées lors de l’utilisation de la liste des joueurs.
VAR = Nom de la variable Variables existantes : |
/gc/reset_automatic_variable/VAR | Remet à zéro le compteur des variables automatiques qui peuvent être réinitialisées.
VAR : Nom de la variable réinitialisable (local_team_fauls_resetable ou guest_team_fauls_resetable). |
Exemple d’utilisation de l’API HTTP LDSscoreboard
Prenons un exemple pour mieux comprendre le fonctionnement de l’API HTTP tel qu’il est décrit dans cette documentation. Supposons que nous ayons défini un marqueur contenant une diapositive appelée « slide1 ». Pour demander au système d’ouvrir la diapositive 1, nous devons connaître l’adresse IP de l’ordinateur et le port, puisque nous connaissons déjà le nom.
Si nous prenons l’image en haut de la page, nous voyons que nous avons l’adresse IP 192.168.1.35 et le port 8080, nous devons donc faire une requête HTTP (ouvrir la page) à l’adresse http://192.168.1.35:8080/pcontrol/show_slide/slide1.
Pour ce faire, nous pouvons ouvrir un navigateur et saisir l’adresse dans la barre d’adresse :

Ensuite, si LDSscoreboard est en cours d’exécution, nous devrions voir la diapositive appelée slide1 devenir active.
IMPORTANT
Si le nom de la diapositive contient un espace, comme il s’agit d’un caractère spécial, il faut le remplacer par %20, c’est-à-dire que « my slide » sera traduit par « my%20slide ».
Outils pour effectuer des appels API HTTP
Bien sûr, vous n’êtes pas obligé de faire des appels HTTP à partir d’un navigateur, nous l’avons fait de cette manière parce que c’est un outil que vous êtes sûr d’avoir à portée de main et de connaître, mais il y a beaucoup d’autres façons de le faire.
boucler
curl est un outil de requête HTTP open source. Il est disponible sur Linux, OSX, ainsi que sur les dernières versions de Windows 10. Il est très simple à utiliser, comme le montre l’image suivante :

Javascript
Vous pouvez créer un programme Javascript, en utilisant jquery, dans lequel un appel HTTP est effectué, par exemple avec ce code :
timer_identifier= »mon timer » ;
$.getJSON(`/pcontrol/start_
.done(function (data) {
if (data.status != 0) {
console.error(`Erreur de démarrage du minuteur : ${JSON.stringify(data)} `) ;
}
})
.fail(function (err) {
if (err.status != 200)
console.error(`Erreur de démarrage du timer [${JSON.stringify(err)}]`) ;
}) ;
et n’importe quel langage de programmation vous permettra de faire de tels appels.