Upload
laure-thevenin
View
104
Download
1
Embed Size (px)
Citation preview
Modex WebRSS / PodcastDominique Rossin
Qu’est-ce ?S’abonner à des informations
sans avoir recours aux mailsPas de spamGestion du Temps de validité des
nouvellesAgrégateurs en ligne (google and
co)Podcast, . . . = fil RSS
Comment ?Un fil RSS est un fichier XML (Vive 431 ! !)L’utilisateur donne l’URL du fichier à son
agrégateurLe gestionnaire du site alimente le fichier
et y ajoute des news.Une nouvelle est composée de :
◦Un titre◦Une date de publication◦Le contenu◦Un lien◦Un auteur
XHTML est un arbre
<html xmlns="http://www.w3.org/1999/xhtml"> <head>
<title>Title goes here</title> </head><body>
<p>Voici ma première page</p></body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
html
head
title
body
p
RSS<?xml version=‘‘1.0’’ encoding=‘‘UTF-8’’ ?><rss version=‘‘2.0’’>
<channel id=‘‘xxx’’><description>Modex Web</description>
<link>http://www.polytechnique.fr</link><title>Modex Web</title>
<item><title> Vive le Modex</title><link> http://www.enseignement.polytechnique.fr</link><pubDate>Fri, 3 Apr 2009</pubDate><description> En cours 8</description><author> Moi</author>
</item><item>…</item>
</channel></rss>
Descriptionchannel : Un canal auquel l’utilisateur
peut s’abonner◦title : Le titre du canal (apparaît dans un
aggrégateur)◦ link : Lien vers le site◦description : Description détaillé du canal◦ language : langue du style : e.g. en-us◦pubDate : Date de publication des news
(attention au format)◦ttl : Dit à l’aggrégateur le nombre de
minutes pendant lesquelles il peut garder l’information dans le cache
itemitem : Une nouvelle dans un
canal◦title : Le titre de la nouvelle (apparaît
dans un aggrégateur)◦description : Description détaillé du
canal◦link : Lien vers le site◦pubDate : Date de publication des
news◦guid : Un identifiant unique pour la
nouvelle.
Lire un fichier RSS
function chargeFichier($fichier) { $xml =
simplexml_load_file($fichier); return $xml;}
Afficher le fichierfunction afficheFichier($xml) { foreach ($xml->channel->item as $item)
{ echo "<b><a href=$item->link>
$item->title</a></b><br>"; echo "$item->description<br>"; echo
"<i>$item->pubDate</i><br><br>"; }}
Ajouter une nouvellefunction ajouteNews($xml, $title, $date, $link,
$description) { $child = $xml->channel->addChild('item'); $child->addChild('title', $title); $child->addChild('pubDate',
date(DATE_RFC822, $date)); $child->addChild('link', $link); $child->addChild('description', $description); return $xml;
}
Sauver le fichier
function sauveFichier($fichier,$xml) {
$file = fopen($fichier, "w"); fprintf($file, $xml->asXML());}
Exemple
$xml = chargeFichier("news.xml");$xml = ajouteNews($xml, "A
quand le cours 9", date("today"), "http://www.enseignement.polytechnique.fr/", "Google ");
sauveFichier("news2.xml", $xml);afficheFichier($xml);
Alimentation du filExemple d’un site avec
publications d’articles par les membres
BD avec une table gérant les articles : auteur, date, contenu, titre. . .
Formulaire de saisie d’un article -> Ajout au fil rss
Table
id idFeed Title Link pubDate
Description
author
int int Text Text Date Text int
Items
Id Title Description
link
Int Text Text text
Feed
RSS.php (XML)<?
header("Content-Type: application/xml; charset=UTF-8");
// Connexion base de données
$details = '<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>Mon fil RSS</title>
<link>http://www.google.fr</link>
<description>Fil de news Modex Web</description>'. '……';
?>
Podcasts ?
Entête fichier rss<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
<channel>
<title>Podcast Exemple</title>
<link>http://www.enseignement.polytechnique.fr/informatique</link>
<language>fr</language>
<copyright>℗ & © 2008 Dominique Rossin & Family</copyright>
<description>Vous aurez ici les dernieres nouvelles du modex Web</description>
<item> </item>
<itunes:subtitle>Modex Web</itunes:subtitle><itunes:author>Dominique Rossin</itunes:author><itunes:summary>Bienvenu dans le podcast du Modex Web</itunes:summary><itunes:owner><itunes:name>Dominique Rossin</itunes:name><itunes:email>[email protected]</itunes:email></itunes:owner><itunes:image href="http://localhost/Cours9/rossin.jpg" /><itunes:category text="Lesson"></itunes:category><itunes:category text="TV & Film"/>
Méthode et démonstrationEnregistrement de la musique
(audacity)◦->Hello.mp3
Ajout d’une entrée dans le canalFini !
Une entrée<item><title>Venez tous !</title><itunes:author>Dominique Rossin</itunes:author><itunes:subtitle>Au modex Web</itunes:subtitle><itunes:summary>Reclame pour le modex web</itunes:summary><enclosure url="http://localhost/hello.mp3" length= "
50154"type="audio/mp3" /><guid> IdentUnique</guid><pubDate>Wed, 1 Apr 2010 19:00:00 GMT</pubDate><itunes:duration>0:03</itunes:duration><itunes:keywords>Modex</itunes:keywords></item>