Realisation d’un serveur EPG

Realisation d’un serveur EPG

6 avril 2020 0 Par Proteus

Vous en avez marre d’avoir votre IPTV sans savoir le programme en cours? Vous ne voulez plus déprendre d’un service tiers pas forcement complet (Kazer …)? Vous détenez un service d’IPTV est vous aimeriez pouvoir proposer ce service a vos abonnées?

Ce tuto est fait pour vous.

Vous allez donc voir comment créer votre propre EPG personnaliser de A à Z avec le logo des chaînes, un scan a heure et jour fixe du site de programme TV choisi. Et vous verrez aussi comment mettre en ligne votre epg.xml sur votre VPS pour le rendre directement accessible.

Votre EPG devra être installé sur un VPS ou sur un Raspberry-pi pour pouvoir être autonome et scanner divers site de programme TV (Télérama, léstar…) à heure et intervalle régulier afin de vous fournir votre epg.xml désirer.

Exemple : vous souhaitez que votre VPS scan le site Télérama chaque dimanche a 2h, avec les chaînes que vous desirez, pour une période d’une semaine. Et qu’ensuite il vous mette votre epg.xml fraîchement scanner en ligne sur votre VPS pour qu’il soit accessible depuis votre logiciel, comme avec l’addon PVR IPTV simple Client disponible gratuitement sur Kodi qui sera pris pour exemple jusqu’à la fin de ce tutoriel. Bien évidement cela fonctionne avec tous les logiciels qui prennent en compte l’EPG en format XML.

L’avantage de tout installer sur un VPS c’est que votre EPG pourra être 100% autonome, vous pourrez le partager a qui vous avez envie et vous ne ressentirez aucun ralentissement de votre connexion internet vue qu’il n’en dépendra pas.

Passons dans le vif du sujet.

Dans ce tutoriel nous allons donc aborder:

1°/ L’achat et connexion au VPS

2°/ Configuration et mise en ligne de l’EPG.

[the_ad id= »410″]

1°/ Achat et connexion au VPS

1-1°/ Achat:

Dans un premier temps vous allez donc devoir louer un VPS, il existe beaucoup de fournisseur avec différents prix, différents services (ovh, pulseheberg, etc…). Pour ce tutoriel je vais vous en montrer un, mais n’importe quel VPS utilisant Debian 8 comme système d’exploitation fera l’affaire.

Vous allez donc vous rendre sur hostsailor.com il propose des VPS vraiment peu chère ( à partir de 1,85€/mois).

Pour la réalisation de votre EPG vous choisirez l’offre de base qui suffira amplement pour un usage privé voir même pour le partage a quelques personnes.

Pour votre confort régler le site en français et en €uro



1/ Choisissez un cycle de facturation : Déterminez pendant combien de temps vous voulez
acquérir votre VPS (1 mois, 3 mois, 6 mois ou bien 12 mois).
2/ Nom de l’hôte, Préfixe NS1, Préfixe NS2 : Ceci n’a aucune coïncidence sur votre VPS.
Entrez ce que vous voulez-t’en que cela fini en .com .fr. Mettez tuto.com, epg.com etc.
3/ Operating System : Choisissez le système d’exploitation, « Debian 8 64 bit ».
Extra IP Address : On ne touche rien.
Location : Vous pouvez choisir entre Pays-Bas ou Roumanie.
Bandwidth : On ne touche rien.
4/ Continuer : Cliquez sur « Continuer » pour vérifier et passer commande.

Complétez les informations demander pour passer au paiement.
1/ Informations personnelles et Adresse de facturation : Remplissez avec vos informations
personnelles, veillez a bien mettre votre adresse email afin de recevoir les informations de
connexion par la suite.
2/ Information additionnelle requise : How Did You Find Us? = Comment nous avez-vous
trouvé?, mettez : hitechland.fr ou google c’est vous qui voyez.
3/ Sécurité du compte : Choisissez un bon mot de passe solide
4/ Détails du paiement : Cliquez sur le mode de paiement de votre choix.
5/ Informations additionnelles : Ne mettez rien ici.
6/ Régler la commande : Cochez sur « J’ai lu et j’accepte les Conditions d’utilisation » et cliquez
sur  » Régler la commande ».

