EPG signifie Electronic Program Guide, guide électronique des programmes : la grille de ce qui passe sur chaque chaîne, maintenant et juste après. C'est le bandeau en bas des box câble (« 19:30 Les Simpson / 20:00 Family Guy »), et c'est ce qui fait qu'une liste de chaînes ressemble à de la télévision plutôt qu'à un mur de flux sans étiquette.

En IPTV, l'EPG ne fait pas partie de la liste de chaînes. C'est un fichier séparé. Ce seul fait explique environ 90 % de la confusion dans laquelle tombent les débutants.

Ce que contient un fichier EPG

Les données EPG sont livrées en XMLTV — un format XML utilisé en pratique par tous les lecteurs IPTV. Un petit extrait ressemble à ça :

<channel id="bbc1.uk">
  <display-name>BBC One HD</display-name>
</channel>

<programme start="20260512183000 +0000" stop="20260512190000 +0000" channel="bbc1.uk">
  <title>BBC News at Six</title>
  <desc>The day's national and international news.</desc>
</programme>

Deux types d'entrées : les chaînes (juste un ID et un nom) et les programmes (un ID, un horaire de début et de fin, un titre, une description, parfois une catégorie et un numéro d'épisode). Un vrai fichier EPG en contient des dizaines de milliers — une semaine ou deux de programmation pour chaque chaîne portée par un fournisseur.

Comment l'EPG s'attache à la liste de chaînes

Chaque <programme> a un attribut channel="bbc1.uk". Chaque ligne #EXTINF du M3U a un tvg-id="bbc1.uk". Le lecteur les fait correspondre par égalité de chaîne. Si les IDs correspondent, tu vois les programmes. Sinon, la chaîne se lit très bien mais tu vois « pas d'information ».

C'est le bug le plus courant dans les setups IPTV. Le M3U dit tvg-id="bbc.one.hd" ; l'EPG dit <channel id="bbc1.uk"> ; le lecteur ne peut pas savoir qu'il s'agit de la même chaîne.

Un écran d'accueil de téléphone affichant des rangées de chaînes, chacune annotée avec le programme en cours.

Quand les IDs correspondent, chaque ligne de chaîne montre ce qui passe en ce moment.

D'où vient vraiment l'EPG

La plupart des fournisseurs IPTV livrent deux choses : une URL M3U pour les chaînes, et une seconde URL pour le XMLTV. Pour les fournisseurs Xtream Codes, le XMLTV est presque toujours à :

http://<server>/xmltv.php?username=<u>&password=<p>

Pour les fournisseurs non-Xtream, ça peut être n'importe où — ils te l'enverront par mail ou te diront d'aller chercher un fichier statique. Le format est le même dans les deux cas.

Certains lecteurs IPTV intègrent aussi des sources EPG communautaires — des fichiers XMLTV publics et gratuits maintenus par des bénévoles pour des milliers de chaînes. Le projet EPG d'iptv-org est le plus connu. Ils existent parce que les EPG fournis par les opérateurs sont notoirement peu fiables, et un guide communautaire bien maintenu est souvent plus précis que celui pour lequel tu paies.

Pourquoi ton EPG est peut-être vide

Dans l'ordre approximatif de fréquence :

  1. Tu n'as pas ajouté de source EPG. Courant. Importer le M3U ne tire pas automatiquement le guide ; il faut ajouter l'URL XMLTV séparément.
  2. Les tvg-id et channel id ne correspondent pas. Les chaînes se lisent, le guide est chargé, mais le lecteur ne peut pas dire quel programme va avec quelle chaîne. Ouvre le fichier EPG dans un navigateur et regarde quels IDs il utilise vraiment.
  3. Le fuseau horaire est décalé de plusieurs heures. Les programmes sont listés correctement mais apparaissent au mauvais moment, si bien que l'entrée « en cours » ne semble jamais être la bonne. L'attribut start du XMLTV contient l'info de fuseau ; certains fournisseurs la retirent ou la cassent. Voir notre guide pour corriger les fuseaux horaires de l'EPG.
  4. Le fichier XMLTV est trop gros à analyser. Certains fournisseurs Xtream livrent des fichiers XMLTV de 200 Mo contenant des mois de programmation. Certains lecteurs vont expirer. Le validateur EPG de ce site te dit si le fichier s'analyse proprement.
  5. L'URL XMLTV renvoie du HTML. Même mode d'échec que l'équivalent M3U — ton fournisseur a besoin d'un cookie de session, ou a limité ton IP. Essaie un autre réseau.

Il y a un diagnostic pas à pas plus complet dans le guide de dépannage EPG pour Android TV.

Ce qu'apporte un bon EPG

Trois bénéfices concrets qui justifient la mise en place :

  • Overlay « en cours » / « à suivre ». Appuyer en haut sur la télécommande pendant qu'une chaîne joue te montre ce qui passe et ce qui suit. C'est la fonctionnalité la plus utilisée dans toute interface TV.
  • Recherche dans la grille. « À quelle heure est le foot ? » devient une réponse en une seconde au lieu de dix minutes de zapping.
  • Rappels et visionnage programmé. Beaucoup de lecteurs (Klipa inclus) permettent de poser des rappels sur des entrées EPG.

Si tu regardes seulement une poignée de chaînes et que tu connais déjà leur grille, l'EPG est un bonus. Si tu zappes dans une liste de 200 chaînes sans savoir ce qui passe sur chacune, c'est l'EPG qui rend l'IPTV utilisable.

Ce qu'un EPG n'est pas

Ce n'est pas une grille d'enregistrement (même si certains lecteurs PVR l'utilisent comme telle). Ce n'est pas une partie de la liste de chaînes. Ce n'est ni signé ni authentifié — n'importe qui peut fournir des données EPG pour n'importe quelle chaîne, ce qui explique l'existence des projets communautaires.

C'est juste une liste « cette chaîne diffusera ce programme à cette heure ». La partie difficile, c'est de faire correspondre les IDs.