Aller au contenu principal
MonIPTVGuideMonIPTVGuide

Guide technologie — mis à jour en 2026

XMLTV : le format des données EPG expliqué, du tvg-id au dépannage

Derrière chaque grille de programmes IPTV se cache un fichier XMLTV : la liste des chaînes et de leurs émissions, générée par votre service et croisée avec votre playlist. Ce guide explique ce que contient ce fichier, comment la correspondance tvg-id fonctionne, quand préférer l’URL au fichier — et comment réparer un guide vide ou décalé.

Illustration de couverture du guide du format XMLTV
Sommaire du guide

XMLTV est le format standard des données de programmes TV en IPTV : un fichier XML listant chaînes et émissions, remis sous forme d’URL par le service, que l’application télécharge puis croise avec la playlist grâce aux identifiants tvg-id.

Qu’est-ce que XMLTV ?

XMLTV est le format standard des données de programmes TV : un fichier XML qui décrit, chaîne par chaîne, ce qui passe, quand, avec titre et résumé. C’est lui qui alimente le guide des programmes (EPG) de votre application IPTV — la matière première, quand l’EPG est le résultat affiché à l’écran.

Le nom vient d’un projet open source né à la fin des années 1990 pour collecter les grilles TV ; le format a survécu à tout parce qu’il est simple, ouvert et lisible par n’importe quel logiciel — la même recette qui a fait le succès de la liste M3U côté playlists. En IPTV, votre service génère ce fichier et vous en remet l’URL — souvent une adresse en xmltv.php, à côté des identifiants Xtream Codes — que votre application télécharge et croise avec vos chaînes. Il ne décrit que le direct : les fiches de la VOD sont un autre jeu de métadonnées, géré à part. C’est la brique la plus technique du hub Technologies, et celle qui explique le plus de pannes de guide.

Comment fonctionne un fichier XMLTV

Un fichier XMLTV se lit en deux temps : d’abord la liste des chaînes, chacune avec son identifiant ; puis la liste des émissions, chacune rattachée à un identifiant de chaîne. Votre application télécharge le fichier, le croise avec votre playlist, et construit la grille — quatre éléments à connaître :

Les quatre éléments d’un fichier XMLTV
ÉlémentCe qu’il contientConséquence pour vous
La liste des chaînesChaque canal est déclaré avec un identifiant unique (id)C’est à cet id que votre playlist devra correspondre
Les émissionsChaque programme référence son canal, ses horaires de début et de fin, son titre, son résuméLa matière de la grille : plus c’est complet, plus le guide est riche
Les horairesChaque horodatage embarque son fuseau (20260706200000 +0200)Un appareil mal réglé décale toute la grille
La livraisonLe fichier est servi par une URL, souvent compressée (.xml.gz)L’application télécharge, décompresse et indexe — automatiquement

Comment le fichier se met-il à jour ? Deux horloges se cumulent : côté service, le fichier est régénéré une à plusieurs fois par jour ; côté lecteur, le téléchargement se fait à l’ouverture ou à intervalle réglé — 12 à 24 heures par défaut dans TiviMate comme dans Smarters. Un guide complet pèse lourd — d’où la compression .gz, que les applications gèrent seules ; IBO Player, lui, centralise cette URL sur son portail web. Ces données font vivre tout l’étage au-dessus : la grille EPG, le catch-up qui y navigue — et c’est aussi pourquoi VLC, qui ignore le format, n’affiche jamais de programme.

XMLTV ou EPG : la source et le résultat

Les deux mots s’échangent souvent, et la nuance aide pourtant à dépanner : l’EPG est ce que vous voyez — la grille navigable —, XMLTV est ce qui circule — le fichier de données. Quand « l’EPG est vide », la panne est presque toujours côté XMLTV : URL absente, fichier lacunaire ou correspondance ratée.

XMLTV comparé à l’EPG
 XMLTVEPG
NatureUn format de fichier (la source)Le guide affiché (le résultat)
Où ça vitSur le serveur du service, derrière une URLDans votre application, à l’écran
Qui s’en occupeLe service, qui génère et héberge le fichierLe lecteur, qui télécharge et affiche
Quand ça casseFichier lacunaire, identifiants divergentsGrille vide, décalée ou incomplète
Votre levierChoisir un service qui soigne sa sourceRégler URL, fuseau et rafraîchissement

