{"id":20112,"date":"2026-11-12T09:15:40","date_gmt":"2026-11-12T09:15:40","guid":{"rendered":"https:\/\/www.largedisplaysolutions.com\/?page_id=20112"},"modified":"2026-11-12T10:26:29","modified_gmt":"2026-11-12T10:26:29","slug":"documentation-de-lapi-http-de-ldsperimetral","status":"publish","type":"page","link":"https:\/\/www.largedisplaysolutions.com\/fr\/documentation-de-lapi-http-de-ldsperimetral\/","title":{"rendered":"Documentation de l&rsquo;API HTTP de LDSperimetral"},"content":{"rendered":"<div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1976px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_6 1_6 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:16.666666666667%;--awb-margin-top-large:0px;--awb-spacing-right-large:11.52%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:11.52%;--awb-width-medium:16.666666666667%;--awb-order-medium:0;--awb-spacing-right-medium:11.52%;--awb-spacing-left-medium:11.52%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_2_3 2_3 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:66.666666666667%;--awb-margin-top-large:0px;--awb-spacing-right-large:2.88%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:2.88%;--awb-width-medium:66.666666666667%;--awb-order-medium:0;--awb-spacing-right-medium:2.88%;--awb-spacing-left-medium:2.88%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><article lang=\"fr\" style=\"max-width:1100px;margin:0 auto;padding:16px 4px;color:#243442;background:#ffffff;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.75;\">\n\n<h1 id=\"http-api\" style=\"margin:0 0 24px;color:#173d4a;font-size:2.25em;line-height:1.2;font-weight:700;\">API HTTP LDSperimetral<\/h1>\n\n<p style=\"margin:0 0 22px;\">Version : <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">1.58.1<\/code><\/p>\n\n<p style=\"margin:0 0 22px;\">Derni\u00e8re mise \u00e0 jour : <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">2026-11-12<\/code><\/p>\n\n<p style=\"margin:0 0 22px;\">Cette r\u00e9f\u00e9rence d\u00e9crit les services impl\u00e9ment\u00e9s de contr\u00f4le du lecteur et de mesure onTV. Tous les exemples sont illustratifs.<\/p>\n\n<h2 id=\"contents\" style=\"margin:52px 0 20px;padding-bottom:12px;border-bottom:2px solid #d7e6e9;color:#173d4a;line-height:1.3;scroll-margin-top:24px;\">Sommaire<\/h2>\n\n<ul style=\"margin:0 0 28px;padding-left:24px;\">\n\n<li style=\"margin:8px 0;\"><a href=\"#setup\" style=\"color:#17677a;text-decoration:underline;text-underline-offset:3px;\">Installation et acc\u00e8s<\/a><\/li>\n\n<li style=\"margin:8px 0;\"><a href=\"#responses\" style=\"color:#17677a;text-decoration:underline;text-underline-offset:3px;\">Requ\u00eates et r\u00e9ponses<\/a><\/li>\n\n<li style=\"margin:8px 0;\"><a href=\"#player-routes\" style=\"color:#17677a;text-decoration:underline;text-underline-offset:3px;\">Routes du lecteur<\/a><\/li>\n\n<li style=\"margin:8px 0;\"><a href=\"#parameters\" style=\"color:#17677a;text-decoration:underline;text-underline-offset:3px;\">Param\u00e8tres<\/a><\/li>\n\n<li style=\"margin:8px 0;\"><a href=\"#player-data\" style=\"color:#17677a;text-decoration:underline;text-underline-offset:3px;\">Donn\u00e9es du lecteur<\/a><\/li>\n\n<li style=\"margin:8px 0;\"><a href=\"#ontv\" style=\"color:#17677a;text-decoration:underline;text-underline-offset:3px;\">Routes et donn\u00e9es onTV<\/a><\/li>\n\n<li style=\"margin:8px 0;\"><a href=\"#examples\" style=\"color:#17677a;text-decoration:underline;text-underline-offset:3px;\">Exemples<\/a><\/li>\n\n<li style=\"margin:8px 0;\"><a href=\"#limitations\" style=\"color:#17677a;text-decoration:underline;text-underline-offset:3px;\">Limitations<\/a><\/li>\n\n<\/ul>\n\n<h2 id=\"setup\" style=\"margin:52px 0 20px;padding-bottom:12px;border-bottom:2px solid #d7e6e9;color:#173d4a;line-height:1.3;scroll-margin-top:24px;\">Installation et acc\u00e8s<\/h2>\n\n<p style=\"margin:0 0 22px;\">Utilisez une installation LDSperimetral fonctionnelle sous Windows avec son environnement d'ex\u00e9cution .NET Framework 4.7.2 et une configuration de lecteur normale. L'application doit \u00eatre en cours d'ex\u00e9cution. L'API est h\u00e9berg\u00e9e par l'application et non par un serveur s\u00e9par\u00e9.<\/p>\n\n<p style=\"margin:0 0 22px;\">Dans la fen\u00eatre de configuration du terminal, activez le contr\u00f4le \u00e0 distance pour le service de lecture. Activez le compteur onTV s\u00e9par\u00e9ment pour le service de statistiques. Enregistrez et appliquez la configuration du terminal. La fen\u00eatre rejette le m\u00eame port que le port r\u00e9seau de synchronisation. Les param\u00e8tres stock\u00e9s correspondants dans <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">config\/terminals.xml<\/code> sont <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">remote_player_enabled<\/code>, <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">on_tv_meter_enabled<\/code> et <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">port<\/code>. Les deux indicateurs d'activation sont d\u00e9sactiv\u00e9s par d\u00e9faut (false). La valeur par d\u00e9faut dans le code pour <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">port<\/code> est <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">8083<\/code> ; une installation existante peut utiliser un autre port.<\/p>\n\n<div style=\"margin:30px 0 48px;overflow-x:auto;\"><table style=\"width:100%;border-collapse:collapse;border:1px solid #bccdd3;font-size:0.95em;line-height:1.65;\">\n<thead><tr><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Service<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">URL de base<\/th><\/tr><\/thead>\n<tbody>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Lecteur<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">http:\/\/HOST:PORT\/ws\/remoteplayer\/<\/code><\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Statistiques onTV<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">http:\/\/HOST:PORT\/ws\/statsmeter\/<\/code><\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Interface du navigateur onTV<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">http:\/\/HOST:PORT\/ontvmeter<\/code><\/td><\/tr>\n\n<\/tbody>\n<\/table><\/div>\n\n<p style=\"margin:0 0 22px;\">Remplacez <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">HOST<\/code> par l'adresse de l'ordinateur du lecteur et <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">PORT<\/code> par son port HTTP configur\u00e9. Utilisez <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">127.0.0.1<\/code> uniquement depuis cet ordinateur. L'h\u00f4te se lie \u00e0 <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">http:\/\/0.0.0.0:PORT\/<\/code> ; il ne s'agit pas d'une destination client. Les autorisations d'URL Windows, les r\u00e8gles de pare-feu et l'accessibilit\u00e9 r\u00e9seau peuvent affecter l'acc\u00e8s. Le d\u00e9marrage peut demander l'autorisation d'ouvrir le port de pare-feu TCP et d'accorder une r\u00e9servation d'URL Windows. Suivez les invites de l'application, y compris un red\u00e9marrage si demand\u00e9.<\/p>\n\n<p style=\"margin:0 0 22px;\">Le service utilise du HTTP simple et un <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">WebHttpBinding<\/code> par d\u00e9faut. Aucune cl\u00e9 d'API, connexion, autorisation par commande ou liste blanche d'adresses IP clientes n'est impl\u00e9ment\u00e9e dans ces services. Les clients joignables peuvent \u00e9mettre des commandes de lecture et de mesure. Restreignez l'acc\u00e8s r\u00e9seau aux clients de confiance. Les r\u00e9servations d'URL Windows autorisent le processus serveur \u00e0 \u00e9couter ; elles n'authentifient pas les appelants de l'API. Aucune configuration HTTPS ou CORS n'est fournie par cet h\u00f4te. L'acc\u00e8s inter-origine par navigateur n'est pas une interface promise.<\/p>\n\n<h2 id=\"responses\" style=\"margin:52px 0 20px;padding-bottom:12px;border-bottom:2px solid #d7e6e9;color:#173d4a;line-height:1.3;scroll-margin-top:24px;\">Requ\u00eates et r\u00e9ponses<\/h2>\n\n<p style=\"margin:0 0 22px;\">Toutes les routes ci-dessous utilisent <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">GET<\/code>, y compris les commandes qui modifient l'\u00e9tat. Ajoutez chaque route \u00e0 l'URL de base de son service. Aucun corps de requ\u00eate ni param\u00e8tre de requ\u00eate n'est d\u00e9clar\u00e9. Les espaces r\u00e9serv\u00e9s entre accolades sont des segments de chemin obligatoires, sauf si la route d\u00e9crit explicitement le caract\u00e8re g\u00e9n\u00e9rique d'arr\u00eat de superposition. N'envoyez pas les accolades litt\u00e9ralement.<\/p>\n\n<p style=\"margin:0 0 22px;\">Les r\u00e9ponses utilisent la s\u00e9rialisation JSON WCF et un objet commun :<\/p>\n\n<div style=\"margin:30px 0 48px;overflow-x:auto;\"><table style=\"width:100%;border-collapse:collapse;border:1px solid #bccdd3;font-size:0.95em;line-height:1.65;\">\n<thead><tr><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Champ JSON<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Type<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Signification<\/th><\/tr><\/thead>\n<tbody>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">status<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">entier<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">\u00c9tat de l'application selon le tableau ci-dessous.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">message<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">cha\u00eene ou null<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Texte de diagnostic ; ce n'est pas un identifiant stable.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">result<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">valeur sp\u00e9cifique \u00e0 la route<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Bool\u00e9en, cha\u00eene, objet, tableau ou null.<\/td><\/tr>\n\n<\/tbody>\n<\/table><\/div>\n\n<div style=\"margin:30px 0 48px;overflow-x:auto;\"><table style=\"width:100%;border-collapse:collapse;border:1px solid #bccdd3;font-size:0.95em;line-height:1.65;\">\n<thead><tr><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Valeur<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Identifiant<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Signification<\/th><\/tr><\/thead>\n<tbody>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">0<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">OK<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Aucune erreur d'application signal\u00e9e.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">1<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">COUNTER_NOT_EXIST<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">D\u00e9fini dans l'\u00e9num\u00e9ration partag\u00e9e ; non renvoy\u00e9 explicitement par ces routes.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">2<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">TIMER_NOT_EXIST<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">D\u00e9fini dans l'\u00e9num\u00e9ration partag\u00e9e ; non renvoy\u00e9 explicitement par ces routes.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">3<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">INTERNAL_ERROR<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Le traitement de la requ\u00eate a \u00e9chou\u00e9.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">4<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">PLAYLIST_NOT_FOUND<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Aucune playlist disponible ne correspond.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">5<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">INVALID_ARGUMENT<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Index de s\u00e9quence invalide, d\u00e9but de playlist vide ou luminosit\u00e9 non enti\u00e8re.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">6<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">SEQUENCE_NOT_FOUND<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Aucune superposition disponible ne correspond.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">7<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">SERVICE_NOT_READY<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Contr\u00f4le du lecteur indisponible ou en cours d'arr\u00eat, ou contr\u00f4les de luminosit\u00e9 indisponibles.<\/td><\/tr>\n\n<\/tbody>\n<\/table><\/div>\n\n<p style=\"margin:0 0 22px;\">Les erreurs d'application sont renvoy\u00e9es dans cette enveloppe sans modifier explicitement le statut HTTP. Une erreur d'application s\u00e9rialis\u00e9e normale reste donc une r\u00e9ponse de succ\u00e8s HTTP. Inspectez toujours <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">status<\/code>, puis le <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">result<\/code> attendu. Une erreur de transport ou de routage WCF peut avoir un corps diff\u00e9rent et ne doit pas \u00eatre analys\u00e9e comme une enveloppe garantie. Les tests attendent le code HTTP <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">404<\/code> pour une route inconnue et <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">405<\/code> pour une m\u00e9thode non prise en charge ; ces attentes n'ont pas \u00e9t\u00e9 v\u00e9rifi\u00e9es par rapport \u00e0 un h\u00f4te en cours d'ex\u00e9cution pour cette r\u00e9f\u00e9rence.<\/p>\n\n<p style=\"margin:0 0 22px;\">Pour les commandes bool\u00e9ennes, <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">status: 0<\/code> et <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">result: true<\/code> signifient que le chemin de commande a \u00e9t\u00e9 trait\u00e9. Ils ne prouvent pas une sortie audiovisuelle r\u00e9ussie ni l'ach\u00e8vement d'une transition. Certaines m\u00e9thodes aval interceptent les erreurs ou ne font rien lorsqu'aucun rendu n'existe. Interrogez <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">get_reproduction_state<\/code> apr\u00e8s une commande et attendez l'\u00e9tat souhait\u00e9 avec un d\u00e9lai d'attente d\u00e9fini par le client. Il n'y a pas d'identifiant de commande, de point de terminaison d'ach\u00e8vement, de notification push ou de d\u00e9lai de transition sp\u00e9cifi\u00e9. N'envoyez pas \u00e0 plusieurs reprises une commande en attendant son effet.<\/p>\n\n<p style=\"margin:0 0 22px;\">\u00c0 l'exception de <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">ping<\/code>, les op\u00e9rations du lecteur transitent par le r\u00e9partiteur de la fen\u00eatre de contr\u00f4le lorsqu'il est disponible. Cela s\u00e9rialise leur acc\u00e8s de contr\u00f4le sur le thread d'interface utilisateur, mais ne fait pas des requ\u00eates HTTP s\u00e9par\u00e9es une transaction atomique. Les op\u00e9rations statistiques n'utilisent pas cet assistant de r\u00e9partition du lecteur.<\/p>\n\n<h2 id=\"player-routes\" style=\"margin:52px 0 20px;padding-bottom:12px;border-bottom:2px solid #d7e6e9;color:#173d4a;line-height:1.3;scroll-margin-top:24px;\">Routes du lecteur<\/h2>\n\n<p style=\"margin:0 0 22px;\">Tous les chemins de ce tableau sont relatifs \u00e0 <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">\/ws\/remoteplayer\/<\/code>.<\/p>\n\n<div style=\"margin:30px 0 48px;overflow-x:auto;\"><table style=\"width:100%;border-collapse:collapse;border:1px solid #bccdd3;font-size:0.95em;line-height:1.65;\">\n<thead><tr><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Route GET<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">R\u00e9sultat en cas de succ\u00e8s<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Effet ou requ\u00eate<\/th><\/tr><\/thead>\n<tbody>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">ping<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">bool\u00e9en <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">true<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">V\u00e9rifie que le service r\u00e9pond ; ne v\u00e9rifie pas la disponibilit\u00e9 du rendu.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">get_instance_name<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">cha\u00eene<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Nom d'instance configur\u00e9 ; peut \u00eatre vide.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">list_playlists<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">tableau de PlaylistInfo<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Playlists disponibles dans l'ordre de la collection.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">list_playlist_sequences\/{playlist_name}<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">tableau de SequenceInfo<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">S\u00e9quences dans l'ordre de la playlist ; les indices commencent \u00e0 z\u00e9ro.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">list_overlay_sequences<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">tableau de SequenceInfo<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">S\u00e9quences de superposition toujours au premier plan disponibles.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">get_reproduction_state<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">ReproductionState<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">\u00c9tat actuel du contr\u00f4le et du rendu.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">start_playlist\/{playlist_name}<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">bool\u00e9en<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">D\u00e9marre la playlist s\u00e9lectionn\u00e9e, y compris les playlists d'action rapide. Les playlists vides sont rejet\u00e9es.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">start_sequence\/{playlist_name}\/{sequence_number}<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">bool\u00e9en<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">D\u00e9marre la s\u00e9quence existante s\u00e9lectionn\u00e9e.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">start_aot_sequence\/{sequence_name_or_file}<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">bool\u00e9en<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">D\u00e9marre la superposition s\u00e9lectionn\u00e9e (toujours au premier plan) par-dessus l'arri\u00e8re-plan.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">start_aot_sequence\/*<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">bool\u00e9en<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Gestionnaire d'arr\u00eat par caract\u00e8re g\u00e9n\u00e9rique. Utilisez <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">start_aot_sequence\/<\/code> pour supprimer la superposition ; conservez la barre oblique finale. n'envoyez pas d'ast\u00e9risque litt\u00e9ral.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">stop<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">bool\u00e9en<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Appelle l'op\u00e9ration d'arr\u00eat du lecteur. Interrogez l'\u00e9tat pour confirmer que la lecture s'est arr\u00eat\u00e9e.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">pause<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">bool\u00e9en<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Met en pause si le rendu n'est pas d\u00e9j\u00e0 en pause.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">resume<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">bool\u00e9en<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Reprend la lecture si le rendu est en pause.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">pauseresume<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">bool\u00e9en<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Bascule l'\u00e9tat de pause du rendu.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">play_next<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">bool\u00e9en<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">D\u00e9marre la s\u00e9quence suivante ; boucle de la derni\u00e8re \u00e0 la premi\u00e8re. Ne fait rien sans s\u00e9quence et playlist actives.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">quick_action_exit<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">bool\u00e9en<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Demande la sortie lorsque le rendu est en mode action rapide ; sinon, ne fait rien.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">set_global_brightness\/{brightness_tpc}<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">bool\u00e9en<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">D\u00e9finit chaque valeur de matrice de luminosit\u00e9 disponible au pourcentage fourni divis\u00e9 par 100. Aucune requ\u00eate HTTP de luminosit\u00e9 n'est d\u00e9finie.<\/td><\/tr>\n\n<\/tbody>\n<\/table><\/div>\n\n<p style=\"margin:0 0 22px;\">La route de superposition nomm\u00e9e est plus sp\u00e9cifique que le caract\u00e8re g\u00e9n\u00e9rique. Un nom de superposition inexistant renvoie <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">SEQUENCE_NOT_FOUND<\/code> ; ce n'est pas une requ\u00eate d'arr\u00eat. Le routage par caract\u00e8re g\u00e9n\u00e9rique avec fin vide et d'autres cas particuliers de chemins encod\u00e9s n\u00e9cessitent toujours une validation par l'h\u00f4te.<\/p>\n\n<h2 id=\"parameters\" style=\"margin:52px 0 20px;padding-bottom:12px;border-bottom:2px solid #d7e6e9;color:#173d4a;line-height:1.3;scroll-margin-top:24px;\">Param\u00e8tres<\/h2>\n\n<div style=\"margin:30px 0 48px;overflow-x:auto;\"><table style=\"width:100%;border-collapse:collapse;border:1px solid #bccdd3;font-size:0.95em;line-height:1.65;\">\n<thead><tr><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Param\u00e8tre<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Type et r\u00e8gles<\/th><\/tr><\/thead>\n<tbody>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">playlist_name<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Cha\u00eene obligatoire. Correspond au nom exact de la playlist ou au nom de base de son fichier de d\u00e9finition, y compris l'extension. La correspondance est sensible \u00e0 la casse et renvoie la premi\u00e8re correspondance dans la collection disponible. Un chemin de d\u00e9finition complet n'est pas une cl\u00e9 de recherche de playlist.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">sequence_number<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Entier sign\u00e9 32 bits obligatoire analys\u00e9 avec la culture invariante. Doit \u00eatre compris entre <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">0<\/code> et <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">sequence_count - 1<\/code>. Les valeurs n\u00e9gatives, non enti\u00e8res, en d\u00e9passement de capacit\u00e9 (overflow) et hors limites renvoient <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">INVALID_ARGUMENT<\/code> apr\u00e8s la recherche de la playlist. Une playlist manquante renvoie d'abord <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">PLAYLIST_NOT_FOUND<\/code>.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">sequence_name_or_file<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Cha\u00eene obligatoire pour le d\u00e9marrage de la superposition. Correspond au nom exact de la superposition, \u00e0 la valeur du fichier stock\u00e9 ou au nom de base du fichier. La correspondance est sensible \u00e0 la casse et renvoie la premi\u00e8re correspondance. Pr\u00e9f\u00e9rez les noms ou les noms de base pour les URL.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">brightness_tpc<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Texte d'entier sign\u00e9 32 bits obligatoire. Les valeurs num\u00e9riques sont limit\u00e9es entre <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">0<\/code> et <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">100<\/code> pourcent. Les non-entiers et les d\u00e9passements de capacit\u00e9 renvoient <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">INVALID_ARGUMENT<\/code>. L'analyse utilise la culture d'entier par d\u00e9faut du serveur. Utilisez des chiffres d\u00e9cimaux simples avec un signe optionnel.<\/td><\/tr>\n\n<\/tbody>\n<\/table><\/div>\n\n<p style=\"margin:0 0 22px;\">Encodez en pourcentage chaque segment de chemin de cha\u00eene en UTF-8. Par exemple, <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">Demo Show<\/code> devient <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">Demo%20Show<\/code> ; encodez un <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">+<\/code> litt\u00e9ral en <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">%2B<\/code>, <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">#<\/code> en <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">%23<\/code>, <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">?<\/code> en <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">%3F<\/code> et <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">%<\/code> en <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">%25<\/code>. n'encodez pas les s\u00e9parateurs entre les segments de route. Les assistants d'URL utilisent <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">Uri.EscapeDataString<\/code> pour les r\u00e9f\u00e9rences de lancement. Les barres obliques encod\u00e9es, les barres obliques inverses et les chemins complets du syst\u00e8me de fichiers peuvent \u00eatre affect\u00e9s par la pile HTTP Windows et ne sont pas v\u00e9rifi\u00e9s ici. Pr\u00e9f\u00e9rez un nom unique ou un nom de base sans s\u00e9parateurs de chemin. Des segments obligatoires manquants peuvent faire \u00e9chouer le routage WCF avant la validation de l'application.<\/p>\n\n<h2 id=\"player-data\" style=\"margin:52px 0 20px;padding-bottom:12px;border-bottom:2px solid #d7e6e9;color:#173d4a;line-height:1.3;scroll-margin-top:24px;\">Donn\u00e9es du lecteur<\/h2>\n\n<p style=\"margin:0 0 22px;\">Les noms de champs ci-dessous sont les noms exacts du contrat JSON. L'ordre des propri\u00e9t\u00e9s de l'objet n'est pas significatif. Les champs de fichiers contiennent des r\u00e9f\u00e9rences stock\u00e9es et peuvent exposer des informations sur le syst\u00e8me de fichiers ; ne pr\u00e9sumez pas qu'il s'agit d'URL de t\u00e9l\u00e9chargement public.<\/p>\n\n<div style=\"margin:30px 0 48px;overflow-x:auto;\"><table style=\"width:100%;border-collapse:collapse;border:1px solid #bccdd3;font-size:0.95em;line-height:1.65;\">\n<thead><tr><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Champ PlaylistInfo<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Type et signification<\/th><\/tr><\/thead>\n<tbody>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">name<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">cha\u00eene ; nom de la playlist.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">filename<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">cha\u00eene ; r\u00e9f\u00e9rence du fichier de d\u00e9finition de playlist stock\u00e9.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">is_quick_action<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">bool\u00e9en ; indicateur d'interruption de playlist.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">has_button<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">bool\u00e9en ; indicateur de bouton d'acc\u00e8s rapide.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">button_color<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">objet ; membres de couleur WCF <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">A<\/code>, <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">B<\/code>, <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">G<\/code>, <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">R<\/code> (canaux d'octets, 0\u2013255) et <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">ScA<\/code>, <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">ScB<\/code>, <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">ScG<\/code>, <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">ScR<\/code> (canaux scRGB \u00e0 virgule flottante). Il ne s'agit pas d'une cha\u00eene CSS.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">sequence_count<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">entier ; nombre de s\u00e9quences.<\/td><\/tr>\n\n<\/tbody>\n<\/table><\/div>\n\n<div style=\"margin:30px 0 48px;overflow-x:auto;\"><table style=\"width:100%;border-collapse:collapse;border:1px solid #bccdd3;font-size:0.95em;line-height:1.65;\">\n<thead><tr><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Champ SequenceInfo<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Type et signification<\/th><\/tr><\/thead>\n<tbody>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">name<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">cha\u00eene ; nom de la s\u00e9quence.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">filename<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">cha\u00eene ; r\u00e9f\u00e9rence du fichier de s\u00e9quence stock\u00e9.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">is_on_top<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">bool\u00e9en ; true pour les listes de superpositions, false pour les listes de s\u00e9quences de playlist.<\/td><\/tr>\n\n<\/tbody>\n<\/table><\/div>\n\n<div style=\"margin:30px 0 48px;overflow-x:auto;\"><table style=\"width:100%;border-collapse:collapse;border:1px solid #bccdd3;font-size:0.95em;line-height:1.65;\">\n<thead><tr><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Champ ReproductionState<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Type et signification<\/th><\/tr><\/thead>\n<tbody>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">is_playing<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">bool\u00e9en ; une playlist active existe. Ne garantit pas une sortie visible.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">is_paused<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">bool\u00e9en ; \u00e9tat de pause du contr\u00f4le.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">is_render_active<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">bool\u00e9en ; indicateur de rendu actif, false sans rendu.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">is_quickaction<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">bool\u00e9en ; une playlist active et un rendu en mode action rapide existent.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">current_playlist<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">cha\u00eene ; nom de la playlist active, sinon vide.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">current_playlist_file<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">cha\u00eene ; r\u00e9f\u00e9rence de d\u00e9finition de la playlist active, sinon vide.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">current_sequence<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">cha\u00eene ; nom de la s\u00e9quence active, sinon vide.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">current_sequence_index<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">entier ; index de la s\u00e9quence active (commen\u00e7ant \u00e0 z\u00e9ro), sinon <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">-1<\/code>.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">current_overlay_sequence_name<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">cha\u00eene ; nom de la superposition active, sinon vide.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">current_overlay_sequence_file<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">cha\u00eene ; r\u00e9f\u00e9rence du fichier de superposition actif, sinon vide.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">current_sequence_elapsed_time<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">cha\u00eene ; compteur de s\u00e9quence \u00e9coul\u00e9 multipli\u00e9 par 1000, en millisecondes.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">current_sequence_total_time<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">cha\u00eene ; dur\u00e9e de la s\u00e9quence en millisecondes, tronqu\u00e9e vers z\u00e9ro.<\/td><\/tr>\n\n<\/tbody>\n<\/table><\/div>\n\n<p style=\"margin:0 0 22px;\">Les valeurs de temps sont des cha\u00eenes JSON, et non des nombres ou des intervalles de temps format\u00e9s. Les deux champs de temps valent <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">\"0\"<\/code> en l'absence de s\u00e9quence active. Leur interpolation utilise la culture du serveur ; ne pr\u00e9sumez pas d'un s\u00e9parateur d\u00e9cimal invariant ou d'une pr\u00e9cision de mesure \u00e0 la milliseconde. Les valeurs de fichier\/nom copi\u00e9es \u00e0 partir du mod\u00e8le peuvent \u00eatre nulles. Une erreur d'application peut renvoyer des r\u00e9sultats nuls, vides ou partiellement renseign\u00e9s ; v\u00e9rifiez <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">status<\/code> avant de les utiliser.<\/p>\n\n<h2 id=\"ontv\" style=\"margin:52px 0 20px;padding-bottom:12px;border-bottom:2px solid #d7e6e9;color:#173d4a;line-height:1.3;scroll-margin-top:24px;\">Routes et donn\u00e9es onTV<\/h2>\n\n<p style=\"margin:0 0 22px;\">Tous les chemins de ce tableau sont relatifs \u00e0 <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">\/ws\/statsmeter\/<\/code>. Conservez l'orthographe <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">mesures<\/code> exactement telle qu'elle est affich\u00e9e.<\/p>\n\n<div style=\"margin:30px 0 48px;overflow-x:auto;\"><table style=\"width:100%;border-collapse:collapse;border:1px solid #bccdd3;font-size:0.95em;line-height:1.65;\">\n<thead><tr><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Route GET<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">R\u00e9sultat en cas de succ\u00e8s<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Effet ou requ\u00eate<\/th><\/tr><\/thead>\n<tbody>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">start_on_tv_interval<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">OnTVInterval<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Ouvre un intervalle de mesure ; un intervalle d\u00e9j\u00e0 ouvert est conserv\u00e9.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">stop_on_tv_interval<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">OnTVInterval<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Ferme le dernier intervalle s'il est ouvert.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">state_on_tv_interval<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">OnTVInterval<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Renvoie le dernier intervalle, y compris un intervalle ferm\u00e9.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">get_all_intervals_on_tv<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">tableau de OnTVInterval<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Renvoie la liste des intervalles du compteur de rendu. Aucune pagination ni filtre de date n'est d\u00e9clar\u00e9.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">get_mesures_statistics<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">TransmissionStatistics<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Compte et totalise les intervalles termin\u00e9s.<\/td><\/tr>\n\n<\/tbody>\n<\/table><\/div>\n\n<p style=\"margin:0 0 22px;\">Ces commandes marquent des p\u00e9riodes de mesure. Elles ne d\u00e9marrent ni n'arr\u00eatent la lecture de la playlist et ne d\u00e9tectent pas de signal de diffusion. Le contr\u00f4leur renvoie un intervalle par d\u00e9faut, ou une liste vide pour l'op\u00e9ration de liste, lorsqu'aucun rendu n'existe. Un rendu sans compteur de statistiques peut renvoyer null ; le d\u00e9marrage et l'arr\u00eat rencontrent alors la d\u00e9r\u00e9f\u00e9renciation de journalisation du service et signalent une erreur interne. Il peut s'agir d'une r\u00e9ponse <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">OK<\/code> sans mesure r\u00e9elle.<\/p>\n\n<div style=\"margin:30px 0 48px;overflow-x:auto;\"><table style=\"width:100%;border-collapse:collapse;border:1px solid #bccdd3;font-size:0.95em;line-height:1.65;\">\n<thead><tr><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Champ OnTVInterval<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Type et signification<\/th><\/tr><\/thead>\n<tbody>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">begin<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Cha\u00eene DateTime JSON WCF ; d\u00e9but de l'intervalle.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">end<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Cha\u00eene DateTime JSON WCF ; fin de l'intervalle.<\/td><\/tr>\n\n<\/tbody>\n<\/table><\/div>\n\n<p style=\"margin:0 0 22px;\">Le marqueur non d\u00e9fini est une date dont l'ann\u00e9e est <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">1970<\/code>, initialis\u00e9e au 1er janvier 1970. Un intervalle ouvert a une fin non d\u00e9finie. Aucun intervalle enregistr\u00e9 ne produit d'objet par d\u00e9faut avec les deux dates non d\u00e9finies. Des arr\u00eats r\u00e9p\u00e9t\u00e9s laissent un intervalle ferm\u00e9 inchang\u00e9. Les dates proviennent de <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">DateTime.Now<\/code> sur le serveur. WCF utilise la repr\u00e9sentation <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">\/Date(milliseconds[+or-offset])\/<\/code>, avec un \u00e9chappement possible des barres obliques JSON ; ce n'est pas un contrat ISO 8601. Le d\u00e9calage optionnel et la gestion des DateTime locaux\/non sp\u00e9cifi\u00e9s doivent \u00eatre v\u00e9rifi\u00e9s sur l'h\u00f4te d\u00e9ploy\u00e9. N'interpr\u00e9tez pas la sentinelle comme un v\u00e9ritable horodatage mesur\u00e9.<\/p>\n\n<div style=\"margin:30px 0 48px;overflow-x:auto;\"><table style=\"width:100%;border-collapse:collapse;border:1px solid #bccdd3;font-size:0.95em;line-height:1.65;\">\n<thead><tr><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Champ TransmissionStatistics<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Type et signification<\/th><\/tr><\/thead>\n<tbody>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">intervals_recorded<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">entier ; nombre o\u00f9 les ann\u00e9es de d\u00e9but et de fin diff\u00e8rent de <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">1970<\/code>.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">total_seconds_in_tv<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">secondes enti\u00e8res ; somme des millisecondes des intervalles termin\u00e9s, convertie en entier 32 bits, puis divis\u00e9e par 1000 et arrondie avec <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">Math.Round<\/code>. Les intervalles ouverts sont exclus.<\/td><\/tr>\n\n<\/tbody>\n<\/table><\/div>\n\n<p style=\"margin:0 0 22px;\">L'accumulation de millisecondes utilise une conversion en entier 32 bits avant arrondi. De longs historiques peuvent d\u00e9passer cette plage. Ne traitez pas cela comme un compteur de dur\u00e9e \u00e0 pr\u00e9cision illimit\u00e9e ou comme un historique de dur\u00e9e de vie garanti entre les red\u00e9marrages. Les captures d'erreurs statistiques signalent <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">INTERNAL_ERROR<\/code> ; leur message peut rester null.<\/p>\n\n<h2 id=\"examples\" style=\"margin:52px 0 20px;padding-bottom:12px;border-bottom:2px solid #d7e6e9;color:#173d4a;line-height:1.3;scroll-margin-top:24px;\">Exemples<\/h2>\n\n<p style=\"margin:0 0 22px;\">Toutes les requ\u00eates et valeurs JSON de cette section sont illustratives. L'h\u00f4te, les noms et les r\u00e9f\u00e9rences de fichiers sont des espaces r\u00e9serv\u00e9s ne contenant aucune donn\u00e9e priv\u00e9e. Les r\u00e9ponses sont des enveloppes compl\u00e8tes, sauf indication contraire. L'ordre des propri\u00e9t\u00e9s et les espaces JSON peuvent diff\u00e9rer.<\/p>\n\n<p style=\"margin:0 0 22px;\">V\u00e9rifiez la disponibilit\u00e9 depuis l'ordinateur du lecteur lorsque le port configur\u00e9 est <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">8083<\/code> :<\/p>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">curl \"http:\/\/127.0.0.1:8083\/ws\/remoteplayer\/ping\"\n<\/code><\/pre>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">{\"message\":null,\"result\":true,\"status\":0}\n<\/code><\/pre>\n\n<p style=\"margin:0 0 22px;\">R\u00e9pertoriez les s\u00e9quences dans une playlist disponible nomm\u00e9e <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">Demo Show<\/code> :<\/p>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">curl \"http:\/\/127.0.0.1:8083\/ws\/remoteplayer\/list_playlist_sequences\/Demo%20Show\"\n<\/code><\/pre>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">{\"message\":null,\"result\":[{\"filename\":\"demo.sequence\",\"is_on_top\":false,\"name\":\"Opening\"}],\"status\":0}\n<\/code><\/pre>\n\n<p style=\"margin:0 0 22px;\">D\u00e9marrez sa premi\u00e8re s\u00e9quence, puis interrogez l'\u00e9tat. Il s'agit de deux requ\u00eates distinctes :<\/p>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">curl \"http:\/\/127.0.0.1:8083\/ws\/remoteplayer\/start_sequence\/Demo%20Show\/0\"\ncurl \"http:\/\/127.0.0.1:8083\/ws\/remoteplayer\/get_reproduction_state\"\n<\/code><\/pre>\n\n<p style=\"margin:0 0 22px;\">R\u00e9ponse de commande illustrative :<\/p>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">{\"message\":null,\"result\":true,\"status\":0}\n<\/code><\/pre>\n\n<p style=\"margin:0 0 22px;\">R\u00e9ponse d'\u00e9tat illustrative apr\u00e8s la transition :<\/p>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">{\"message\":null,\"result\":{\"is_playing\":true,\"is_paused\":false,\"is_render_active\":true,\"is_quickaction\":false,\"current_playlist\":\"Demo Show\",\"current_playlist_file\":\"demo.playlist\",\"current_sequence\":\"Opening\",\"current_sequence_index\":0,\"current_overlay_sequence_name\":\"\",\"current_overlay_sequence_file\":\"\",\"current_sequence_elapsed_time\":\"1000\",\"current_sequence_total_time\":\"300000\"},\"status\":0}\n<\/code><\/pre>\n\n<p style=\"margin:0 0 22px;\">Un index de s\u00e9quence invalide dans une playlist existante :<\/p>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">curl \"http:\/\/127.0.0.1:8083\/ws\/remoteplayer\/start_sequence\/Demo%20Show\/-1\"\n<\/code><\/pre>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">{\"message\":\"Sequence index must identify an existing sequence.\",\"result\":false,\"status\":5}\n<\/code><\/pre>\n\n<p style=\"margin:0 0 22px;\">Une requ\u00eate de playlist manquante :<\/p>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">{\"message\":\"Playlist [Missing] not found.\",\"result\":[],\"status\":4}\n<\/code><\/pre>\n\n<p style=\"margin:0 0 22px;\">D\u00e9marrez une superposition nomm\u00e9e <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">Demo Overlay<\/code>, puis supprimez-la :<\/p>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">curl \"http:\/\/127.0.0.1:8083\/ws\/remoteplayer\/start_aot_sequence\/Demo%20Overlay\"\ncurl \"http:\/\/127.0.0.1:8083\/ws\/remoteplayer\/start_aot_sequence\/\"\n<\/code><\/pre>\n\n<p style=\"margin:0 0 22px;\">D\u00e9finissez la luminosit\u00e9 globale \u00e0 50 pourcent :<\/p>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">curl \"http:\/\/127.0.0.1:8083\/ws\/remoteplayer\/set_global_brightness\/50\"\n<\/code><\/pre>\n\n<p style=\"margin:0 0 22px;\">Ouvrez, inspectez et fermez un intervalle onTV, puis lisez les totaux :<\/p>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">curl \"http:\/\/127.0.0.1:8083\/ws\/statsmeter\/start_on_tv_interval\"\ncurl \"http:\/\/127.0.0.1:8083\/ws\/statsmeter\/state_on_tv_interval\"\ncurl \"http:\/\/127.0.0.1:8083\/ws\/statsmeter\/stop_on_tv_interval\"\ncurl \"http:\/\/127.0.0.1:8083\/ws\/statsmeter\/get_mesures_statistics\"\n<\/code><\/pre>\n\n<p style=\"margin:0 0 22px;\">R\u00e9ponse statistique illustrative apr\u00e8s un intervalle de cinq secondes termin\u00e9 :<\/p>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">{\"message\":null,\"result\":{\"intervals_recorded\":1,\"total_seconds_in_tv\":5},\"status\":0}\n<\/code><\/pre>\n\n<h2 id=\"limitations\" style=\"margin:52px 0 20px;padding-bottom:12px;border-bottom:2px solid #d7e6e9;color:#173d4a;line-height:1.3;scroll-margin-top:24px;\">Limitations<\/h2>\n\n<p style=\"margin:0 0 22px;\">Les d\u00e9calages de date, le routage par caract\u00e8res g\u00e9n\u00e9riques, les corps d'erreur HTTP et l'acc\u00e8s sp\u00e9cifique au d\u00e9ploiement n\u00e9cessitent une validation sur l'installation cible.<\/p>\n\n<p style=\"margin:0 0 22px;\">Aucune limite de d\u00e9bit, isolation des clients, transaction de requ\u00eate, garantie d'idempotence g\u00e9n\u00e9rale ou garantie d'ach\u00e8vement audiovisuel n'est impl\u00e9ment\u00e9e par cette couche d'API. Les commandes utilisent GET, de sorte que l'aper\u00e7u des liens, le pr\u00e9chargement, la mise en cache et les nouvelles tentatives automatiques peuvent \u00eatre dangereux pour les commandes. Utilisez un client qui envoie des requ\u00eates uniquement en cas de besoin et ne r\u00e9utilise pas les r\u00e9ponses de requ\u00eates mises en cache. Le code du serveur n'\u00e9tablit pas de contrat de contr\u00f4le du cache.<\/p>\n\n<p style=\"margin:0 0 22px;\">L'interface HTML onTV, les m\u00e9tadonn\u00e9es WCF et les points de terminaison <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">mex<\/code> sont distincts des op\u00e9rations JSON document\u00e9es ici. Ce ne sont pas des routes de commande de lecteur suppl\u00e9mentaires. Aucune op\u00e9ration de t\u00e9l\u00e9chargement (upload\/download), d'\u00e9dition de playlist, de lecture de la luminosit\u00e9 ou d'abonnement \u00e0 des \u00e9v\u00e9nements n'est d\u00e9clar\u00e9e dans ces deux contrats JSON.<\/p>\n\n<\/article>[\/fusion_builder_container]<\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_1_6 1_6 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:16.666666666667%;--awb-margin-top-large:0px;--awb-spacing-right-large:11.52%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:11.52%;--awb-width-medium:16.666666666667%;--awb-order-medium:0;--awb-spacing-right-medium:11.52%;--awb-spacing-left-medium:11.52%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><\/div><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-20112","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Documentation de l&#039;API HTTP de LDSperimetral - Large Display Solutions<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.largedisplaysolutions.com\/fr\/ldsperimetral-http-api-documentation\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Documentation de l&#039;API HTTP de LDSperimetral - Large Display Solutions\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.largedisplaysolutions.com\/ldsperimetral-http-api-documentation\/\" \/>\n<meta property=\"og:site_name\" content=\"Large Display Solutions\" \/>\n<meta property=\"article:modified_time\" content=\"2026-11-12T10:26:29+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/fr\\\/documentation-de-lapi-http-de-ldsperimetral\\\/\",\"url\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/ldsperimetral-http-api-documentation\\\/\",\"name\":\"Documentation de l'API HTTP de LDSperimetral - Large Display Solutions\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/fr\\\/#website\"},\"datePublished\":\"2026-11-12T09:15:40+00:00\",\"dateModified\":\"2026-11-12T10:26:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/ldsperimetral-http-api-documentation\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.largedisplaysolutions.com\\\/ldsperimetral-http-api-documentation\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/ldsperimetral-http-api-documentation\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Documentation de l&#8217;API HTTP de LDSperimetral\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/fr\\\/\",\"name\":\"Large Display Solutions\",\"description\":\"Software solutions for LED perimeter systems\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/fr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/fr\\\/#organization\",\"name\":\"Large Display Solutions\",\"url\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/LogotipoLDS_128x40.png\",\"contentUrl\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/LogotipoLDS_128x40.png\",\"width\":128,\"height\":40,\"caption\":\"Large Display Solutions\"},\"image\":{\"@id\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Documentation de l'API HTTP de LDSperimetral - Large Display Solutions","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.largedisplaysolutions.com\/fr\/ldsperimetral-http-api-documentation\/","og_locale":"fr_FR","og_type":"article","og_title":"Documentation de l'API HTTP de LDSperimetral - Large Display Solutions","og_url":"https:\/\/www.largedisplaysolutions.com\/ldsperimetral-http-api-documentation\/","og_site_name":"Large Display Solutions","article_modified_time":"2026-11-12T10:26:29+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.largedisplaysolutions.com\/fr\/documentation-de-lapi-http-de-ldsperimetral\/","url":"https:\/\/www.largedisplaysolutions.com\/ldsperimetral-http-api-documentation\/","name":"Documentation de l'API HTTP de LDSperimetral - Large Display Solutions","isPartOf":{"@id":"https:\/\/www.largedisplaysolutions.com\/fr\/#website"},"datePublished":"2026-11-12T09:15:40+00:00","dateModified":"2026-11-12T10:26:29+00:00","breadcrumb":{"@id":"https:\/\/www.largedisplaysolutions.com\/ldsperimetral-http-api-documentation\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.largedisplaysolutions.com\/ldsperimetral-http-api-documentation\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.largedisplaysolutions.com\/ldsperimetral-http-api-documentation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.largedisplaysolutions.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Documentation de l&#8217;API HTTP de LDSperimetral"}]},{"@type":"WebSite","@id":"https:\/\/www.largedisplaysolutions.com\/fr\/#website","url":"https:\/\/www.largedisplaysolutions.com\/fr\/","name":"Large Display Solutions","description":"Software solutions for LED perimeter systems","publisher":{"@id":"https:\/\/www.largedisplaysolutions.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.largedisplaysolutions.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.largedisplaysolutions.com\/fr\/#organization","name":"Large Display Solutions","url":"https:\/\/www.largedisplaysolutions.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.largedisplaysolutions.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/www.largedisplaysolutions.com\/wp-content\/uploads\/2021\/06\/LogotipoLDS_128x40.png","contentUrl":"https:\/\/www.largedisplaysolutions.com\/wp-content\/uploads\/2021\/06\/LogotipoLDS_128x40.png","width":128,"height":40,"caption":"Large Display Solutions"},"image":{"@id":"https:\/\/www.largedisplaysolutions.com\/fr\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.largedisplaysolutions.com\/fr\/wp-json\/wp\/v2\/pages\/20112","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.largedisplaysolutions.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.largedisplaysolutions.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.largedisplaysolutions.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.largedisplaysolutions.com\/fr\/wp-json\/wp\/v2\/comments?post=20112"}],"version-history":[{"count":3,"href":"https:\/\/www.largedisplaysolutions.com\/fr\/wp-json\/wp\/v2\/pages\/20112\/revisions"}],"predecessor-version":[{"id":20136,"href":"https:\/\/www.largedisplaysolutions.com\/fr\/wp-json\/wp\/v2\/pages\/20112\/revisions\/20136"}],"wp:attachment":[{"href":"https:\/\/www.largedisplaysolutions.com\/fr\/wp-json\/wp\/v2\/media?parent=20112"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}