Modex Web RSS / Podcast Dominique Rossin. Quest-ce ? Sabonner à des informations sans avoir recours...

Preview:

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>&#x2117; &amp; &#xA9; 2008 Dominique Rossin &amp; 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>rossin@liafa.jussieu.fr</itunes:email></itunes:owner><itunes:image href="http://localhost/Cours9/rossin.jpg" /><itunes:category text="Lesson"></itunes:category><itunes:category text="TV &amp; 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>

Recommended