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