Cette distinction éclaire aussi le catch-up : le rattrapage s’appuie sur la grille pour retrouver l’émission d’hier — donc, indirectement, sur la qualité du fichier XMLTV. Les fiches de la VOD, elles, voyagent à part. Une source soignée — grilles en français comprises, le point sensible des chaînes du guide du meilleur IPTV France — porte tout l’étage au-dessus : c’est le fil rouge du hub Technologies.

Pourquoi XMLTV est séparé de la M3U

Les deux fichiers se partagent le travail : la liste M3U transporte les flux — où trouver chaque chaîne —, le fichier XMLTV transporte les programmes — ce qui y passe. Cette séparation n’est pas un défaut de conception : les deux données n’ont ni le même rythme (une playlist change rarement, une grille change chaque jour), ni le même poids, ni la même source. D’où les deux URL distinctes que remet votre service, à côté des identifiants Xtream Codes — et pourquoi même VLC, qui lit n’importe quelle playlist, reste sans grille : il ne parle pas XMLTV.

C’est aussi ce qui explique le réglage oublié le plus fréquent de l’IPTV : une M3U branchée sans son URL XMLTV donne des chaînes qui fonctionnent… et une grille désespérément vide. Les deux URL se saisissent au même endroit, dans les réglages de playlist de votre lecteur — la marche à suivre est dans nos guides Smarters et TiviMate, et sur le portail web pour IBO Player — comme pour tout lecteur du hub Applications.

XMLTV ou Xtream Codes : deux chemins vers la même grille

En connexion Xtream Codes, vous n’avez généralement pas besoin d’URL XMLTV : l’API livre les programmes par la même connexion que les chaînes, déjà associés aux bons canaux. Le fichier XMLTV reste le chemin des configurations M3U — et une roue de secours si le guide intégré d’un service se révèle lacunaire. L’API livre d’ailleurs tout par la même connexion : chaînes, VOD, grilles et catch-up :

Guide par XMLTV contre guide par Xtream Codes
 Via XMLTVVia Xtream Codes
Livraison du guideURL XMLTV séparée, à saisirIntégrée à la connexion, automatique
Correspondance chaînes/programmesPar tvg-id — votre playlist doit être alignéeFaite côté serveur, transparente
Réglage utilisateurURL du guide + rafraîchissementAucun, le plus souvent
ContrôleTotal — vous choisissez la sourceLimité — vous dépendez du service
Usage typiqueConfigurations M3U, lecteurs avancésLe confort par défaut du quotidien

Pourquoi XMLTV repose sur le tvg-id

Le fichier XMLTV et votre playlist sont deux documents indépendants — il faut bien les relier. C’est le rôle du tvg-id : chaque chaîne de la M3U porte cet attribut, et l’application cherche dans le fichier XMLTV le canal dont l’identifiant correspond exactement. Correspondance trouvée : la chaîne a son programme. Au moindre écart — une majuscule, un suffixe, un point — la chaîne fonctionne mais reste muette dans la grille EPG. En connexion Xtream Codes, cette correspondance est faite côté serveur — le problème disparaît.

Pourquoi les chaînes ne correspondent-elles pas toujours ? Parce qu’il n’existe aucun registre universel des identifiants : chaque source nomme ses canaux à sa façon. C’est la raison de fond pour laquelle brancher une source XMLTV publique sur la playlist d’un service échoue presque toujours — et pourquoi la seule combinaison fiable est la M3U et le XMLTV du même fournisseur, générés depuis la même base. Un critère de sérieux de plus, dans la droite ligne du guide du meilleur abonnement IPTV.

URL XMLTV ou fichier téléchargé ?

Comme pour la playlist M3U, deux formes existent — et le choix est encore plus tranché : une grille EPG se périme en heures, pas en semaines. En connexion Xtream Codes, la question ne se pose pas — rien à gérer ; en M3U, l’URL, que l’application recharge d’elle-même, est la seule forme qui suit le rythme :

URL XMLTV contre fichier XMLTV téléchargé
 URL XMLTVFichier téléchargé
FraîcheurRechargée automatiquement par l’applicationFigée au jour du téléchargement
ManipulationUne URL à coller, une foisFichier à télécharger et transférer
PoidsCompression .gz gérée par le lecteurFichier volumineux à déplacer soi-même
Cas d’usageL’installation normale, sur tous les écransTest ponctuel, appareil sans accès direct
Risque principalURL expirée avec l’abonnementGrille qui affiche le passé sans prévenir

