240 likes | 335 Views
XML, RSS et syndication de contenu. Quelques notions et historique. Un document se définit par le FOND et la FORME Forme = structure + présentation Fond = structure + sémantique SGML SGML : Standard Generalized Markup Language Métalangage de balisage de document Norme Internationale
E N D
Quelques notions et historique • Un document se définit par le FOND et la FORME • Forme = structure + présentation • Fond = structure + sémantique • SGML • SGML : Standard Generalized Markup Language • Métalangage de balisage de document • Norme Internationale • Séparation du fond et de la forme • Très complexe à mettre en œuvre • Langage utilisé pour la GED notamment
Quelques notions et historique • HTML • Hyper Texte Markup Language • Langage simple avec des balises standardisées • Reconnu par tous les navigateurs • Fond et forme mêlés (cf. métalangage) • Un seul terminal : l’ordinateur (PC ou MAC) • Inadapté à l’échange de données entre programmes ou applications
Définition du XML • eXtensible Markup Language • Méta langage universel • Langage informatique qui permet de décrire des données de manières structurées • Langage conçu pour les échanges de données (interopérabilité) • Historique du XML • 1994 : fondation du W3C - World Wide Web Consortium • 1996 : Début du développement du XML • 1998 : XML 1.0 (recommandation officielle du W3C)
Objectifs et forces du XML • Un nouveau langage d’échange basé sur le balisage • Séparation de fond et de forme • Une simplification du SGML • Moins « confus » que le HTML • Idéal pour l’échange de données semi-structurées • Utilisable entre les programmes et les applications pour échanger des flux de données non propriétaire
Contre quelques idées reçues • XML n’est pas un langage de programmation • XML ne va pas remplacer le HTML (Cf. XHTML) • XML est un simple ficher texte qui ne nécessite pas de programme particulier pour être lisible • XML est un standard libre et gratuit
Exemples concrets • Cf. le code source de la page suivante : http://www.xmlguru.de/xml/neu.xml • Transformation nécessaire via XLS • OpenOffice et Star Office utilise le standard XML pour structurer les documents • Extension .SXW n’est qu’une compression de .XML • (X)HTML version plus exigente du html • <br> devient <br /> ainsi que toutes les balises sans fermeture • Plus de balise de mise en forme CSS uniquement • Respect strict de l’ordre ouverture/fermeture des balises • Balises en minuscule • … • http://livedocs.macromedia.com/dreamweaver/8_fr/using/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=22_codi6.htm
En savoir plus sur le XML • http://www.educnet.education.fr/dossier/xml/pourquoi.htm • http://xmlfr.org/ • http://developpeur.journaldunet.com/fil/new/rubrique_xml.shtml • Google...
Une application concrète du XML : la syndication de contenu et flux RSS
Des exemples de fichiers RSS • Des millions d’exemples sur le WEB • cf. votre blogue… • http://www.presence-pc.com/feeds/composants/rss.xml • http://www.01net.com/rss/ • Etc.
Définition RSS • Format de syndication de contenu • Really Simple Syndication (syndication vraiment simple). • ou Rich Site Summary • ou RDF Site Summary • ou Ressource Description Framework Site Summary • Fil d’information mise à jour de manière chronologique que l ’on peut capter (événements, articles, news,…) • Manière de décrire un contenu d’un site... • Format basé sur le XML (description formalisée d’un contenu ou d’un site dans une structure balisée)
Bénéfices et principe de la syndication • Syndication = proposer du contenu, mettre à disposition • Agrégation = récupérer un ou plusieurs flux de syndication • Pour le site émetteur : démultiplication de la visibilité du contenu pour un site qui propose un contenu « syndiqué » • Pour le site récepteur : ajouter de la plus-value au site qui utilise un contenu syndiqué • Exemple concret : • http://www.phoenixjp.net/news/fr/ • Pour voir comment ça marche : cliquez sur Partenariat • Tout le monde est gagnant ! • Une nouvelle forme d’échange de liens et de contenu
Consulter des flux RSS • Logiciels ou clients à télécharger • RSS Reader • http://www.headlineviewer.com/ • http://www.proggle.com • Aggreg8 : http://www.aggreg8.net/ • Thunderbird, Mozilla,… (navigateur, client messagerie) • Des sites spécialisés (plates-formes d’agrégation) ou son • AMPHETADESK : http://disobey.com/amphetadesk/ • http://newsisfree.com/ • Netvibes (http://www.netvibes.com/), • Google (accueil personnalisée), Yahoo,…
Créer son flux RSS • A la « mano » avec un éditeur de texte • Fonctions intégrées dans les « bons » CMS ou Blogs • Des scripts PHP, Perl ou ASP qui récupèrent le contenu d’une BD et génèrent automatiquement un fichier .rss • http://phortail.org/syndication-0032.html • http://www.asp-php.net/scripts/asp.net/generationrss.php • … • Une suite Office (Word aussi !) • http://www.formedia.ca/office_utilities_fr/rss_editor.html • Des outils en ligne qui scannent votre site (ex : RSSify)
Et ensuite... • Le mettre à disposition http://www.monsite.com/rss/fichier.rss • Et surtout mettre à jour son site !!!
Trouver le « bon » flux RSS • Recherche un FEED : http://www.syndic8.com/ • Feedster : le google du RSS (www.feedster.com) • http://www.1001rss.com/ • http://www.lamoooche.com/ • http://www.retronimo.com/ • …
Récupérer un flux RSS externe pour son site (Agrégation) • Scripts PHP, Perl, ASP, JSP,…) pour transformer le flux en balises HTML intégrable à votre site (Programmation !) • http://zvonnews.sourceforge.net/http://chxo.com/software/feedsplitter/ • Newspépère… • http://www.mmt-fr.org/article114.html • http://phortail.org/syndication-0033.html (!) • Fonctions intégrés dans certains portails/intranet ou CMS • Exemple à suivre en PHP
Autre avec javascript • Possibilité d’intégrer sur son site quelques lignes de codes javascript pour obtenir un partie du service du site en question • Exemples : • http://www.kompass.com/kinl/static/index_kise.php?_Lang=fr&action=searchbox • http://scaschera.free.fr/master_2005/rss/ (cours 2004)
Sources pour en savoir plus sur RSS • http://stervinou.com/projets/rss/ • http://xmlfr.org/documentations/tutoriels/041022-0001 • Dossier « RSS : la syndication de contenu à la portée de tous » (developpeur.journaldunet.com) • Dossier ZDNET « Sites web : agréger du contenu avec RSS » • http://www.geste.fr/alertinfo/home.html • 01NET : http://www.01net.com/article/267734.html • http://www.retronimo.com/rss.php • http://fr.wikipedia.org/wiki/Really_Simple_Syndication
Récupérer des flux RSS…des millions d’exemples • http://www.touslesdrivers.com/index.php?v_page=22 • http://www.informanews.net/scripts/rss.php?id=0 • http://www.presence-pc.com/partenariats.php • http://www.01net.com/article/267734.html • http://www.clubic.com/divers/partner.php • … • A vous d’en trouver…
TP en PHP (Master 2007) • Exemple • http://scaschera.free.fr/master_2007/Edition_Web/rss/ • Récupérer les fichiers suivants dans un NOUVEAU répertoire de easyphp (/www/new_rep/) : • index.php • rss091.php • On modifier les fichiers…
TP N°1 : utiliser NEWSPEPERE • Copier-coller le répertoire http://scaschera.free.fr/master_2006/actu_perspectives/rss/newspepere dans /www d’easysphp • Visualiser le résultat • N’installez pas la base de données dans MYSQL • Visualiser les fichiers : • index.php • admin.php • config.php • Possibilité de choisir son thème graphique et de modifier les fichiers CSS • Cf. le fichier config.php et de voir le thème graphique associé • Intégration très facile dans un site existant… • L’application complète est dans /rss/newspepere/newspepere.zip
TP N°2 : utiliser MAGPIERSS • Choisir l’URL d’un flux RSS de votre choix • Installer le contenu du fichier ZIP du répertoire http://scaschera.free.fr/master_2006/actu_perspectives/rss/magpierss dans un nouveau répertoire dans /www d’easyphp • Modifier le fichier index.php pour faire apparaître le flux RSS que vous avez trouvé en remplaçant le contenu de :$url = 'http://www.informanews.net/scripts/rss.php?id=0'; • Modifier les balises HTML pour faire apparaître le flux dans un tableau (une ligne par titre) • Pour aller plus loin avec MAGPIERSS : • http://phortail.org/syndication-0033.html
TP N°3 : utiliser Easy RSS (…ceux qui ont du temps) • Débrouillez vous avec (même principe que le précédent) : • http://scaschera.free.fr/master_2006/actu_perspectives/rss/easyrss/easyrss.zip • Cf. les tutoriaux : • http://www.mmt-fr.org/article176.html • http://www.mmt-fr.org/article114.html