Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !



OnTV, programme TV

Il y a quelques temps de ça, en ayant marre d'aller voir en permanence sur www.programme-tv.net les programmes du soir, je me suis posé la question de savoir s'il n'existait pas un logiciel qui pourrait automatiquement rapatrier les programmes TV du jour, un peu à la manière d'un agrégateur de flux RSS.

Et bien j'ai fini par trouver deux outils complémentaires qui tournent sous GNOME et qui me permettent de faire ça facilement !

Le premier, xmltv-druid, permet de récupérer le programme TV de façon automatique et de le stocker dans un fichier. C'est ce qu'on appelle un récupérateur (« grabber »). Le second, OnTV, est une applet GNOME qui permet d'afficher ces informations de façon simple.

Voici comment les installer et les paramétrer…

Sous Gutsy, il suffit d'installer le paquet OnTV (sudo apt-get install ontv) et de se laisser guider pour la configuration de xmltv. Puis on passe à l'étape ontv

Mais qu'est-ce donc ?1)

XMLTV est un paquet logiciel écrit en perl qui définit un format de description de programmes TV (le DTD xmltv) et des outils associés. Ces outils consistent principalement en des récupérateurs, qui récupèrent les informations de programmes TV sur des sites Web et qui les formatent en XMLTV.

Voici le fameux récupérateur en question disponible sous Ubuntu.
On le trouve dans le dépot suivant (à ajouter à votre liste de dépots en console ou via Synaptic) :

deb http://debian.vakevainen.fi/ unstable main