[the_ad id= »410″]

Une fois le paiement validé vous allez être redirigez sur cette page, Cliquez sur « Cliquez ici pour accéder a la section client ».
Une fois dans votre section client vous pourrez cliquer sur « Services » pour pouvoir accéder au panel de votre VPS.
Voilà vous pouvez constater que le paiement a était validé et que votre VPS est Actif.

Maintenant vous allez pouvoir passer a la suite, si votre VPS est en vert et marquer comme Actif vous avez dû recevoir un email avec toutes les données de connexion nécessaire à la suite du tutoriel.

Email reçu après confirmation de paiement

1/ Details  : C’est avec ces informations que vous pourrez vous connecter en SSH (j’y reviendrai par la suite).

2/ Putty : En cliquant sur ce lien vous pourrez télécharger l’application nécessaire a la connexion en SSH (j’y reviendrai par la suite).

3/ Control Panel Access :

https://vps.hostsailor.com C’est ici que vous accéderez a diverses options (redémarrage, éteindre, mais surtout Réinstalle qui vous servira en cas de fausse manip.

Page de connexion au panel
Panel

C’est ici que vous pourrez suivre la consommation de la bande passante, voir la mémoire qu’il vous reste sur votre disque dur, etc.

Vous pourrez aussi en cas de fausse manip redémarrer ou réinstaller votre VPS comme si il venait de vous êtres livrer.

En cas de problème dans la suite du tutoriel vous pourrez vous- même réinstaller Debian proprement en cliquant sur « Reinstall », en choisissant « debian-8.0-x86_64.tar.gz » et en cliquant sur « Reinstall » en bas de la page, c’est automatique vous n’avez rien d’autre à faire cela aurait pour effet de remettre votre VPS de base et de pouvoir recommencer le tutoriel sereinement.

1-2°/ Connexion:

[the_ad id= »410″]

Sous Windows :

Pour les utilisateurs de Windows vous aurez besoin d’installer PuTTY, sur l’email que vous avez reçu ultérieurement vous trouverez le lien pour pouvoir télécharger le logiciel ou cliquez sur le lien si dessous.

(http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)

Choisissez entre 32 ou 64 bit selon votre Windows

Sous Mac OS X :

Pour les utilisateurs de Mac OS X pour se connecter en SSH, il vous suffit d’utiliser les outils mis à disposition par Apple. En effet, le terminal inclut nativement un client SSH.

Ouvrez le Terminal (Applications > Utilitaires > Terminal)

Sous Linux :

Pour les utilisateurs de Linux vous savez probablement comment faire. Sinon pour ceux qui ne savent pas il vous suffit comme sous Mac OS X de simplement ouvrir un terminal.

Maintenant que vous savez avec quel logiciel vous allez vous connectez, vous pouvez passer a la suite. Comme je pense que la plupart d’entre vous doivent tourner sous Windows c’est donc pour cela que le reste du tutoriel serra orienter sur ce système d’exploitation.

Ouvrez PuTTY :

Détail reçu dans l’email.

Pour vous connecter vous allez rentrer l’ip des « détails » précédemment reçu par email

Host Name rentrer le « Main IP » ex : 11.22.33.44

Port : 22

Connection type : SSH

Ensuite cliquez sur « Open »

[the_ad id= »410″]

Lors de la première connexion, un message d’avertissement s’affiche pour vous demander d’accepter la clé du serveur. Cliquez sur « Oui«  pour ajouter la clé dans le cache de PuTTY

Rentrez ensuite votre login : root et taper sur entrer.
Rentrez maintenant votre mot de passe reçu par email et taper sur entrer.