Le geste est identique sur tous les écrans — Smart TV, Fire TV Stick, Android TV — puisque tout se joue dans le lecteur ; l’URL longue se colle plus confortablement depuis un ordinateur, ou depuis le portail d’ IBO Player. Les guides du hub Appareils détaillent chaque écran, et Smarters mémorise l’URL par playlist. L’archive du catch-up profite directement d’une grille toujours fraîche — le catalogue VOD, lui, ne dépend pas du guide.

Les problèmes XMLTV courants et leurs solutions

Pourquoi l’EPG reste-t-il vide ? Toujours l’une de ces trois familles : la source n’arrive pas (URL absente, expirée, jamais rechargée), la correspondance échoue (identifiants divergents), ou le contenu manque côté service (chaînes non couvertes). Et n’oubliez pas la solution radicale : passer la playlist en connexion Xtream Codes quand le service la propose — le guide arrive aligné, et le catch-up avec. Le tableau trie les symptômes :

Problèmes XMLTV courants et leurs solutions
ProblèmeCause probableSolution
Grille entièrement videURL XMLTV absente ou fausse, ou guide jamais téléchargéCollez l’URL exacte remise par le service, puis forcez la mise à jour du guide
Certaines chaînes sans programmetvg-id de la playlist et id du fichier XMLTV qui ne correspondent pasUtilisez la source XMLTV du même service que la playlist ; signalez les chaînes muettes au support
Horaires décalés d’une ou deux heuresFuseau horaire — appareil mal réglé ou décalage forcé dans le lecteurVérifiez l’heure système de l’appareil, puis le réglage de fuseau EPG de l’application
Grille qui affiche des programmes passésFichier XMLTV téléchargé localement, jamais rafraîchiRepassez à l’URL XMLTV — elle se recharge automatiquement
Programmes associés aux mauvaises chaînesSource XMLTV tierce aux identifiants différents de la playlistRevenez à la source officielle du service — les grilles publiques ne s’alignent pas
Téléchargement du guide très lent ou en échecFichier volumineux sur un appareil modeste, ou URL non compresséePréférez l’URL .xml.gz si le service la propose, réduisez la profondeur de grille conservée

Pour isoler la cause, changez un maillon à la fois : la même URL XMLTV dans TiviMate puis Smarters (ou sur le portail d’ IBO Player, ou tout autre lecteur du hub Applications), puis sur un second écran — Android TV, Fire TV Stick ou Smart TV. Les flux, eux, se vérifient dans VLC — qui lit la playlist M3U mais ignore le XMLTV : chaînes visibles dans VLC et grille vide ailleurs signent un problème de guide, pas de flux — les jaquettes de la VOD, autre jeu de métadonnées, ne sont pas concernées. Si la source elle-même est lacunaire, la cause est côté service — le point que le guide d’achat fait vérifier avant de payer, sans surcoût par rapport aux fourchettes du guide des prix, et un poste où les services réellement premium se distinguent durablement — un enjeu qui compte double sur un abonnement 12 mois.

FAQ — XMLTV et données EPG

tvg-id, URL ou fichier, compression et horaires décalés : les réponses aux questions les plus posées sur le format XMLTV.

XMLTV et EPG, est-ce la même chose ?

Presque, mais pas tout à fait : l’EPG est le concept — la grille des programmes affichée par votre application — et XMLTV est le format de fichier qui transporte ces données. Dire « mon XMLTV » ou « mon EPG » revient souvent au même dans la pratique, mais le premier désigne la source, le second le résultat à l’écran.

À quoi ressemble un fichier XMLTV, concrètement ?

À un long document texte structuré en deux parties : la liste des chaînes, chacune avec son identifiant, puis la liste des émissions — chaîne, horaires de début et de fin, titre, résumé, catégorie. Votre application le télécharge et le transforme en grille navigable ; vous n’avez jamais à l’ouvrir vous-même.

Qu’est-ce que le tvg-id et pourquoi est-il si important ?

C’est l’identifiant qui relie chaque chaîne de votre playlist M3U au bon canal du fichier XMLTV. Les deux valeurs doivent correspondre exactement : au moindre écart, la chaîne fonctionne mais reste sans programme. C’est la cause numéro un des guides partiellement vides — et la raison de préférer la source XMLTV de votre propre service.

