Voir aussi
Dans la même rubrique :
Lire nos fichiers de syndication
Syndication, comment s’y retrouver
Afficher plusieurs flux RSS/Atom sur une page
Lecture des caractères spéciaux et d’éléments d’un fil RSS/Atom
Des fils RSS 1.0, RSS 2.0 et Atom 1.0 pour votre site SPIP
Editez vos flux avec Fil_LE 1/2
Editez vos flux avec Fil_LE 2/2
La syndication de contenu RSS
Création à distance d’un fichier de syndication
Lecteur RSS/Atom pour votre site 1/2
Lecteur RSS/Atom pour votre site 2/2
Afficher un fil RSS/Atom sur votre site 1/3
Afficher un fil RSS/Atom sur votre site 2/3
Afficher un fil RSS/Atom sur votre site 3/3
Syndication pour phpBBDu même auteur :
Suivi de vos articles
Exécuter un Javascript dans une page SPIP
Reprendre un document Word
Les Centres de santé
Quiz en PHP 1/3
Quiz en PHP 2/3
Quiz en PHP 3/3
Comité Départemental d’Education pour la Santé des Yvelines
Les sites des Médecins Maîtres-Toile
Joindre un document à un article
Placer une image dans un article
Les raccourcis typographiques
Ecrire ou modifier un article
Présentation de l’espace rédacteurs
Conseils aux rédacteurs
Page contact en PHP 3/3
Accueil du nouveau rédacteur
Installer un script PHP pour les nuls
Javascript : n’oubliez pas Mac OS !
Page contact en PHP 1/3
Page contact en PHP 2/3
Positionnement fixe... même avec Internet Explorer !
Editer plusieurs fichiers de syndication 1/3
Editer plusieurs fichiers de syndication 2/3
Editer plusieurs fichiers de syndication 3/3
Documentation sur SPIP
Abandonnons RSS 0.91 !
Ecrire ce qu’on veut dans SPIP
Utiliser les smileys
Joindre un logo à un article
Référencer un site
Quand JavaScript est désactivé... 2/2
Un Editeur RSS pour votre site 1/2
Un Editeur RSS pour votre site 2/2
Un lecteur RSS pour votre site 1/2
Un lecteur RSS pour votre site 2/2
Menu dépliant pour les rubriques
Quand JavaScript est désactivé... 1/2
Menu de navigation sans JavaScript
Astuce pour les images fréquemment utilisées
Gestion d’une rubrique... en attendant SPIP
Page Erreur 404 en PHP
Utilisation de la classe easyRSS
Proposer plusieurs styles pour votre siteMême indexation :
Technique Web
Javascript : n’oubliez pas Mac OS !
Réaliser un formulaire de contact (4/4)
Gestion d’une rubrique... en attendant SPIP
Editer plusieurs fichiers de syndication 1/3
Un serveur dédié pour les nuls
Contrôler l’accès d’une partie du site avec .htaccess
Page contact en PHP 1/3
Publication Spip : forme et typographie
Un Editeur RSS pour votre site 2/2
xhtml - 4 : Les entités
Un lecteur RSS pour votre site 2/2
Le web structuré et sa présentation
MARST - Le Moteur Automatisé de Recherche en Santé au Travail
Réaliser un formulaire de contact (1/4)
Quiz en PHP 1/3
Qualité, centres d’intérêt et motivations des participants aux forums médicaux.
Mise en place d’un forum : une décision qui doit être mûrement réfléchie
Conseils pour débuter un site web
Quiz en PHP 3/3
Etablir un questionnaire statistique en ligne
Analyser les réponses à une liste de questions
Installer un script PHP pour les nuls
Positionnement fixe... même avec Internet Explorer !
Soigner en ligne, un art impossible ?
Quiz en PHP 2/3
Quand JavaScript est désactivé... 2/2
Créer un forum à l’aide de phpBB
Page contact en PHP 2/3
Editer plusieurs fichiers de syndication 3/3
Créer une liste de QCM
Initiation au xhtml - 3 : Rappel sur les pointeurs internet (URI/URL)
Page contact en PHP 3/3
Menu de navigation sans JavaScript
Menu dépliant pour les rubriques
Réaliser un formulaire de contact (5/4)
Syndication, comment s’y retrouver
Quand JavaScript est désactivé... 1/2
Belles icônes pas chères !
Editer plusieurs fichiers de syndication 2/3
Page Erreur 404 en PHP
Réaliser un formulaire de contact (2/4)
Tri et Histogramme
Initiation au xhtml - 1
Utilisation de la classe easyRSS
Réaliser un formulaire de contact (3/4)
Comment faire migrer son site ?
Proposer plusieurs styles pour votre site
Un Editeur RSS pour votre site 1/2
La Netiquette des forums
Initiation au xhtml - 2
Un lecteur RSS pour votre site 1/2
La syndication de contenu RSS
Ecrire ce qu’on veut dans SPIP
Lire nos fichiers de syndication
Afficher un fil RSS/Atom sur votre site 1/3
Astuce pour les images fréquemment utilisées
Afficher un fil RSS/Atom sur votre site 2/3
Afficher un fil RSS/Atom sur votre site 3/3
Lecteur RSS/Atom pour votre site 1/2
Lecteur RSS/Atom pour votre site 2/2
Lecture des caractères spéciaux et d’éléments d’un fil RSS/Atom
Syndication pour phpBB
Editez vos flux avec Fil_LE 1/2
Editez vos flux avec Fil_LE 2/2
Création à distance d’un fichier de syndication
Exécuter un Javascript dans une page SPIP
Des fils RSS 1.0, RSS 2.0 et Atom 1.0 pour votre site SPIPSpip
Publication Spip : forme et typographie
Accueil du nouveau rédacteur
Suivi de vos articles
Conseils aux rédacteurs
Ecrire ce qu’on veut dans SPIP
Présentation de l’espace rédacteurs
Ecrire ou modifier un article
Astuce pour les images fréquemment utilisées
Les raccourcis typographiques
Reprendre un document Word
Placer une image dans un article
Joindre un document à un article
Joindre un logo à un article
Référencer un site
Utiliser les smileys
Exécuter un Javascript dans une page SPIP
Des fils RSS 1.0, RSS 2.0 et Atom 1.0 pour votre site SPIP
Documentation sur SPIPSyndication
Utilisation de la classe easyRSS
Collège des Médecins Généralistes Enseignants - Université Pierre et Marie Curie
Fédération des Acteurs de l’Alcoologie et de l’Addictologie
Comité Départemental d’Education pour la Santé des Yvelines
Droit-medical.com
Editer plusieurs fichiers de syndication 1/3
Syndication, comment s’y retrouver
Atoute
Droit-médical.net
Un lecteur RSS pour votre site 1/2
Un Editeur RSS pour votre site 2/2
Généralistes 2002
Un Editeur RSS pour votre site 1/2
Editer plusieurs fichiers de syndication 3/3
Femiweb
Editer plusieurs fichiers de syndication 2/3
Afficher plusieurs flux RSS/Atom sur une page
La syndication de contenu RSS
Lire nos fichiers de syndication
Afficher un fil RSS/Atom sur votre site 1/3
Afficher un fil RSS/Atom sur votre site 2/3
Afficher un fil RSS/Atom sur votre site 3/3
Lecteur RSS/Atom pour votre site 1/2
Lecteur RSS/Atom pour votre site 2/2
Lecture des caractères spéciaux et d’éléments d’un fil RSS/Atom
Editez vos flux avec Fil_LE 1/2
Editez vos flux avec Fil_LE 2/2
Création à distance d’un fichier de syndication
Des fils RSS 1.0, RSS 2.0 et Atom 1.0 pour votre site SPIPSyndiquer tout le texte
Quand JavaScript est désactivé... 1/2
Menu dépliant pour les rubriques
Page contact en PHP 2/3
Quand JavaScript est désactivé... 2/2
Quiz en PHP 3/3
Page contact en PHP 3/3
Editer plusieurs fichiers de syndication 1/3
Quiz en PHP 1/3
Editer plusieurs fichiers de syndication 2/3
Gestion d’une rubrique... en attendant SPIP
Editer plusieurs fichiers de syndication 3/3
Positionnement fixe... même avec Internet Explorer !
Menu de navigation sans JavaScript
Javascript : n’oubliez pas Mac OS !
Page Erreur 404 en PHP
Proposer plusieurs styles pour votre site
Quiz en PHP 2/3
Page contact en PHP 1/3
Syndication, comment s’y retrouver
Installer un script PHP pour les nuls
Afficher plusieurs flux RSS/Atom sur une page
La syndication de contenu RSS
Conseils aux rédacteurs
Lire nos fichiers de syndication
Présentation de l’espace rédacteurs
Ecrire ce qu’on veut dans SPIP
Astuce pour les images fréquemment utilisées
Afficher un fil RSS/Atom sur votre site 1/3
Ecrire ou modifier un article
Les raccourcis typographiques
Afficher un fil RSS/Atom sur votre site 2/3
Afficher un fil RSS/Atom sur votre site 3/3
Reprendre un document Word
Lecteur RSS/Atom pour votre site 1/2
Lecteur RSS/Atom pour votre site 2/2
Lecture des caractères spéciaux et d’éléments d’un fil RSS/Atom
Placer une image dans un article
Editez vos flux avec Fil_LE 1/2
Joindre un document à un article
Editez vos flux avec Fil_LE 2/2
Joindre un logo à un article
Création à distance d’un fichier de syndication
Exécuter un Javascript dans une page SPIP
Des fils RSS 1.0, RSS 2.0 et Atom 1.0 pour votre site SPIP
Accueil
Boite à Outils
Syndication de contenu
Abandonnons RSS 0.91 !