Vous voila enfin connecter a votre VPS, vous allez maintenant mettre à jour Debian,

pour ce faire entrer la commande suivante puis entrer :

apt-get update && apt-get dist-upgrade

Appuyer sur Y et entrer
Appuyer sur entrer

[the_ad id= »410″]

Appuyer sur entrer

Patientez pendant que la mise à jour se termine, 1 bon café voir 2.

Une fois l’opération réaliser votre VPS est a jour, vous allez pouvoir commencer à installer tout le nécessaire au bon fonctionnement de votre scanner de programme TV.

2°/ Installation WebGrab+Plus

« WebGrab + Plus est un grabber incrémental multi-site xmltv epg. Il recueille les données du guide TV-programme des sites de guide TV sélectionnés pour vos chaînes préférées.

  • Rapide à travers son mode incrémental dans lequel il saisit uniquement ce qui est nouveau ou modifié.
  • Riche en détail et hautement configurable. « 
Dans cette partie vous allez donc voir et apprendre a configuré WebGrab + Plus, donc pour commencer vous allez vous connectez a votre VPS comme vue précédemment.
Avant toute chose vous allez installer Mono et d’autre dépendance pour pouvoir faire tourner WebGrab ++ :

On commence par installer mono
apt-get install mono-complete 

Tapez Y et sur Entrer

[the_ad id= »410″]

Voilà Mono est fini d’installer.

Maintenant vous allez télécharger WebGrabb ++ en tapant ou copier/coller puis entrer:
wget http://webgrabplus.com/sites/default/files/download/SW/V2.1.0/WebGrabPlus_V2.1_install.tar.gz
Ensuite Vous allez décompresser l’archive : tar -zxvf WebGrabPlus_V2.1_install.tar.gz
Vous allez rentrer dans le fichier que vous venez de décompresser : cd ~/.wg++
Ils ne vous restent plus qu’a installé wg++.
Tapez la commande et appuyer sur entrer :
./install.sh
Une fois l’installation faites vous devriez avoir ce message.

3°/ Paramétrage WebGrab+Plus

[the_ad id= »410″]

Maintenant que WebGrab++ est installé vous allez avoir besoin de le paramétrer pour lui demander d’aller scanner telle ou telle site de programme TV, il va aussi falloir lui demander de vous créer un fichier XML avec vos noms de chaînes correspondant a votre IPTV affin que PVR IPTV simple Client puisse savoir quelles chaînes va avec quels programmes TV.

