Accueil Boite à Outils Syndication de contenu La syndication de contenu RSS

Publié le : 9 janvier 2006
Publication antérieure :
12 mai 2004

Imprimer Imprimer cet article

Auteur :
Alain Sichel

Alain Sichel
La syndication de contenu RSS
Syndiquons nous !

Les solutions sur la syndication de contenu proposées dans cet article se limitent volontairement à quelques exemples de mise en œuvre simple. Ceux qui veulent aller plus loin trouveront quelques liens en fin de l’article. [1]

Qu’est-ce que la syndication de contenu ?

On parle de "syndication de contenu" pour désigner la possibilité d’afficher sur un site (généralement de façon automatique), des informations provenant d’un autre site.

Le plus souvent cette syndication se fait en utilisant les informations d’un fichier de syndication donnant les informations sur le site syndiqué et les derniers articles publiés (avec titre, lien, date, auteur et résumé).

En pratique, le site A (syndiqué) fabrique un fichier de syndication, le place sur son site, et le site B (syndiqueur) peut afficher automatiquement des informations concernant le site A grâce à ce fichier. Le même fichier accessible à tous permet d’afficher ces informations (sommaire, derniers articles du site A) sur un nombre infini de sites C, D, E ,F.

Pour que la syndication fonctionne, il faut une démarche active des deux sites :
- le site A qui souhaite être syndiqué et place un fichier de syndication sur son site,
- le site B qui souhaite syndiquer le site A et qui crée une page spécifique capable d’afficher les données du fichier de syndication du site A.

Voici un exemple : cette page de l’annuaire MMT recense dans sa partie inférieure les articles de sites d’autres membres. Ce recensement est automatique et n’a nécessité que la création d’un code spécifique qui lit un fichier de syndication.

Le format RSS (pour "RDF - Resource Description Framework - Site Summary", "Rich Site Summary" ou "Real Simple Syndication") est le principal format utilisé pour cela. C’est un format basé sur XML.

Dans l’exemple ci-dessus, pour les articles du site CYES, le fichier de syndication utilisé est http://www.cyes.info/rss2.xml. Vous pouvez lire ce fichier mais il n’est pas prévu pour être affiché car c’est un ficher de données.

Pour être complet, sachez enfin qu’un fichier de syndication permet d’afficher les données du site directement sur un ordinateur (sans passer par un navigateur) grâce à un petit logiciel dédié (pour Linux/PC/MacOS).


Avantages de la syndication

La syndication est avantageuse pour tout le monde :

- le site qui propose un fichier de syndication (le syndiqué) peut voir ses informations présentées sur plusieurs sites, ceci lui permet d’améliorer son trafic et son référencement,

- le site qui affiche le contenu syndiqué (le syndiqueur) montre son dynamisme et apporte à ses lecteurs des liens vers des contenus qui peuvent les intéresser. Ses pages sont souvent modifiées (grâce à l’évolution du sommaire des sites syndiqués) ce qui donne envie de retourner sur le site et conduit les moteurs de recherche à l’indexer plus souvent. Tout cela est automatisé et ne demande aucun travail,

- une véritable chaîne de solidarité peut se créer entre des sites qui se syndiquent mutuellement, autour d’une projet ou d’un sujet commun. La syndication mutuelle est finalement une forme d’anneau évoluée MMTRing.


Afficher sur son site des fichiers de syndication

Selon le type de votre site, les solutions pour afficher le contenu de fichiers de syndication d’autres sites, seront différentes :

- Votre site utilise SPIP :

La syndication d’un site est très simple à réaliser dans SPIP. Voici les différentes étapes :

- Votre site utilise PHP (non SPIP) :

Pour un site en PHP, il faut utiliser un script PHP qui va transformer les informations du fichier RSS en une forme présentable, au format de son choix. Après avoir essayé plusieurs scripts avec plus ou moins de succès, je préconise d’utiliser la classe fil_LE qui est simple à mettre en place et à modifier en fonction de ses choix.

Vous pouvez voir le résultat sur le site du CYES, sur différents exemples indiqués à partir de la page Actualité thématique. Pour alléger cet article, les explications pour utiliser fil_LE, le code des exemples et son téléchargement sont visibles à partir de la page Afficher un fil RSS/Atom sur votre site 1/3.

