Atelier xmltv + SimpleXML.

Prérequis : bonnes connaissances en PHP, savoir accéder à une base MySQL à partir de PHP, savoir créer une base de données sous MySQL.


Informations sur xmltv.

  • xmltv est un format standard conçu pour présenter les programmes télé. C'est en fait une DTD (Document Type Definition) qui décrit des documents XML. Plus d'informations ici : http://www.clubic.com/article-15830-7-creez-votre-moviebox-de-a-a-z.html.

  • Il existe différents logiciels pour récupérer les programmes télé, un des plus efficaces étant xmltv (projet SourceForge : http://sourceforge.net/projects/xmltv).

  • Voici un extrait de programme au format XMLTV :

    <programme start="20060214230500 +0100" stop="20060215005000 +0100" showview="5812443" channel="C2.telepoche.com">
      <title>La mouche</title>
      <desc lang="fr">Le biologiste Seth Brundle vient de mettre au point une invention révolutionnaire: la téléportation. Il invite alors une jeune journaliste scientifique, Veronica Quaife, dans son laboratoire et lui propose d'assister en exclusivité à une série de démonstrations [...]</desc>
      <desc lang="fr">Après avoir expérimenté sa machine à téléporter, un savant découvre avec horreur que ses cellules se sont mélangées avec celles d'une mouche au cours de l'opération.oe</desc>
      <credits>
        <director>David Cronenberg</director>
        <actor>Jeff Goldblum</actor>
        <actor>Geena Davis</actor>
      </credits>
      <category lang="fr">film</category>
      <category lang="fr">fantastique</category>
      <icon src="http://telepoche.guidetele.com/c_img/i/2006-02-14/2/1.lamouchezeun.jpg" />
      <star-rating>
        <value>2/4</value>
      </star-rating>
    </programme>


1
Préparation des répertoires et récupération d'un fichier XMLTV.

2
Premières étapes du projet : mise en oeuvre de SimpleXML.

Informations sur SimpleXML.

SimpleXML est une librairie PHP (disponible à partir de PHP 5), qui nous simplifie considérablement le travail lorsqu'il s'agit de lire un fichier XML. Documentation ici : http://fr.php.net/simplexml.

InstructionCommentaire
if (!file_exists("epg.xml")) die ("Fichier inexistant");
if (!$xmltv=simplexml_load_file("epg.xml")) die("Erreur à l'importation");
L'instruction simplexml_load_file permet de charger en mémoire notre fichier XML. Ici, elle est accompagnée d'une double gestion d'erreur. Remarquez qu'on récupère le résultat dans l'objet $xmltv.
foreach ($xmltv->channel as $channel) Voici par exemple comment on parcourt toutes les balises channel (filles directes de la balise racine tv).
echo $channel->icon["src"]; Voici comment on accède à la valeur d'un attribut (l'attribut src de la balise fille icon).
echo $channel->children(); Voici comment on peut récupérer le nom de la chaîne. En effet, on ne peut pas écrire $channel->display-name à cause du tiret...
3

Création de la page PHP qui permet de consulter les programmes télé.

4
Améliorer votre application.

Les améliorations sont innombrables, sur le plan technique comme sur le plan des fonctionnalités pour l'utilisateur. Par exemple :


Sébastien PASTORE.