Ce dépot est indiqué sur le site de xmltv-druid (http://gshowtv.sourceforge.net/xmltv-druid.html).

sudo apt-get update

Si apt retourne l'erreur suivante:

"W: GPG error: http://koti.welho.com unstable Release: Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY 2BFAFC26585DECB0" 

il faut faire :

wget http://www.vakevainen.fi/pgp.txt
sudo apt-key add pgp.txt
rm pgp.txt

Activer le dépôt Universe dans Synaptic et faites une recherche sur xmltv, puis sélectionnez xmltv, xmltv-druid ainsi que tous les autres paquets s'y rapportant, et profitez-en au passage pour cocher aussi ontv qui nous servira par la suite :

Une fois installé, xmltv-druid se trouve dans le menu « Systèmes > Préférences > XMLTV Grabber ». Lancez-le afin de configurer les différentes chaînes TV dont vous voulez obtenir le programme :

Sélectionnez votre pays :

Puis cliquez sur exécuter, ceci aura pour action d'ouvrir une console qui va vous guider dans le choix des chaînes TV que vous voulez :

Répondez par « yes », « no », « all » ou « none » aux questions posées, vous allez pouvoir avoir accès aux chaînes du câble, du satellite, hertziennes, etc.

Une fois vos chaînes sélectionnées, votre fichier de configuration $HOME/.xmltv/tv_grab_fr.conf sera fabriqué. Le plus difficile est fait !

Ensuite, après quelques questions de configuration (délai de mise à jour et mode fonctionnement), la dernière fenêtre vous indique que le fichier de configuration est prêt mais qu'il reste maintenant à lancer manuellement un script shell afin de fabriquer le fichier XML contenant les programmes TV.

Ouvrez alors une console et tapez :

~/.xmltv/run-tv-grab

Ce script va lire votre fichier de configuration créé à l'étape précédente et s'en servir pour créer le fichier au format XMLTV.

Cette opération sera plus ou moins longue en fonction du nombre de chaînes que vous avez choisies.

Pour l'instant, La version de tv_grab_fr figurant dans les dépôts n'est plus à jour, l'exécution de ce tutorial renvoie un message d'erreur. La solution se trouve sur le forum:
http://forum.ubuntu-fr.org/viewtopic.php?pid=135806#p135806 Une mise à jour vers la version CVS de tv_grab_fr, et tout rentre dans l'ordre.

Vous pouvez trouver la dernière version de tv_grab_fr sur le site de Biboobox (le site de biboobox maintient le script fr de XMLTV.)

Compilation manuelle de XMLTV

XMLTV utilise le site de Télépoche pour récupérer les informations concernant les programmes. Ce dernier a tendance à changer régulièrement, ce qui rend XMLTV très vite caduc. Heureusement, les responsables réagissent très vite et mettent à jour leur programmes assez rapidement.

C'est typiquement le cas pour une erreur :
Can't call method "attr" on an undefined value at /usr/bin/tv_grab_fr line 461, <STDIN> line 8.

Pour mettre à jour XMLTV:

  • Retirer xmltv de votre installation
  sudo apt-get remove xmltv
  wget -c http://snapshot.xmltv.org/
  tar xfvz xmltv-nightly.tgz
  • avant de compiler le programme, s'assurer que toutes les dépendances du scripts de build (en perl) sont satisfaits:
sudo apt-get install liblingua-en-numbers-ordinate-perl liblingua-preferred-perl \
libterm-progressbar-perl libperlio-eol-perl libxml-parser-perl libxml-twig-perl \ 
libxml-writer-perl   libdate-manip-perl libhtml-parser-perl libtk-perl \
libtk-tablematrix-perl libhtml-tree-perl
  • lancer le script de compilation
perl Makefile.PL
make # <- sélectionner uniquement tv_grab_fr et tv_check
make test
sudo make install
  • la configuration du parser devrait fonctionner (celui est très long, mais tant que la sortie est un fichier XML, c'est qu'il fonctionne)
tv_grab_fr --configure
  • lancer avant de lancer OnTV…
  ~/.xmltv/run-tv-grab

(Sur gutsy gibbon les logos se mettent en place automatiquement)

Il faut tout d'abord installer ontv si vous ne l'avez pas fait à l'étape précédente:

sudo apt-get install ontv

ou apt://ontv

21 mars 2008: les URL de télépoche ont changé récement. Pour que xmltv fonctionne à nouveau, il faut remplacer le fichier /usr/bin/tv_grab_fr par http://www.lahiette.com/biboobox/download/tv_grab_fr

Ensuite, pour ajouter l'applet OnTV à votre tableau de bord ; faites donc un clic-droit sur la barre de menu principale de votre GNOME et cliquez sur « Ajouter au tableau de bord », sélectionnez ensuite l'applet « OnTV » qui se trouve dans la catégorie « Accessoires » :

Une icône s'ajoute alors à votre tableau de bord, faites un clic-droit dessus puis choisissez « Préférences ». Dans la zone « Fichier XMLTV » cliquez sur parcourir, puis sélectionnez votre fichier XMLTV généré auparavant (attention ce fichier est dans un dossier caché, pour le voir cliquez droit dans la zone de sélection des fichiers, puis « Afficher les fichiers cachés »), votre fichier devrait logiquement se trouver dans /home/votre_nom_de_login/.xmltv/tv_grab_fr.xml. Une fois le fichier sélectionné, allez dans l'onglet « Chaînes » et cochez celles que vous désirez :

Voilà la configuration est maintenant terminée ; il suffit de dire à OnTV de mettre à jour les programmes TV. Pour cela, cliquez droit sur l'icône dans le tableau de bord et choisissez « Recharger le fichier XMLTV ».

Un simple clic sur l'icône de OnTV suffit alors pour afficher les programmes en cours et/ou ceux à venir …

Logos des chaînes

Yannick a créé un script qui permet de récupérer les images des chaines de télévision.

En effet, il a remarqué qu'il était possible d'ajouter le logo des chaînes dans les préférences d'OnTV, en cliquant avec le bouton droit sur une chaîne, apparaît la commande « add logo ». L'ennui, c'est qu'il ne va pas chercher automatiquement les images des chaînes. Yannick a donc créé un script qui se base sur votre configuration et qui permet de récupérer toutes les images de vos chaines. Dans une console, taper :

cat ~/.xmltv/tv_grab_fr.xml | head -200 | grep http | grep .GIF | awk '{print $ 2}' | awk -F '"' '{print $2}' | xargs wget

(à modifier éventuellement en fonction de l'emplacement et du nom de votre fichier xml)

Les images récupérées sont en gif, il faut donc sélectionner le format gif lorsque vous faîtes « add logo » et non png (par défaut) :

et voici le résultat :

Détails des émissions

La plupart des programmes TV sont accompagnés d'un petit descriptif. Alors si vous tenez absolument à connaître à l'avance le résumé d'un épisode riche en rebondissements de l'inspecteur Derrick, ou de savoir si vous devez enregistrer la prochaine recette de Joël Robuchon, xmltv vous donnera pleinement satisfaction ! Pour cela, suivez tout d'abord une configuration normale de xmltv, de façon à ce que le fichier /home/utilisateur/.xmltv/run-tv-grab soit créé.

  • Lancez ensuite :
tv_grab_fr --configure --slow

Le programme vous demandera notamment pour quels types d'émissions ainsi que la plage horaire pour laquelle vous désirez les détails.

  • Éditez run-tv-grab :
  gedit ~/.xmltv/run-tv-grab

Remplacez :

OPTIONS="--quiet"

par :

OPTIONS="--quiet --slow"
  • Il ne reste plus qu'à mettre à jour le fichier .xml :
~/.xmltv/run-tv-grab

Attention, ça peut prendre du temps (plus d'une heure si vous avez sélectionné beaucoup de chaînes).

Mise à jour programmée du fichier XML

OnTV ne met pas à jour le contenu du fichier XML comme on pourrait le croire, il se contente de mettre à jour les programmes en cours et à venir. Pour mettre à jour périodiquement votre fichier XML, nous utiliserons anacron. Installez-le si ce n'est déjà fait, puis éditez le fichier anacrontab :

sudo gedit /etc/anacrontab 

en y ajoutant la ligne

2	20	grab.xmltv	~/.xmltv/run-tv-grab

De cette manière, le fichier .xml sera mis à jour tous les 2 jours, sachant que sa validité est d'une semaine.

Pour les programmes tv Belge penser à changer fr par be lors des lignes de commandes et le tour est joué …

Il existe un logiciel d'affichage des programmes télé pour Kde. Celui-ci s'appelle Maxemum TV-Guide et peut être récupéré dans le dépôt Universe.


1)
Source: Biboobox
  • ontv.1214045956.txt.gz
  • Dernière modification: Le 18/07/2008, 00:34
  • (modification externe)