ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Web Site Story“Etude, développement et valorisation
de votre présence internet”
Créer et diffuser des fils d'actualité
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Plan :
RappelsHistorique
Lecteurs RSSConstitution d'un fichier RSS
Outils générateurs de RSSRSS, PHP & MySQL
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Définition pragmatique
Un fil RSS est un fichier xml répondant à quelques conditions simples de structure.
Ce fichier XML est lisible via un navigateur en format XML, mais il est destiné en fait à être lu par un logiciel spécialisé :
● un lecteur de fils RSS (RSS reader)
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Définition
●Un flux RSS :● RDF ich Site Summary (Sommaire d'un site enrichi) ● Really Simple Syndication (souscription vraiment simple)● Rich Site Summary (Sommaire d'un site enrichi)
● est un fichier codé sous forme XML. ● Ce système permet de diffuser en temps réel les
nouvelles des sites d'information ou des blogs, ce qui permet de rapidement consulter ces dernières sans visiter le site
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Les différents formats
Plusieurs écoles s'affrontent sur la définition et le format des flux RSS :
http://www.opikanoba.org/xml/040315
● Les icônes RSS :
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Plan :
RappelsHistoirique
Lecteurs RSSConstitution d'un fichier RSS
Outils générateurs de RSSRSS, PHP & MySQL
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Préhistoire du RSS
● 1997 : Microsoft propose au W3C un format de fichier XML permettant d’être tenu au courant de nouvelles informations :
● Channel Definition Format (CDF)●
● Netscape soumet au W3C, un autre format XML mettant l’accent sur les métadonnées :
● Meta Content Framework (MCF)
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Préhistoire du RSS
● 1997 : le W3C publie la spécification qui reprend le format de Netscape en partie :
● Ressource Description Framework (RDF)●
● Dave Winer, de la société UserLand, propose à son tour un format similaire à MS (hors course) pour la syndication de contenu :
● scriptingNews
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Naissance du RSS
● 1999 : Netscape lance son portail my.netscape.com et publie la norme :
RSS 0.90 (RDF Site Summary)
● Dave Winer riposte contre Netscape : scriptingNews 2.0b1
● Dan Libby (le développeur de Netscape) : RSS 0.91 (Rich Site Summary)
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Naissance du RSS
● 2000 : Netscape se désintéresse du RSS mais Dave Winer (UserLand) reprend à son compte le développement :
RSS 0.92, 0.93 et 0.94
● 2002 Dave Winer quitte UserLand et publie la version :
RSS 2.0 (référence au Web 2.0)
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Naissance d'ATOM
● 2003 : Dave Winner créé l'association « RSS Board » pour veiller à l'évolution RSS.
● Face au protectionnisme sur le format RSS 2.0 de Dave Winer, Sam Ruby organise un nouveau groupe de travail pour créer un nouveau format pour la syndication :
Atom
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Fusion de RSS 2.0 & ATOM
● 2004 : Dave Winer et Sam Ruby décident la fusion de leurs 2 standards et demandent l'homologation IETF.● 2005: L’équipe IE de Microsoft adopte l’icone orange introduite par Firefox pour les flux RSS.
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Ligne du temps RSS
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Plan :
RappelsHistorique
Lecteurs RSSConstitution d'un fichier RSS
Outils générateurs de RSSRSS, PHP & MySQL
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Logiciels dédiés RSS
Pour exploiter un fil RSS, il suffit d'installer un lecteur RSS :
- http://www.rssreader.com/- http://www.newzcrawler.com/- http://www.newsmonster.org/- http://www.pluck.com/- http://www.wticker.org- http://syndigator.sourceforge.net/- http://www.newsgator.com/
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Agrégateur RRS SAGE de Firefox
Il existe un plug-in de Firefox dénomé SAGE qui permet de transformer ce navigateur en lecteur RSS :
http://sage.mozdev.org/install/
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
RSS et Web 2.0
Solution Netvibes : ce site prpose une page de démarrage internet personnelle et personnalisable intégrant les flux RSS :
http://www.netvibes.com/
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Plan :
RappelsHistorique
Lecteurs RSSConstitution d'un fichier RSS
Outils générateurs de RSSRSS, PHP & MySQL
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Flux Javascript/PHP type
● <!-- Fil RSS CommentCaMarche -->● <script language="JavaScript"
src="http://rss.commentcamarche.net/rss/rss_js.php?canal=nouveautes" type="text/javascript"></script>
●
● <noscript>● <a
href="http://rss.commentcamarche.net/rss/rss_voir.php?canal=nouveautes">Voir les actualités de CommentCaMarche.net</a>
● </noscript>● <!-- /Fil RSS CommentCaMarche -->
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Abandon du RSS javascript
Aujourd'hui, avec l'évolution des navigateurs et la panoplie de lecteur et d'agrégateur RSS aux formats standardisés (W3C & IETF), il est recommandé d'abandonner le format javascript.
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Les standards principaux
●ATOM :● Format de Syndication
normalisé en août 2005 par l'IETF (RFC 4287 en tant que Proposed Standard.
●
●
● Opposé aux divers RSS des entreprises privées.
●RSS 2.0 ● Format du « Berkman
Center for Internet & Society » de la « Harvard Law School ».
●
● Auteur : Dave Winer, fondateur de la société « UserLand ».
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
RSS 2.0 & CC
La license du format 2.0 est libre, sous le nom de : « Attribution/Share Alike Creative Commons License ».
http://creativecommons.org/licenses/by-sa/1.0/
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Balise XML
<?xml version="1.0"> déclaration de fichier xml
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Balise RSS
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"> déclaration de version RSS
</rss> fin de fichier; balise fermante
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Balise Channel
<?xml version="1.0" encoding="iso-8859-1" ?>
<rss version="2.0"> déclaration de version RSS<channel> déclaration du canal d'information
Le channel (canal) permet de décrire le fil d'information de façon générale et permanente et comporte plusieurs paramètres.
</channel></rss> fin de fichier; balise fermante
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Title - link - description
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"> déclaration de version RSS<channel>
<title>BBS Consultant</title><link>http://www.bbs-consultant.net/</link><description>Histoire, outils, usages et
impacts de l'internet.</description><language>fr</language>
</channel></rss> fin de fichier; balise fermante
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Eléments obligatoires & facultatifs
Obligatoires :<title><link><description>
Facultatifs :<language><copyright><managingEditor><webMaster><pubDate><lastBuildDate>
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Eléments facultatifs
<category><generator><docs><cloud><ttl><image><rating>
<textInput><skipHours><skipDays>
http://ghostdogpr.developpez.com/articles/rss/
http://blogs.law.harvard.edu/tech/rss#ltttlgtSubelementOfLtchannelgt
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Les items
● Une fois qu'on a décrit le channel, apparaissent les items, les éléments documentaires essentiels qui vont composer le fil est qui sont le support des informations qui circuleront sur le fil.
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Les balises indispensables
● Un titre, une URL renvoyant vers l'article complet et un résumé (200 signes) :
●<item>● <title>Editeur de flux RSS</title>● <link>http://www.bbs-consultant.com/rss.xml</link>● <description>Titulaire d'une Maîtrise d'Histoire
Contemporaine et d'un DESS "Stratégie Information Décision" (SID) en Science de l'information et de la documentation et informatique documentaire, Université de Lille 3.</description>
●<item>
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Les autres balises
●
● author Mail de l'auteur de l'item● category Catégorie à laquelle l'item appartient● comments Lien vers un commentaires sur l'item● enclosure Objet media attaché à l'item● guid Identifiant unique cet item● pubDate Date de publication● source Channel auquel l'item appartient●
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Les autres balises de type DC
●
● <guid isPermaLink="true">http://www.bbs-consultant.net/rss.xml</guid>
● <dc:date>2007-01-15T16:07:20Z</dc:date>● <dc:format>text/html</dc:format>● <dc:language>fr</dc:language>● <dc:creator>BBS</dc:creator>
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Dublin Core
Dublin Core et RSS 1.0 (RDF)●
La version RSS 1.0, basée sur RDF est naturellement celle qui est utilisée par Dublin Core pour les flux RSS.
On devrait lui préférer la version RSS 2.0
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Item
●
●
● <category domain="http://www.bbs-consultant.com/experience.html">Générateur RSS</category>
● <content:encoded><img src="http://www.bbs-consultant.net/IMG/arton849.gif" alt="" align="right" width="24" height="15" class="spip_logos" /><div class='rss_chapo'>Mozilla a développé deux extensions pour ses deux produits phares que sont le navigateur Web Firefox et le lecteur de mél Thuderbird. Cette extension transformera ces logiciels en éditeurs de fichiers RSS 2.0 au format XML.</div>
● </content:encoded>●</item>
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Rendre le flux accessible
Pour faire connaître l'existence d'un flux RSS sur une page HTML, une balise de lien est utilisée :
● <a type="application/RSS+XML" href="rss.xml"> Flux RSS de cette page</a>
●
● Les flux au format Atom utilisent la valeur: "application/atom+XML".
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Utiliser une icône RSS
Il suffit pour cela il suffit de placer une image RSS, qui pointe vers le fichier XML, sur la page concernée :
●
● En cliquant sur le bouton le navigateur affiche le fichier XML ou lance le lecteur RSS installé.
●
● <a href="http://www.bbs-consultant.com/rss.xml> <img src="xml.png"> </a>
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Lier une page HTML
Pour lier une page à votre flux RSS, il suffit d'ajouter ceci entre les balises :<head>
<link rel="alternate" type="application/rss+xml" href="http://www.bbs-conultant.com/rss.xml" />
</head>
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Plan :
RappelsHistorique
RSS et JavascriptConstitution d'un fichier RSS
Outils générateurs de RSSRSS, PHP & MySQL
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Générateur RRS en ligne
Washington and Lee University Law Library propose de créer manuellement vos flux RRS à partir d’un simple formulaire en HTML :
http://law.wlu.edu/library/feeds/text2rss.asp
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Générateur RRS en local
La communauté « Mozilla » propose deux « plugins » pour Firefox et/ou Thunderbird qui permettent la rédaction occasionnelle de fichiers RSS 2.0 :
https://addons.mozilla.org/thunderbird/344/
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Génération par un Blog
●Créer un blog sur la plateforme Blogger :●
● http://www.blogger.com/start?hl=fr●
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Génération par SPIP
A partir de la version 1.9, le logiciel de SGC (CMS) SPIP gère la création automatique et dynamique des flux RSS du site et créé un fichier XML compatible RSS 2.0 :
http://www.bbs-consultant.net/spip.php?page=backend
● Attention, les version antérieures produisent un code XML propriétaire qui ne suit ni la norme RSS 2.0 ni la norme Atom.
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Travaux pratiques
Télécharger, Installer et manipuler SPIP :
http://www.spip.net/
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Plan :
RappelsHistorique
RSS et JavascriptConstitution d'un fichier RSS
Outils générateurs de RSSRSS, PHP & MySQL
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Environnement de développement
Pour développer une application de génération de script en local, nous devons installer sur nos machines :
● un serveur HTTP (Apache)● une base de données (MySQL)● une interface BDD (phpMyAdmin)● un langage de programmation (PHP)
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
La solution « WAMP » EasyPHP
Le logiciel « 4 en un » EasyPHP nous permet d'installer ces 4 logiciels en un seul ensemble WAMP* sous Windows XP :
● Apache 2.2.3● PHP 5.2.0● MySQL 5.0.27● PHPMyAdmin 2.9.1.1
http://www.easyphp.org/
(*) WAMP = Windows, Apache, MySQL, PHP
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
La solution « MAMP » MAMP
Le logiciel « 4 en un » MAMP nous permet d'installer ces 4 logiciels en un seul ensemble MAMP * sous Mac OS X :
● Apache 2.0.5● PHP 5.1.4● MySQL 5.0.19● PHPMyAdmin 2.7.0
http://www.mamp.info/en/index.php
(*) WAMP = Windows, Apache, MySQL, PHP
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Extraction depuis une BDD MySQL
Supposons que les informations à diffuser via un flux RSS 2.0 sont stockées dans une base de données MySQL contenant pour chaque « item » les champs suivants :
● titre● lien● description● date
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Rédaction d'un script PHP
Pour créer automatiquement un flux RSS à partir d'une BDD MySQL, nous allons écrire un script PHP (ou en récupérer un) qui lit la base de données et créé un fichier RSS conforme aux spécifications vues précedemment.
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Déclaration des variables
●<?php●// Balise d'ouverture de script PHP●// Variables locales●$host= ''localhost'';●$user= ''root'';●$password= ''root'';●$base=''rss'';●
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Entête du fichier XML
●// édition du début du fichier XML●$xml = '<?xml version="1.0" encoding="iso-8859-1"?>●<rss version="2.0">';●$xml .= '<channel>'; ●$xml .= '<title>Titre du channel</title>';●$xml .= '<link>http://www.monsite.com</link>';●$xml .= '<description>Résumé du canal</description>';
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Connexion au serveur MySQL
●// Connexion à la base●@mysql_connect($host,$user,$password) or die("Connexion impossible");●@mysql_select_db($base) or die("Echec de sélection de la BDD");●
●// Sélection des 5 dernières news●$resultat=mysql_query("SELECT * FROM rss ORDER BY date DESC LIMIT, 5");
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Exploitation de la requête
●while($ligne=mysql_fetch_array($resultat))● { ● $titre=$ligne[titre];● $lien=$ligne[lien];● $description=$ligne[description];● $date=$ligne[date];● $date2=date("D, d M Y H:i:s", strtotime($date));● ...
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Génération dynamique du XML
●...● $xml .= '<item>';● $xml .= '<title>'.$titre.'</title>';● $xml .= '<link>'.$lien.'</link>';● $xml .= '<pubDate>'.$date2.' GMT</pubDate>'; ● $xml .= '<description>'.$description.'</description>';● $xml .= '</item>';● }●
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Ajout des balises fermantes
●// Fin du canal et fin du fichier XML●$xml .= '</channel>';●$xml .= '</rss>';
ADBS stage n° 729 – Créer et diffuser des fils d'actualité
Ecriture du ficher XML
●// Ecriture dans le fichier XML●$pointeur = fopen("rss.xml", 'w+');●fputs($pointeur, $xml);●fclose($pointeur);●@mysql_close();●// Balise de fermeture de script PHP●?>