Pour commencer vous allez d’abord voir le nom « exact » des chaînes, donc pour ça vous allez ouvrir VLC (lien de téléchargement : https://www.videolan.org/vlc/index.fr.html)

Puis ouvrir votre lien IPTV (Media > Ouvrir un flux reseau … ou ctrl + N)

Copier votre lien m3u IPTV puis sur « Lire ».

Une fois que votre lien est ouvert dans VLC vous aller l’enregistrer en un fichier iptv.m3u sur votre bureau. (Media > Enregistrer la liste de lecture ou ctrl +Y)

Maintenant que votre iptv.m3u est créé vous allez pouvoir l’ouvrir avec votre éditeur de texte style bloc note ou a l’aide de Notepad ++ qui vous servira aussi dans la suite du tutoriel.

(lien de téléchargement : https://github.com/notepad-plus-plus/notepad-plus-plus/releases/download/v7.8.5/npp.7.8.5.Installer.x64.exe)

Encadrer en rouge c’est le nom « exact » de vos chaînes, c’est ceux-ci que vous allez devoir utiliser pour le fichier de configuration de WebGraber ++. Si vous n’utilisez pas le nom exact votre epg ne fonctionnera pas.

Vous allez donc pouvoir passer a la suite en créent le fichier de configuration de WebGraber++

Pour ce faire vous allez télécharger FileZilla

(lien du téléchargement : https://filezilla-project.org/download.php?type=client)

Une fois FileZilla télécharger et installer vous allez devoir vous connecter au VPS comme avec PuTTY.

Ouvrez FileZilla,

Hôte : entrer l’ip du VPS

Identifiant : root

Mot de passe : Celui qui est indiqué dans l’email.

Port : 22

Puis cliquer sur connexion rapide.

Votre VPS devrait apparaître sur la droite.

Comme vous pouvez le voir il y a votre dossier précédemment télécharger (WebGrabPlus_V2.1_install.tar.gz) et le fichier décompresser (.wg++).

Vous pouvez dès à présent supprimer le fichier « WebGrabPlus_V2.1_install.tar.gz » en faisant un clic droit dessus et « Supprimer »


[the_ad id= »410″]

Ouvrez maintenant le dossier « .wg++ » en double cliquant dessus.

Maintenant vous allez télécharger le fichier « WebGrab++.config.xml ».

Clique droit dessus + « Télécharger ».

Une fois que votre fichier « WebGrab++.config.xml » télécharger, ouvrer le avec notepad++

Voici a quoi ressemble votre fichier « WebGrab++.config.xml »

Maintenant vous allez avoir besoin de 2 choses pour créer votre propre fichier de configuration, le nom exact des chaînes dont vous voudrez l’epg comme vous l’avez vue juste avant et le fichier « telerama.fr.channels.xml ».

Pourquoi « telerama.fr.channels.xml » ? C’est grâce à mes nombreux tests que j’ai pu m’apercevoir que le site télérama est l’un des plus rapides au scan et complet au niveau des chaînes.

Vous pourrez par la suite adapter le tutoriel selon vaut besoin, car vous pourrez trouver des fichiers de configuration pour différent site (canalsat.fr.channels.xml, nrj-play.fr.channels.xml etc.…) allez consulter de temps en temps si de nouveaux fichiers son disponnible.

http://www.webgrabplus.com/epg-channels#stc_12

Vous allez donc télécharger sur votre VPS les fichiers « telerama.fr.channels.xml » et « telerama.fr.ini » fournie dans le pack « Tuto EPG » car ceux fournie d’origine avec wg++ ne sont plus a jour.

Donc ouvrer le dossier France qui se situe dans siteini.pack

.wg++ > siteini.pack > France


Maintenant sélectionnez les 2 fichiers, faites un clic droit et « Envoyer »

Un message va vous demandez si souhaiter remplacer le fichier qui existe déjà, cliquez sur « OK »

Voilà maintenant vous avez les 2 fichiers a jours.

Vous allez pouvoir attaquer le fichier de configuration

WebGrab++.config

[the_ad id= »410″]

1/ Filename : Vous allez indiquer le chemin ou vous voulez que g++ créer le fichier xml

il faudra laisser ce chemin vous comprendrez pourquoi plus tard.

« /var/www/html/epg/epg.xml »

2/ User-agent : Vous allez faire croire au site de programme TV que g++ n’est pas un grabber, mais simplement un utilisateur lambda utilisant chrome. Certains sites exigent cela.

« Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36″

3/ Timespan : C’est le nombre de jour que vous voulez grabber (0 = 1 jour, 1 = 2 jours, etc.)

Ici mettez 6 si vous voulez scanner une semaine complète.

4/ Channel : C’est l’élément de réglage le plus important. Il indique quelle chaîne de télévision vous voulez saisir. Vous pouvez définir plusieurs lignes de cet élément dans le fichier de configuration. Une ligne pour chaque chaîne de télévision que vous voulez dans votre liste EPG. Pour presque tous les sites, un fichier youre_site.channels.xml est disponible. Ce fichier est seulement une référence, et n’est pas utilisé directement par WG ++. Trouvez simplement votre ligne de canal et copiez-la dans le fichier WebGrab ++. Config.xml. Ensuite, vous pouvez ajuster les attributs de cette ligne à vos besoins. Pour générer votre propre fichier youre_site.channels.xml.

Maintenant que vous savez a comment fonctionne le fichier de configuration, je vais vous expliquez comment faire votre propre fichier de config.

Pour ce faire vous allez avoir besoin du fichier « iptv.m3u » créer précédemment et du fichier « telerama.fr.channel.xml« .

Mon fichier iptv.m3u
telerama.fr.channel.xml

Vous allez donc pouvoir commencer votre fichier de configuration, pour cela il vous faudra copier la ligne correspond a la chaînes que vous souhaitez.

Je vais vous montrer un exemple avec la chaîne France 2 qu’il faudra reproduire autan de fois que vous voulez de chaînes.


Vous allez donc copier cette ligne de votre fichier « telerama.fr.channel.xml » dans « WebGrab++.config.xml« 

vous avez collé la ligne correspondant a la chaîne souhaiter, mais il va encore falloir lui donner le bon nom qui est indiqué dans votre iptv.m3u


[the_ad id= »410″]

 Dans mon exemple la chaîne France 2 porte exactement ce nom : 2 – France 2 (auto)

Chaque nom de chaîne va donc commencer comme ceci :

#EXTINF:0,2 – France 2 (auto)

#EXTINF:0,4 – CANAL+ (TNT)

#EXTINF:0,7 – Arte (TNT)

Ce qui va vous intéressez c’est tout ce qui se trouve après la « , » donc :

France 2 va devenir :2 – France 2 (auto)

Canal+ va devenir :4 – CANAL+ (TNT)

Arte va devenir :7 – Arte (TNT)


Donc il va falloir changer le nome de France 2 en 2 – France 2 (auto) sans ca PVR IPTV simple Client ne serra pas faire la corrélation entre le nom de la chaîne sur votre lien IPTV et votre EPG


<channel update= »i » site= »telerama.fr » site_id= »france-2,4″ xmltv_id= »France 2″>2 – France 2 (auto)</channel>


Exemple du fichier « WebGrab++.config.xml »

Une fois terminé il ne vous restera plus cas coller votre fichier « WebGrab++.config.xml » sur votre VPS

Clic droit > Envoyer.

Un message apparaît, cliquer sur « ok », cela supprimera votre ancien fichier de configuration par le nouveau.

Répéter cette opération à chaque fois que vous exercez une modification sur le fichier de config.

Vous allez pouvoir procéder a un test de votre fichier avant que G++ ne sois complètement autonome.

Cas spéciaux :

1/ Vous avez 2 fois la même chaînes dans votre IPTV:


Comme il s’agit de la même chaînes le programme serra le même donc comme vue juste avant il vous faudra changer le nom dans le fichier de configuration mais aussi le « xmltv_id »


Vous ne pouvez pas avoir 2 fois le même « xmltv_id » sinon w++ ne fonctionnera pas.

« xmltv_id » est simplement pour trier les chaînes sur votre fichier epg.xml, vous pouvez y mettre ce que vous voulez mais le plus simple est de marquer le même nom que sur votre iptv

Donc faites-y très attention

2/ Votre chaîne n’apparaît pas dans le fichier « telerama.fr.channel.xml » :

[the_ad id= »410″]

Si votre chaîne est nouvelle ou bien si elle n’apparaît pas encore dans le fichier telerama.fr.channel.xml, vous allez devoir vous rendre sur le site http://television.telerama.fr/tele/liste_chaines.php

Dans l’exemple je vais vous montrer comment faire pour ajouter la chaîne TF1 Séries Films.

Cliquez sur « Groupe de chaînes » et sélectionner le groupe correspondant a votre recherche.
Cliquez sur  » TF1 Séries Films »
http://television.telerama.fr/tele/chaine-tv/tf1-series-films,1404.php

C’est l’information contenue dans l’url qui vous intéresse, ici en l’occurrence c’est

« tf1-series-films,1404 » c’est ce qu’il se trouve entre le dernier « / » et le « .php » toujours sous cette forme :

« NOM-DE-LA-CHAÎNE,NUMERO »

Maintenant que vous avez l’information nécessaire il ne vous reste plus qu’a vous en servir

<channel update= »i » site= »telerama.fr » site_id= »tf1-series-films,1404″ xmltv_id= »tf1-series-films »>11 – TF1 Series films(auto)</channel>

Voilà comment devrait être la ligne de configuration fraîchement créer, elle contient :

« site_id » qui correspond a l’information que vous venez de trouver dans l’url du site telerama.

« xmltv_id » qui correspond a la chaîne en question (c’est vous qui mettez ce que vous voulez-t’en qu’il n’y a pas de doublon).

Vous savez des a présents trouver vos chaînes en cas d’absence dans le fichier « telerama.fr.channel.xml »

Voilà a quoi ressemblera le client iptv une fois votre config.xml terminer et que votre scan serra terminer.

« Pour vos tests lancer toujours le scan sur 1 seul journée en indiquant 0 dans le « Timespan » car si vous avez mal configurer votre fichier il vous faudra le modifier et relancer un scan, à savoir qu’un scan d’une semaine dure plusieurs heures. »

Ouvrez PuTTY et connecter vous au VPS.

[the_ad id= »410″]

Une fois connectez taper la commande :

cd ~/.wg++

Lancer votre scan :

./run.sh

Si votre « WebGrab++.config.xml » est correctement configuré vous devriez avoir cette fenêtre

Si vous obtenez ce type de message c’est que comme expliquer plus haut vous avez un doublon dans le « xmltv_id », vous allez devoir modifier l’une des deux ligne dans « WebGrab++.config.xml »

2 – France 2 (auto)

2 – France 2 (TNT)

Le message nous indique que ces 2 ligne on xmltv_id= »France 2″ il suffit d’en modifier un en « xmltv_id= »France 2 TNT » sur le fichier « WebGrab++.config.xml » et ensuite de le recopier sur notre VPS a l’aide de FileZilla

Une fois votre fichier modifier et votre teste réussi vous n’avez plus qu’a paramétré votre VPS pour qu’il demande a WebGrab ++ de démarrer tout seul a une heure et un jour donner voir plusieurs fois par semaine etc.…

Donc toujours dans PuTTY connectez-vous au VPS.

D’abord vous allez installer nano qui est un éditeur de texte en ligne de commande.

apt-get install nano 

puis entrer,

Taper : crontab -e

Cette fenêtre devrait apparaître
c’est ici que nous allons régler la fréquence de scan de WebGrab++
# Comment fonctionne Crontab:
# .—————- minute (0 – 59)
# |  .————- heure (0 – 23)
# |  |  .———- jour du mois (1 – 31)
# |  |  |  .——- mois (1 – 12)
# |  |  |  |  .—- jour de la semaine (0 – 6) 0 = dimanche, 1 = lundi, 2 = mardi,…6 = samedi
# |  |  |  |  |
# *  *  *  *  *  commande à exécuter

Exemple :
Exécution tous les jours à 22h00 :
00 22 * * * /root/.wg++/run.sh

Tous les lundis à 03h00 :
0 3 * * 1 /home/wg++/run.sh

À vous de voir a quelle fréquence vous souhaiter lancer le scan, dans l’exemple je vais utiliser tous les lundi a 03h00.

0 3 * * 1 /home/wg++/run.sh

Ensuite faites ctrl + X

Taper Y
Taper sur « Entrer »

[the_ad id= »410″]

Voilà maintenant votre scan se ferra automatiquement sans que vous n’ayez rien a faire

Voila ce ne fut pas simple a réaliser en tuto, j’espère avoir était le plus complet possible, en cas de question n’hésiter pas a me contacter.