Mais il existe aussi d’autres techniques dynamiques :

- En utilisant ASP/ASP.NET :

- En utilisant Perl ou Python :

- En utilisant Java :

- En utilisant une feuille XSL : XSL peut permettre de transformer du XML en HTML, plusieurs pistes :

- Par l’insertion dans une page Flash :

- Votre site est en HTML (pages créées à la main) :

Voici plusieurs solutions pour un site statique [5], mais autant le dire tout de suite, il n’y a aucune bonne solution, alors autant penser dès maintenant à changer d’hébergeur smiley :

1) avec un Javascript :

Cette méthode est la plus simple, mais elle ne fonctionne que si le site que vous voulez syndiquer a prévu un javascript. Dans le doute, interrogez son maître-toile. Spip génère automatiquement un javascript de syndication appelé distrip.php3.

Mettez ce code dans votre page :

<script type="text/javascript"
src="http://www.mmt-fr.org/distrib.php3"></script>

voici un exemple pour voir ce que cela donne dans un fichier .htm.

2) avec une iframe :

En mettant ce code :

<iframe src="http://www.cyes.info/backend.htm" name="cyes" width="640" height="390" scrolling="auto" frameborder="0"><br>Navigateur non compatible avec les IFRAMES</iframe>

voilà un exemple dans un fichier .htm.

Ceci ne marche qu’avec un fichier de syndication dans un format directement lisible dans une iframe (format .html ou .txt). Là encore, le site syndiqué doit avoir prévu ce type de fichier.

3) avec une ruse :

Votre site n’est pas dynamique et vous voulez syndiquer un site qui ne propose qu’un fichier RSS (et pas de javacript ni de fichier htm ou txt) ; comment faire ? La seule solution est alors de créer une page PHP que vous hébergez où vous voulez (sur un hébergement qui gère le php). Ce fichier utilise fil_LE pour traiter le fichier, vous affichez ensuite le résultat avec une iframe :

<iframe src="http://www.mmt-fr.org/alain/easyRSS/atoute.php" name="atoute" width="600" height="200" scrolling="auto" frameborder="0"><br>Navigateur non compatible avec les IFRAMES</iframe>

Une autre ruse possible, toujours avec une page utilisant fil_LE placée sur un autre serveur gérant le PHP consiste :


Réaliser un fichier de syndication pour son site afin de pouvoir être syndiqué par d’autres sites

Selon le type de votre site, voici quelques solutions pour réaliser un fichier de syndication de votre site avec ses derniers articles qui vous permettra d’être référencé par des sites amis :

- Votre site est construit avec SPIP :

La syndication du site se fait de façon automatique dans SPIP, 3 fichiers sont générés [6] :

- Votre site est en PHP (non SPIP) :

Les articles Un Editeur RSS pour votre site 1/2 et 2/2 présentent un éditeur de fichier de syndication au format RSS 0.91 utilisant la classe EasyRSS [10]. L’interface se fait en ligne avec un formulaire assez semblable à celui de RSS Channel Editor.

- Votre site est en HTML (pages créées à la main) :

Voici plusieurs méthodes plus "rustiques" mais efficaces pour réaliser son fichier de syndication :

1) avec la page RSS Channel Editor :

La page RSS Channel Editor présente un formulaire dont il suffit de remplir les champs avec les informations sur votre site, ses derniers articles... Après envoi, vous récupérez le fichier RSS qu’il n’y a plus qu’à placer sur votre site. Malheureusement cette page n’accepte pas les caractères accentués...

2) à la main :

Avec un éditeur de texte, il n’est pas difficile en prenant exemple sur un fichier RSS correct de réaliser le sien par simple copié-collé avec les informations concernant son site. Voici un exemple minimaliste :


On peut appeler ce fichier par exemple backend.rss (le nom et l’extension de ce fichier importent peu). La seule difficulté concerne les sites qui ont beaucoup de nouvelles pages, la mise à jour "à la main" devient alors fastidieuse... Au cas où votre fichier de syndication ne serait pas reconnu, envoyez à nouveau votre fichier sur votre site, en veillant à ce que le transfert se fasse en mode texte (ou ASCII).

