﻿﻿{"id":2945,"date":"2026-05-07T10:30:00","date_gmt":"2026-05-07T08:30:00","guid":{"rendered":"https:\/\/elearningsamba.com\/index.php\/gridtv-le-guide-tv-open-source-pour-votre-setup-iptv\/"},"modified":"2026-05-07T10:30:00","modified_gmt":"2026-05-07T08:30:00","slug":"gridtv-le-guide-tv-open-source-pour-votre-setup-iptv","status":"publish","type":"page","link":"https:\/\/elearningsamba.com\/index.php\/gridtv-le-guide-tv-open-source-pour-votre-setup-iptv\/","title":{"rendered":"GridTV, le guide TV open source pour votre setup IPTV"},"content":{"rendered":"<p>Bon, maintenant que vous avez vos cha\u00eenes IPTV qui tournent via<br \/>\n<a href=\"https:\/\/korben.info\/tunarr-chaines-tv-plex-jellyfin.html\">Tunarr<\/a><br \/>\nou xTeVe, votre flux XMLTV est super propre. Mais il vous manque un seul truc : Un guide de programme potable.<\/p>\n<p>H\u00e9 bien<br \/>\n<a href=\"https:\/\/github.com\/Johnnybegood90\/GridTV\/\">GridTV<\/a><br \/>\nd\u00e9velopp\u00e9 par l&#8217;ami JohnnyBeGood est l\u00e0 pour \u00e7a !<\/p>\n<p>GridTV c&#8217;est une interface web en PHP\/JS\/CSS qui transforme toute source XMLTV compatible en guide TV fa\u00e7on grille horizontale, avec l&#8217;indicateur &#8220;maintenant&#8221; visible en permanence, un barre de progression du programme en cours, et les \u00e9missions pass\u00e9es qui se retrouvent automatiquement gris\u00e9es. C&#8217;est exactement ce \u00e0 quoi ressemble le guide TV de votre box op\u00e9rateur, mais en mieux, et pour votre propre contenu !<\/p>\n<p>Pour le d\u00e9ploiement, Docker est le chemin recommand\u00e9 plut\u00f4t que de tout configurer \u00e0 la main : <code>git clone<\/code>, <code>cd GridTV<\/code>, <code>docker compose up -d<\/code>, et hop, vous ouvrez <code>localhost:8080<\/code>.<\/p>\n<p>\n<img decoding=\"async\" src=\"https:\/\/korben.info\/cdn-cgi\/image\/width=1200,fit=scale-down,quality=90,f=avif\/gridtv-le-guide-tv-open-source-pour-votre-setup-iptv\/gridtv-le-guide-tv-open-source-pour-votre-setup-iptv-2.png\" alt=\"\" loading=\"lazy\">\n<\/p>\n<p>Un assistant de setup vous demandera alors votre source EPG obligatoire et une playlist M3U si notamment vous voulez utiliser le player int\u00e9gr\u00e9, et une fois valid\u00e9, vous retombez directement sur la grille.<\/p>\n<p>\u00c7a se met en place en moins de 5 min mais si vous pr\u00e9f\u00e9rez installer sans Docker, ou plut\u00f4t sans la couche conteneur, il y a \u00e9galement sur le Github des exemples de config pour Apache et Nginx dans la doc. Caddy fonctionnera aussi et la doc concernant Traefik, c&#8217;est pour le cas o\u00f9 GridTV tourne en Docker mais derri\u00e8re un reverse proxy.<\/p>\n<p>C\u00f4t\u00e9 fonctionnalit\u00e9s, le player HLS s&#8217;ouvre en PiP (Picture in Picture) dans un coin en cliquant sur une cha\u00eene et le multi-EPG vous permettra de configurer plusieurs sources avec un petit switch. GridTV propose aussi des rappels de programme via notifications navigateur, 15 minutes avant la diffusion. Mais pour en profiter, l&#8217;onglet du browser doit rester ouvert et les notifs autoris\u00e9es.<\/p>\n<p>Et il y a aussi possibilit\u00e9 de g\u00e9n\u00e9rer un export PDF\/PNG du guide sur 24h. C&#8217;est pas indispensable mais \u00e7a permet pour ceux qui veulent d&#8217;imprimer le programme de la soir\u00e9e.<\/p>\n<p>Chaque visiteur de l&#8217;instance peut aussi utiliser \/ param\u00e9trer ses propres URLs XMLTV\/M3U, car rien n&#8217;est stock\u00e9 c\u00f4t\u00e9 serveur. H\u00e9 oui, tout passe par le localStorage du navigateur donc vous pouvez partager votre instance avec autant de monde que vous voulez, \u00e7a n&#8217;a pas d&#8217;impact.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/korben.info\/cdn-cgi\/image\/width=1200,fit=scale-down,quality=90,f=avif\/gridtv-le-guide-tv-open-source-pour-votre-setup-iptv\/gridtv-le-guide-tv-open-source-pour-votre-setup-iptv-3.png\" alt=\"\" loading=\"lazy\"><\/p>\n<p><em>La version Steampunk<\/em><\/p>\n<p>Et il y a m\u00eame des th\u00e8mes genre cyberpunk, steampunk, magazine ou le th\u00e8me par d\u00e9faut. Et la page de monitoring admin expose \u00e9galement une sonde accessible via un endpoint compatible Uptime Kuma qui renvoie le code HTTP 200 si tout va bien. Sinon, ce sera du code 503. Bref, \u00e7a vous connaissez&#8230;<\/p>\n<p>Bref, l&#8217;outil est jeune mais bien construit et une d\u00e9mo live tourne ici<br \/>\n<a href=\"https:\/\/guide.demo.johnnybegood.fr\/\">guide.demo.johnnybegood.fr<\/a><br \/>\n. A suvire donc&#8230;.<\/p>\n<p>Et si vous cherchez juste des<br \/>\n<a href=\"https:\/\/korben.info\/chaines-iptv-gratuites.html\">listes de cha\u00eenes IPTV gratuites<\/a><br \/>\n, c&#8217;est par l\u00e0 !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bon, maintenant que vous avez vos cha\u00eenes IPTV qui tournent via Tunarr ou xTeVe, votre flux XMLTV est super propre. Mais il vous manque un seul truc : Un guide de programme potable. H\u00e9 bien GridTV d\u00e9velopp\u00e9 par l&#8217;ami JohnnyBeGood est l\u00e0 pour \u00e7a ! GridTV c&#8217;est une interface web en PHP\/JS\/CSS qui transforme toute source XMLTV compatible en guide TV fa\u00e7on grille horizontale, avec l&#8217;indicateur &#8220;maintenant&#8221; visible en permanence, un barre de progression du programme en cours, et les \u00e9missions pass\u00e9es qui se retrouvent automatiquement gris\u00e9es. C&#8217;est exactement ce \u00e0 quoi ressemble le guide TV de votre box op\u00e9rateur, mais en mieux, et pour votre propre contenu ! Pour le d\u00e9ploiement, Docker est le chemin recommand\u00e9 plut\u00f4t que de tout configurer \u00e0 la main : git clone, cd GridTV, docker compose up -d, et hop, vous ouvrez localhost:8080. Un assistant de setup vous demandera alors votre source EPG obligatoire et une playlist M3U si notamment vous voulez utiliser le player int\u00e9gr\u00e9, et une fois valid\u00e9, vous retombez directement sur la grille. \u00c7a se met en place en moins de 5 min mais si vous pr\u00e9f\u00e9rez installer sans Docker, ou plut\u00f4t sans la couche conteneur, il y a \u00e9galement sur le Github des exemples de config pour Apache et Nginx dans la doc. Caddy fonctionnera aussi et la doc concernant Traefik, c&#8217;est pour le cas o\u00f9 GridTV tourne en Docker mais derri\u00e8re un reverse proxy. C\u00f4t\u00e9 fonctionnalit\u00e9s, le player HLS s&#8217;ouvre en PiP (Picture in Picture) dans un coin en cliquant sur une cha\u00eene et le multi-EPG vous permettra de configurer plusieurs sources avec un petit switch. GridTV propose aussi des rappels de programme via notifications navigateur, 15 minutes avant la diffusion. Mais pour en profiter, l&#8217;onglet du browser doit rester ouvert et les notifs autoris\u00e9es. Et il y a aussi possibilit\u00e9 de g\u00e9n\u00e9rer un export PDF\/PNG du guide sur 24h. C&#8217;est pas indispensable mais \u00e7a permet pour ceux qui veulent d&#8217;imprimer le programme de la soir\u00e9e. Chaque visiteur de l&#8217;instance peut aussi utiliser \/ param\u00e9trer ses propres URLs XMLTV\/M3U, car rien n&#8217;est stock\u00e9 c\u00f4t\u00e9 serveur. H\u00e9 oui, tout passe par le localStorage du navigateur donc vous pouvez partager votre instance avec autant de monde que vous voulez, \u00e7a n&#8217;a pas d&#8217;impact. La version Steampunk Et il y a m\u00eame des th\u00e8mes genre cyberpunk, steampunk, magazine ou le th\u00e8me par d\u00e9faut. Et la page de monitoring admin expose \u00e9galement une sonde accessible via un endpoint compatible Uptime Kuma qui renvoie le code HTTP 200 si tout va bien. Sinon, ce sera du code 503. Bref, \u00e7a vous connaissez&#8230; Bref, l&#8217;outil est jeune mais bien construit et une d\u00e9mo live tourne ici guide.demo.johnnybegood.fr . A suvire donc&#8230;. Et si vous cherchez juste des listes de cha\u00eenes IPTV gratuites , c&#8217;est par l\u00e0 !<\/p>\n","protected":false},"author":1,"featured_media":2946,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"give_campaign_id":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_kadence_starter_templates_imported_post":false,"footnotes":""},"class_list":["post-2945","page","type-page","status-publish","has-post-thumbnail","hentry"],"campaignId":"","_links":{"self":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/2945","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/comments?post=2945"}],"version-history":[{"count":0,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/2945\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media\/2946"}],"wp:attachment":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media?parent=2945"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}