URL XMLTV ou fichier téléchargé : que choisir ?

L’URL, sans hésiter : votre application la recharge automatiquement et la grille reste à jour. Un fichier téléchargé fige les programmes au jour du téléchargement — dans une semaine, votre guide affichera le passé. Le fichier local ne se justifie que pour un test ponctuel ou un appareil sans accès direct à la source.

À quelle fréquence le fichier XMLTV est-il régénéré ?

Côté service, généralement une à plusieurs fois par jour, pour suivre les changements de programmation. Côté application, le téléchargement se fait à l’ouverture ou à intervalle réglé — 12 à 24 heures par défaut. Les deux fréquences se cumulent : une grille parfaitement à jour suppose que la source et le lecteur se rafraîchissent.

Pourquoi mes chaînes ne trouvent-elles pas leur programme ?

Trois causes possibles, dans l’ordre : l’identifiant tvg-id de la playlist ne correspond pas à celui du fichier XMLTV, la chaîne est absente de la source EPG du service, ou le guide n’a simplement pas été rechargé. Commencez par forcer la mise à jour, puis comparez ce qui fonctionne — si seules certaines chaînes échouent, c’est la correspondance.

Peut-on brancher n’importe quelle source XMLTV sur sa playlist ?

Techniquement oui, utilement rarement : chaque source nomme ses canaux à sa façon, et ses identifiants ne correspondent presque jamais aux tvg-id de votre playlist. Résultat classique : programmes décalés ou associés aux mauvaises chaînes. La source alignée est celle de votre service — demandez-la plutôt que de bricoler.

Pourquoi le fichier XMLTV est-il parfois compressé (.gz) ?

Parce qu’un guide complet pèse lourd — des dizaines, parfois des centaines de mégaoctets pour des milliers de chaînes sur plusieurs jours. La compression réduit drastiquement le téléchargement, et les applications sérieuses décompressent seules : une URL en .xml.gz se branche exactement comme une URL en .xml.

Faut-il un fichier XMLTV avec une connexion Xtream Codes ?

Généralement non : l’API Xtream Codes livre les données de programmes par la même connexion que les chaînes, déjà associées aux bons canaux — c’est tout son confort. L’URL XMLTV séparée sert surtout aux configurations M3U, ou en secours si le guide intégré d’un service se révèle lacunaire.

Pourquoi les horaires de mon guide sont-ils décalés ?

Un problème de fuseau horaire, presque toujours : chaque horaire XMLTV embarque son décalage (+0100, +0200…), et l’application le convertit selon le réglage de l’appareil. Un appareil à l’heure d’un autre fuseau, ou une application au fuseau forcé, décale toute la grille d’une ou deux heures. Vérifiez l’heure système d’abord.

XMLTV est-il un logiciel à installer ?

Non — la confusion vient de l’histoire : XMLTV est né comme projet open source d’outils de collecte de programmes, et le nom désigne aujourd’hui surtout le format de fichier lui-même. En IPTV, vous n’installez rien : vous collez une URL XMLTV dans votre application, et c’est elle qui fait le travail.

Conclusion : le fichier invisible qui fait la grille

XMLTV est la plomberie du guide des programmes : un fichier que vous ne verrez jamais, mais dont dépendent la grille, le zapping par programme et le catch-up. Retenez les trois règles : l’URL plutôt que le fichier, la source du même service que la playlist (le tvg-id ne pardonne pas), et le fuseau horaire de l’appareil avant tout autre réglage. En connexion Xtream Codes, tout cela devient transparent ; en M3U, c’est le réglage qui change tout. Les autres briques — de l’EPG à la VOD — vous attendent dans le hub Technologies.

La suite du parcours ne change pas : un service choisi avec la méthode des guides d’achat, validé par un essai gratuit — URL XMLTV comprise —, puis une formule à votre mesure — mensuelle ou annuelle, aux fourchettes du guide des prix — sur la page tarifs, les flux se vérifiant toujours en trente secondes dans VLC. Et pour brancher cette URL au bon endroit sur chaque écran — Smart TV, Fire TV Stick ou Android TV —, les guides du hub Appareils prennent le relais.

Pour approfondir, poursuivez avec ces guides complémentaires ou parcourez l’ensemble de la bibliothèque de guides IPTV.