3) avec un fichier .txt :

Si vous n’avez pas un site qui réalise automatiquement un fichier RSS (comme SPIP) et que vous voulez faire "à la main" un fichier de syndication simple à réaliser et facilement visible par tous, alors le plus simple est de faire un fichier au format .txt (texte simple) et vous le renommez ensuite en backend.htm. Voici un exemple, regardez son code très simple.

Plus facile à réaliser que le précédent ce fichier peut être écrit avec un éditeur de texte ou avec un logiciel d’édition de pages web. Dans l’exemple ci-dessus j’ai choisi d’utiliser la balise title="" du lien pour donner le résumé de la page.

Pour afficher ce type de fichier dans un site, il suffit :


Voilà quelques exemples de solutions de mise en oeuvre simple. Quand votre choix est fait et le fichier de syndication réalisé, il ne reste plus qu’à informer les visiteurs de votre site par exemple avec une page comme celle-ci. Vous pouvez aussi informer vos lecteurs de l’existence d’un fichier RSS, sur votre page d’accueil par exemple, par un petit logo XML comme par exemple sur la page d’accueil de notre site.


Quelques liens sur la syndication

Si vous voulez aller plus loin sur ce sujet, voici quelques liens :


 

[1] En raison de la disparition du site RESSY.org dont plusieurs pages étaient utilisées comme exemples pour cet article, cette page a été modifiée en septembre 2004 pour renvoyer à d’autres fichiers d’exemples.

[2] Le terme de squelette est utilisé dans SPIP pour désigner les modèles de pages.

[3] On ne rentrera pas ici dans les détails, si vous voulez voir à quoi cela ressemble, regardez le code du squelette utilisé sur ce site pour presque tous les sites syndiqués. Le code de la boucle elle-même est le suivant :

<!-- Double boucle syndication. Elle affiche les articles des sites syndiqués,
classés par site -->

<!-- Boucle qui affiche les sites syndiqués  -->
<B_sitesmmt>
<p>Les derniers articles de nos membres :<p>
<BOUCLE_sitesmmt(SITES){id_rubrique}{syndication=oui} {0,50}>
[<a href="#URL_SITE"><b>(#NOM_SITE)</b></a>]

<!-- Sous Boucle qui affiche les 6 derniers articles de chaque site syndiqué -->
        <B_rubMMT>
        <ul>
        <BOUCLE_rubMMT(SYNDIC_ARTICLES){id_syndic}{0,6}>
        <li>[<a href="#URL_ARTICLE" target="_blank">(#TITRE*)</a>]</li>
        </BOUCLE_rubMMT>
        </ul>
        </B_rubMMT>

<br>
</BOUCLE_sitesmmt>

[4] Pour afficher la rubrique Education pour la santé avec 15 articles et le résumé, voici le squelette.

[5] Statique, c’est à dire constitué de pages html créées à la main le plus souvent, s’oppose à site "dynamique" pour lequel les pages sont créées à la demande à partir d’une base de données

[6] On peut même aller plus loin comme l’indique l’article Un fil RSS 2.0 et un fil ATOM 0.3.

[7] Pour modifier la présentation de ce fichier, ce qui est rarement utile, il faut modifier son squelette. Après modification, renommez ce fichier backend.html pour éviter qu’il ne soit écrasé lors des mises à jour.

[8] Pour modifier la présentation de ce fichier, il faut modifier son squelette, ce que je conseille vivement : aller voir le notre, j’ai débarrassé le fichier d’origine des balises imposant des couleurs, ce qui permet une meilleure intégration dans la présentation de chaque site. Après modification, renommez ce fichier distrib.html pour éviter qu’il ne soit écrasé lors des mises à jour.

[9] Pour modifier la présentation de ce fichier, il faut modifier son squelette. Après modification, renommez ce fichier backend-breves.html pour éviter qu’il ne soit écrasé lors des mises à jour.

[10] De nouveaux articles sont en préparation avec un nouvel éditeur basé sur fil_LE.




Cliquez ici pour réagir à cet article

Imprimer Imprimer cet article


Réactions à l'article :