19
Modex Web RSS / Podcast Dominique Rossin

Modex Web RSS / Podcast Dominique Rossin. Quest-ce ? Sabonner à des informations sans avoir recours aux mails Pas de spam Gestion du Temps de validité

Embed Size (px)

Citation preview

Page 1: Modex Web RSS / Podcast Dominique Rossin. Quest-ce ? Sabonner à des informations sans avoir recours aux mails Pas de spam Gestion du Temps de validité

Modex WebRSS / PodcastDominique Rossin

Page 2: Modex Web RSS / Podcast Dominique Rossin. Quest-ce ? Sabonner à des informations sans avoir recours aux mails Pas de spam Gestion du Temps de validité

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

Page 3: Modex Web RSS / Podcast Dominique Rossin. Quest-ce ? Sabonner à des informations sans avoir recours aux mails Pas de spam Gestion du Temps de validité

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

Page 4: Modex Web RSS / Podcast Dominique Rossin. Quest-ce ? Sabonner à des informations sans avoir recours aux mails Pas de spam Gestion du Temps de validité

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

Page 5: Modex Web RSS / Podcast Dominique Rossin. Quest-ce ? Sabonner à des informations sans avoir recours aux mails Pas de spam Gestion du Temps de validité

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>

Page 6: Modex Web RSS / Podcast Dominique Rossin. Quest-ce ? Sabonner à des informations sans avoir recours aux mails Pas de spam Gestion du Temps de validité

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

Page 7: Modex Web RSS / Podcast Dominique Rossin. Quest-ce ? Sabonner à des informations sans avoir recours aux mails Pas de spam Gestion du Temps de validité

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.

Page 8: Modex Web RSS / Podcast Dominique Rossin. Quest-ce ? Sabonner à des informations sans avoir recours aux mails Pas de spam Gestion du Temps de validité

Lire un fichier RSS

function chargeFichier($fichier) { $xml =

simplexml_load_file($fichier); return $xml;}

Page 9: Modex Web RSS / Podcast Dominique Rossin. Quest-ce ? Sabonner à des informations sans avoir recours aux mails Pas de spam Gestion du Temps de validité

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>"; }}

Page 10: Modex Web RSS / Podcast Dominique Rossin. Quest-ce ? Sabonner à des informations sans avoir recours aux mails Pas de spam Gestion du Temps de validité

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;

}

Page 11: Modex Web RSS / Podcast Dominique Rossin. Quest-ce ? Sabonner à des informations sans avoir recours aux mails Pas de spam Gestion du Temps de validité

Sauver le fichier

function sauveFichier($fichier,$xml) {

$file = fopen($fichier, "w"); fprintf($file, $xml->asXML());}

Page 12: Modex Web RSS / Podcast Dominique Rossin. Quest-ce ? Sabonner à des informations sans avoir recours aux mails Pas de spam Gestion du Temps de validité

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);

Page 13: Modex Web RSS / Podcast Dominique Rossin. Quest-ce ? Sabonner à des informations sans avoir recours aux mails Pas de spam Gestion du Temps de validité

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

Page 14: Modex Web RSS / Podcast Dominique Rossin. Quest-ce ? Sabonner à des informations sans avoir recours aux mails Pas de spam Gestion du Temps de validité

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

Page 15: Modex Web RSS / Podcast Dominique Rossin. Quest-ce ? Sabonner à des informations sans avoir recours aux mails Pas de spam Gestion du Temps de validité

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>'. '……';  

?> 

Page 16: Modex Web RSS / Podcast Dominique Rossin. Quest-ce ? Sabonner à des informations sans avoir recours aux mails Pas de spam Gestion du Temps de validité

Podcasts ?

Page 17: Modex Web RSS / Podcast Dominique Rossin. Quest-ce ? Sabonner à des informations sans avoir recours aux mails Pas de spam Gestion du Temps de validité

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>[email protected]</itunes:email></itunes:owner><itunes:image href="http://localhost/Cours9/rossin.jpg" /><itunes:category text="Lesson"></itunes:category><itunes:category text="TV &amp; Film"/>

Page 18: Modex Web RSS / Podcast Dominique Rossin. Quest-ce ? Sabonner à des informations sans avoir recours aux mails Pas de spam Gestion du Temps de validité

Méthode et démonstrationEnregistrement de la musique

(audacity)◦->Hello.mp3

Ajout d’une entrée dans le canalFini !

Page 19: Modex Web RSS / Podcast Dominique Rossin. Quest-ce ? Sabonner à des informations sans avoir recours aux mails Pas de spam Gestion du Temps de validité

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>