La syndication de contenu est un très bon moyen de faire connaître son site. Avec SPIP, les fichiers de syndication sont générés automatiquement à partir de modèles (squelettes).
Je vous propose dans cet article d’améliorer l’efficacité de vos fils en abandonnant le format RSS 0.91 et en complétant les informations fournies [1]. Pour utiliser les propositions de cet article, la version 1.8.2 de SPIP est nécessaire, en raison des filtres texte_backend url_absolue et liens_absolus.
Avec l’installation de SPIP, vous avez 2 fichiers de syndication qui sont automatiquement réalisés :
backend.php3 il s’agit d’un fil au format RSS 0.91 présentant les 10 derniers articles publiés sur le site, avec aussi depuis SPIP 1.6 la possibilité de présenter les derniers articles d’une rubrique [2],
backend-breves.php3 c’est également un fil au format RSS 0.91 présentant les 10 dernières brèves publiées sur le site.
Si vous présentez un de ces fichiers à Feed validator, vous verrez qu’ils ne respectent pas le format RSS 0.91 [3]. Ils présentent en effet des éléments <date> et <author> non compatibles [4].
Ceci n’est pas une critique des auteurs de SPIP : je suppose que ce choix a été fait pour faciliter la récupération des informations par les premiers lecteurs RSS disponibles. Si le lecteur ne comprend pas <dc:date> ou <dc:creator>, il reconnaitra peut-être <date> ou <author>. Les lecteurs RSS/Atom ont évolué, aussi je crois préférable d’avoir des fichiers de syndication respectant les formats.
Mais ce n’est pas tout, le format RSS 0.91 est limité :
<title> ne doit pas dépasser 100 caractères et <description> 500,
il n’est pas prévu d’utiliser des modules complémentaires comme par exemple Dublin Core,
en conclusion RSS 0.91 ne peut pas être adapté pour présenter un fil de syndication correct. Ce n’est pas un problème, car avec quelques modifications simples, on obtiendra des fichiers de syndication RSS 2.0 valides [5].
Ce n’est pas une idée nouvelle puisque André Vincent l’a déjà proposée : Syndication - RSS 2.0 et OPML ainsi qu’Yves Grenier : Un fil RSS 2.0 et un fil ATOM 0.3. Il semble bien que ce choix soit retenu pour la prochaine version 1.9 de SPIP d’utiliser des fichiers de syndication backend.html et backend-breves.html au format RSS 2.0, mais cette sortie n’est pas encore pour tout de suite...
Aussi, je voudrais proposer ma contribution en proposant 2 squelettes backend.html et backend-breves.html avec quelques différences avec les articles ci-dessus ce qui vous permettra de choisir.
Le format RSS 2.0 permet d’indiquer des informations complémentaires sur votre site, je vous propose d’ajouter :
generator : il me semble utile d’indiquer que les fils sont générés par SPIP, le code indiqué ici affichera la version de SPIP installée :
<generator>SPIP <?php echo $spip_version_affichee; ?> - www.spip.net</generator> |
la largeur et la hauteur de l’image peuvent être précisés [6] :
<width>[(#LOGO_SITE_SPIP||extraire_attribut{width})]</width> <height>[(#LOGO_SITE_SPIP||extraire_attribut{height})]</height> |
description : l’élément description du channel est prévu, mais vide, ainsi que l’élément description de image, autant les utiliser,
copyright : si vous souhaitez indiquer une mention de copyright, utilisez cet élément,
pubDate : est la date de mise à jour du fil, calculée en prenant la date de l’article le plus récent. Cette date doit être au format rfc822date il faut pour cela une fonction de mise en forme qui est installée ici plutôt que dans mes_fonctions car ce format est peu utilisé ailleurs :
<BOUCLE_date_du_dernier_article(ARTICLES){lang ?}{branche ?}{par date}{inverse}{0,1}><pubDate><?php echo date("D, d M Y H:i:s", strtotime('#DATE')); ?> +0200</pubDate></BOUCLE_date_du_dernier_article> |
On peut écrire les informations de ces différents éléments directement dans le fichier backend.html puisqu’ils ne changent pas. Pour ne pas avoir de problème d’affichage avec les caractères accentués, j’utilise des mots clés pour webmestre, page contact webmestre, description (channel et image) et copyright. Pour cela j’ai créé un groupe de mots clés particulier [7] : ELEMENTS_FIL réservé aux administrateurs, en ayant veillé à ce qu’il ne soit pas proposé pour les articles et brèves, et j’écris 5 mots clés : Copyright, Webmaster, uri_Webmaster, Description_image et Description_site en utilisant Texte explicatif pour noter l’information souhaitée. Il faut alors mettre dans le fichier backend.html (à adapter pour chaque mot clé) :
<BOUCLE_motcle_Copyright(MOTS){titre="Copyright"}> |
Si vous ne souhaitez pas créer des mots clés spécifiques, une autre façon de faire est d’utiliser le fichier local_fr.php3 [8], par exemple en notant :
'copyright' => 'Copyright Médecins Maîtres-Toile francophones',
|
il faudra alors mettre dans backend.html :
<copyright><:copyright:></copyright> |
webmestre :
<BOUCLE_motcle_Webmaster(MOTS){titre="Webmaster"}> |
Je vous suggère de noter dans le mot clé Webmaster "Votre prénom, nom" et dans uri
Webmaster "Votre page de présentation" où votre page de présentation est la page auteur vous concernant (généralement "auteur.php3 ?id_auteur=1") qui permet l’envoi d’un message par un formulaire.
On peut utiliser <webMaster></webMaster> mais uniquement pour indiquer son email, ce qui n’est pas conseillé pour limiter le spam.
Et puis, pourquoi afficher seulement les 10 derniers articles, pourquoi pas 15 ? Je vais aussi vous proposer de simplifier la boucle d’affichage [9] qui devient :
<BOUCLE_15recents(ARTICLES){lang ?}{branche ?}{par date}{inverse}{0,15}{unique}> |
Ceci permet d’afficher à côté du nom de l’auteur l’URL de sa page de présentation permettant l’envoi d’un message par un formulaire.
Ce code permet l’affichage des URL absolues pour les images et les liens dans <description>, donc utilisables pour un fil, contrairement à la dernière mise à jour 1.8.2e de SPIP où pour l’élément <description> le logo de l’article, les images et les liens s’affichent avec des URL relatives.
J’ai fait le choix pour ce fichier d’afficher la présentation de l’article, mais pas le texte entier (contenu "riche"), mais je présenterai d’autres fichiers offrant cette posssibilité dans un second article. Attention, si vous utilisez une version de SPIP comprise entre la 1.8.2 et la 1.8.2d, le fichier backend.html par défaut présente vos articles entiers sans vous demander votre avis ! Ce problème est corrigé avec la mise à jour 1.8.2e.
Les navigateurs modernes comme Firefox signalent la présence d’un fil de syndication par le symbole
à droite de la barre de navigation (en bas à droite des pages pour les versions antérieures à Firefox 1.5).
Afin que pour votre site les fichiers de syndication soient signalés par cette image, il faut indiquer dans le code de la page entre <head> et </head> la balise :
<link rel="alternate" type="application/rss+xml" title="<:syndiquer_site:>" href="backend.php3"> |
<:syndiquer_site:> sera remplacé par "Syndiquer tout le site", si vous voulez modifier cette phrase, il faut ouvrir le fichier "/ecrire/lang/public_fr.php3" pour mettre à la place par exemple "Syndiquer les 15 derniers articles", il faut également mettre à jour les autres fichiers de langue si votre site est multilingue. Vous pouvez faire de même pour les brèves, avec pour un site uniquement en français :
<link rel="alternate" type="application/rss+xml" title="Syndiquer les 15 dernières brèves" href="backend-breves.php3"> |
Pour un site multilingue, on préférera :
<link rel="alternate" type="application/rss+xml" title="<:syndiquer_breve:>" href="backend-breves.php3"> |
à condition de créer un fichier "/ecrire/lang/local_fr.php3" [8] dans le quel on indiquera par exemple : 'syndiquer_breve' => 'Syndiquer les 15 dernières brèves', on fera de même pour les fichiers correspondant aux autres langues du site.
Dans les fichiers par défaut de SPIP, la balise pour les articles est déjà placée dans le squelette de la page d’accueil sommaire.html, mais pas la balise pour les brèves. Si vous souhaitez que le symbole soit visible dans toutes les pages du site, placez également les balises dans le squelette article.html, et pour les brèves dans breve.html. La page rubrique.html contient déjà une balise proposant les 15 derniers articles de la rubrique :
<BOUCLE_rubrique(RUBRIQUES) {id_rubrique}> |
à vous de voir si vous voulez également ajouter dans cette page une balise pour les 15 derniers articles ou pour les 15 dernières breves.
Cet article vous présente les éléments pour avoir des fichiers backend.php3 et backend-breves.php3 plus complets et conformes au format RSS 2.0 (Voir en bas de l’article le fichier à télécharger contenant des exemples de squelettes).
Dans l’article Des fils RSS 1.0, RSS 2.0 et Atom 1.0 pour votre site SPIP, je vous proposerai également des fils aux formats RSS 1.0 et Atom, j’en profiterai pour vous présenter des fichiers avec le texte complet des articles pour ceux qui veulent cette possibilité.
Le document joint à cet article, backend_4.zip : contient les exemples de fichiers backend.html et backend-breves. html. Il a été fait pour pouvoir être installé tel quel sur un site SPIP afin de pouvoir être utilisé par ceux qui ne sont pas habitués à modifier les squelettes. Ainsi, si les mots clés proposés dans cet article pour Copyright, Webmaster, Description_image et Description_site n’ont pas été réalisés, ils ne seront pas affichés ; si on n’a pas précisé quelle image utiliser pour #LOGO_SITE_SPIP tous les éléments correspondant à <image> n’apparaitront pas, si la largeur de l’image dépasse 144 pixels ou sa hauteur 400 pixels, ces dimensions ne seront pas mentionnées pour que le fichier soit conforme au standard RSS 2.0 (Pour cela j’ai du ruser en ajoutant un peu de PHP dans le squelette).
[1] Cet article a été publié le 6/09/05 (son titre était alors "Pour avoir des fils propres, nettoyez vos squelettes !"). Il a ensuite été modifié le 16/12/05, le 26/12/05, le 3/01/06, le 10/01/06 et le 22/01/06. Le fichier à télécharger tient compte de ces modifications. Merci à André Vincent pour ses conseils pour améliorer cet article.
[2] Par exemple backend.php3?id_rubrique=3 affichera uniquement les derniers articles de la rubrique 3.
[3] Voir Backend.UserLand.Com et RSS 0.91 Spec, revision 3.
[4] Je ne détaille pas les raisons d’abandonner <date> et <author>, si cela vous intéresse, lisez FichiersDeSyndication.
[5] Informations sur le format RSS 2.0 : RSS 2.0 Specification (en anglais) et RSS 2.0 (en français).
[6] Si vous ne savez pas comment utiliser #LOGO_SITE_SPIP il faut aller dans le back-office et cliquer sur Edition, vous avez alors la possibilité de choisir le LOGO STANDARD DES RUBRIQUES qui sera reconnu par #LOGO_SITE_SPIP
Quand vous faites cela, le logo du site sera aussi le logo par défaut pour toutes vos rubriques. Si ce n’est pas ce que vous voulez, il faut indiquer autrement le logo de votre site dans vos fils, par exemple en notant les valeurs dans backend.html et backend-breves.html :
<image> |
[7] J’adapte ici l’astuce présentée par Yves Grenier dans Un fil RSS 2.0 et un fil ATOM 0.3 pour le "Sous_titre_site".
[8] C’est dans les fichiers de langue de spip, dans /ecrire/lang/. Si vous n’avez pas l’habitude d’utiliser local_fr.php3, voyez la page Internationalisation du squelette qui donne des explications et un exemple.
[9] Cette unique boucle permet l’affichage des 15 derniers articles parus, ou si le fichier est appelé par backend.php3?id_rubrique=44 des 15 derniers articles de la rubrique indiquée.

Très bonne initiative que de mettre à niveau les fichiers backend de SPIP, il n’empêche, un validateur de flux comme Feed Validator y trouvera à redire :
Undefined channel element : width
Undefined channel element : height
Ces élements (hauteur et largeur) ne sont pas reconnus, par exemple.
Ne sachant pas trop ou placer ma question, la voilà tout de même :
Pour la syndication sous SPIP, j’ai du renseigner la case "passer par un proxy", en y mettant l’adresse que m’a fournie mon hebergeur du type http://proxy.monhebergeur.fr:8080
Depuis, plus aucun souci.
par contre lorsque j’assaie d’inclure une fonction php qui doit "parser" un flux d’un autre site, la fonction fopen ne recoit pas la connexion (warning : ...) Je suppose que c’est parce que php ne "sait" pas qu’un proxy est necessaire. Comment lui faire comprendre ???
Merci pour toute contribution, et désolé si je ne suis pas au bon endroit, mais je ne voit plus ou m’adresser .
Stéphane
Pour indiquer le charset automatiquement tu peux utiliser la balise #CHARSET.
Pour le reste, je suis en train de modifier backend.html pour qu’il soit RSS 2.0, et tes pages me sont bien utiles... n’hésite pas à venir sur irc ou sur spip-dev pour nous aider à faire ça bien.
#CHARSET fonctionne bien dans un squelette .html mais pas dans un fichier .php3
Je n’ai malheureusement rien trouvé de mieux que ce que je propose dans l’article.