Le guide est vide : comment en trouver la cause
Un guide vide n’est presque jamais un réglage que vous auriez raté. C’est le plus souvent la jointure entre deux identifiants qui ne correspondent pas.
Un guide vide a 3 causes possibles. Séparez-les avant de changer quoi que ce soit, parce que le correctif diffère pour chacune et que 2 d’entre elles ne sont pas des réglages.
Le fichier n’est pas arrivé. Le fichier est arrivé et n’a pas pu être lu. Le fichier est arrivé, a été lu, et rien dedans ne correspondait à vos chaînes.
La troisième est de loin la plus fréquente.
D’abord : regardez-vous au bon endroit ?
Sur une console, vérifiez ceci avant tout le reste. La grille des programmes vit à l’intérieur de la TV en direct, pas comme destination à part. Syntonisez une chaîne, ouvrez la couche des programmes, et les gâchettes font défiler un jour à la fois.
L’entrée Guide TV autonome dans la navigation de la console est un espace réservé. L’ouvrir et n’y rien trouver ne dit rien sur vos données de guide. Cela piège les gens assez souvent pour être la première chose à écarter.
Cause 1 : le fichier n’est pas arrivé
Vos appareils téléchargent les fichiers de guide directement. Nos serveurs ne les récupèrent jamais pour vous, ce qui est une règle délibérée plutôt qu’une limitation, et cela a une conséquence diagnostique : un guide qui fonctionne sur une machine et pas sur une autre est un problème de réseau local, pas un problème de compte.
Testez-le en ouvrant l’URL du guide dans un navigateur sur la machine qui échoue. Si le fichier s’y télécharge, l’application peut aussi l’atteindre. Sinon, le problème est en dehors de l’application.
Vérifiez aussi la forme du conteneur. 5 sont acceptées :
.xml .xmltv .gz .zip .xz
Une URL qui répond par une page d’erreur HTML échoue d’une manière qui ressemble à un guide vide.
Cause 2 : le fichier est arrivé et n’a pas pu être lu
Moins fréquent qu’autrefois, et bon à connaître parce que l’échec est spectaculaire.
Un jeu de 51 vrais fichiers de guide a révélé 3 défauts distincts. Je ne m’attendais pas à ce qu’un seul octet fasse tomber le guide entier d’un fournisseur, et chacun des 3 en était capable. Une esperluette non échappée dans un titre de programme. Un fichier déclarant UTF-8 dans son en-tête tout en portant des octets Latin-1 dans son corps. Un caractère de contrôle égaré dans une description.
Les 3 sont maintenant réparés plutôt que fatals, et les réparations sont comptées, donc un fichier qui a eu besoin d’être rafistolé le dit au lieu de fonctionner en silence. Sur une version récente, cette cause est improbable.
Une forme reste à vérifier : un guide compressé tronqué en transit se décompresse partiellement et vous donne la moitié d’un guide, ce qui se lit comme « certaines chaînes ont des données et d’autres non ». Cela a son propre article : un guide qui s’arrête à mi-chemin.
Cause 3 : rien n’a correspondu
C’est la réponse la plupart du temps, et ce n’est un défaut d’aucun des deux fichiers.
Un guide est joint à votre liste de chaînes par identifiant. Votre playlist dit qu’une chaîne est tvg-id="bbc1.uk", et votre fichier de guide doit contenir une chaîne dont l’identifiant est exactement celui-là. Si la playlist de votre fournisseur utilise une convention et votre guide une autre, la jointure ne produit rien, alors que les deux fichiers sont individuellement parfaits.
playlist #EXTINF:-1 tvg-id="bbc1.uk",BBC One HD
guide <channel id="BBCOne.uk"> -> no match, no schedule
guide <channel id="bbc1.uk"> -> match
Les symptômes qui pointent ici : les chaînes se lisent bien, le guide est vierge pour toutes ou pour un groupe, et le fichier de guide est manifestement volumineux quand vous le téléchargez. Cette combinaison est un problème de correspondance à chaque fois.
Deux correctifs. Si votre fournisseur publie son propre XMLTV, utilisez-le : ses identifiants correspondent à sa playlist par construction. Sinon, utilisez le remplacement par chaîne, accessible via Corriger le guide dans l’en-tête d’aperçu de la TV en direct, et pointez une chaîne vers la bonne entrée de guide à la main. Ce remplacement existe parce que la correspondance automatique ne peut pas toujours gagner. Une correction est stockée sur la chaîne plutôt que sur la source et synchronisée avec votre compte, donc corriger une chaîne une fois la corrige sur chaque appareil et pour chaque fournisseur qui la propose.
Pendant que vous y êtes
Deux états de configuration produisent un guide lent plutôt qu’absent.
Le mode global accepte jusqu’à 15 URL. Chaque grand guide national que vous ajoutez est un fichier que votre appareil télécharge et analyse avant que le guide soit complet, donc plusieurs d’entre eux donnent un guide qui se remplit progressivement. Le mode par pays avertit au-delà de 5 pays pour la même raison.
Et un premier lancement avec une grande source prend du temps : environ 77 842 titres répartis sur quelque 444 catégories, c’est beaucoup à indexer. Pendant les premières minutes, un guide encore en cours de remplissage est identique à un guide vide.
Pour ce que le fichier est censé contenir, ce qu’est XMLTV. Si le guide est là mais que les horaires sont faux, c’est un problème différent avec une cause précise : pourquoi les horaires du guide sont décalés.
Ce que cet article a mesuré21 affirmations, chacune avec les preuves derrière elles
| Réclamation | Preuve | Compté |
|---|---|---|
| Les fichiers de guide sont téléchargés par vos appareils et non par nos serveurs, donc un guide qui fonctionne sur une machine et pas sur une autre est un problème de téléchargement local et non un problème de compte. | n = 1 | 31 août 2026 |
| Un remplacement manuel de correspondance de guide par chaîne est livré, accessible via Corriger le guide dans l’en-tête d’aperçu de la TV en direct, pour le cas où la correspondance automatique ne parvient pas à joindre une chaîne à sa grille. | n = 1 | 13 août 2026 |
| Trois défauts d’analyseur ont été trouvés par un jeu de 51 fichiers de test, chacun capable de perdre le guide entier d’un fournisseur sur un seul octet : une esperluette non échappée, un UTF-8 déclaré sur des octets Latin-1, et un caractère de contrôle égaré. | n = 51 | 16 août 2026 |
| Le mode global accepte au plus 15 URL de guide et le mode par pays avertit au-delà de 5 pays activés, donc un guide surconfiguré est un état réel et atteignable. | n = 1 | 31 août 2026 |
| Cinq formes de conteneur sont acceptées : .xml, .xmltv, .gz, .zip et .xz. Tout le reste n’est pas un fichier de guide pris en charge. | n = 5 | 31 août 2026 |
| Sur la console, la grille apparaît à l’intérieur de la TV en direct plutôt que comme destination à part, donc un utilisateur de console qui consulte l’entrée Guide TV autonome trouve un espace réservé et peut en conclure que le guide manque. | n = 1 | 31 août 2026 |
| Le conteneur est identifié à partir des premiers octets du fichier, donc une URL dont le nom promet une compression mais qui sert du XML brut fonctionne quand même, et une URL qui sert une page d’erreur est rejetée comme n’étant pas du XML plutôt que comme un échec de décompression. | n = 4 | 1 sept. 2026 |
| Huit types d’échec distincts sont signalés plutôt qu’une seule erreur, ce qui permet d’attribuer un guide vide : pas d’URL, pas du XML, réseau, limite de taille, limite de décompression, limite de sécurité, annulé ou inconnu. | n = 8 | 1 sept. 2026 |
| Une analyse rapporte les nombres d’entrées conservées et abandonnées à côté des tailles compressée et décompressée, donc un guide arrivé tronqué a un aspect différent d’un guide dont les entrées tombaient hors de la fenêtre de rétention. | n = 7 | 1 sept. 2026 |
| Un guide qui publie plus loin dans le futur que ce que le client conserve n’est pas en échec : les programmes au-delà de 8 jours en avant et 1 en arrière sont abandonnés pendant l’analyse par défaut. | n = 1 | 1 sept. 2026 |
| L’analyseur traite un guide comme une entrée non fiable : il ignore les définitions de type de document, utilise un résolveur externe nul et plafonne l’expansion d’entités à zéro caractère. | n = 3 | 1 sept. 2026 |
| Un guide compressé est borné à 2 GiB de sortie et à 400 fois sa taille compressée, donc une bombe de compression s’arrête tôt plutôt que de remplir un disque. | n = 2 | 1 sept. 2026 |
| Onze limites structurelles bornent une analyse, dont un plafond de titre à 1 KB qui existe parce qu’un programme peut légitimement porter un titre par langue et que quarante d’entre eux seraient sinon concaténés en un seul. | n = 11 | 1 sept. 2026 |
| Une correspondance de guide manuelle est stockée au niveau du profil, sur une clé de chaîne indépendante de la source, donc corriger une chaîne couvre chaque fournisseur qui la propose. | n = 1 | 1 sept. 2026 |
| Les corrections de guide sont un état de compte synchronisé plutôt qu’une réparation locale, donc corriger une chaîne sur un appareil la corrige partout. | n = 1 | 1 sept. 2026 |
| Un horodatage sans fuseau horaire est défini plutôt qu’ambigu : le format dit que l’UTC est supposé. Les guides qui l’omettent publient de toute façon généralement l’heure locale, ce qui est un problème distinct de celui d’un guide vide.xmltv.dtd, date field documentation: "You can also append a timezone to the end; if no explicit timezone is given, UTC is assumed." | Spécification | Sans objet |
| Il existe exactement deux modes de guide, global et par pays, nommés comme des constantes plutôt qu’en texte libre, donc une mauvaise configuration ne peut pas produire un troisième état. | n = 2 | 1 sept. 2026 |
| Sur la console, la destination de guide autonome affiche un espace réservé, donc n’y rien trouver ne dit rien sur vos données de guide. | n = 1 | 1 sept. 2026 |
| Sous pression mémoire sur la console, le cache du guide est parmi les premières choses élaguées, ce qui peut faire paraître un guide rempli plus maigre après une longue session. | n = 1 | 1 sept. 2026 |
| Les lignes sont écrites par lots de 512 chaînes et 2 000 programmes, ce qui relève du débit et non de la sécurité : un guide national écrit ligne par ligne est un guide qui semble figé. | n = 2 | 1 sept. 2026 |
| Une source de production de notre échantillon portait environ 77 842 titres répartis sur quelque 444 catégories, donc un guide encore en cours de remplissage est un état normal au premier lancement. | n = 1 | 31 août 2026 |