Voir aussi
Dans la même rubrique :
Editer plusieurs fichiers de syndication 1/3
Editer plusieurs fichiers de syndication 2/3
Editer plusieurs fichiers de syndication 3/3
Un Editeur RSS pour votre site 1/2
Un lecteur RSS pour votre site 1/2
Un lecteur RSS pour votre site 2/2
Utilisation de la classe easyRSSDu même auteur :
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
Lire nos fichiers de syndication
Page contact en PHP 3/3
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
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 !
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
Documentation sur SPIP
Abandonnons RSS 0.91 !
La syndication de contenu RSS
Ecrire ce qu’on veut dans SPIP
Utiliser les smileys
Joindre un logo à un article
Référencer un site
Création à distance d’un fichier de syndication
Lecteur RSS/Atom pour votre site 1/2
Lecteur RSS/Atom pour votre site 2/2
Quand JavaScript est désactivé... 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
Un Editeur RSS pour votre site 2/2
Menu dépliant pour les rubriques
Quand JavaScript est désactivé... 1/2
Menu de navigation sans JavaScript
Exécuter un Javascript dans une page SPIP
Astuce pour les images fréquemment utilisées
Gestion d’une rubrique... en attendant SPIP
Page Erreur 404 en PHP
Proposer plusieurs styles pour votre siteMême indexation :
Technique Web
Comment intégrer Snap Shots à Rapidweaver ?
Editer plusieurs fichiers de syndication 1/3
Réaliser un formulaire de contact (4/4)
Un serveur dédié pour les nuls
Un lecteur RSS pour votre site 2/2
La Netiquette des forums
Le web structuré et sa présentation
Réaliser un formulaire de contact (3/4)
Quiz en PHP 1/3
Editer plusieurs fichiers de syndication 3/3
MARST - Le Moteur Automatisé de Recherche en Santé au Travail
Un Editeur RSS pour votre site 1/2
Editer plusieurs fichiers de syndication 2/3
Qualité, centres d’intérêt et motivations des participants aux forums médicaux.
Initiation au xhtml - 1
Conseils pour débuter un site web
Page contact en PHP 2/3
xhtml - 4 : Les entités
Positionnement fixe... même avec Internet Explorer !
Page Erreur 404 en PHP
Analyser les réponses à une liste de questions
Proposer plusieurs styles pour votre site
Gestion d’une rubrique... en attendant SPIP
Créer un forum à l’aide de phpBB
Menu dépliant pour les rubriques
Syndication, comment s’y retrouver
Installer un script PHP pour les nuls
Publication Spip : forme et typographie
Menu de navigation sans JavaScript
Mise en place d’un forum : une décision qui doit être mûrement réfléchie
Javascript : n’oubliez pas Mac OS !
Soigner en ligne, un art impossible ?
Quand JavaScript est désactivé... 2/2
Webmasters : Comment mieux se référencer ?
Utilisation de la classe easyRSS
Réaliser un formulaire de contact (5/4)
Quand JavaScript est désactivé... 1/2
Créer une liste de QCM
Quiz en PHP 3/3
Etablir un questionnaire statistique en ligne
Page contact en PHP 1/3
Un lecteur RSS pour votre site 1/2
Page contact en PHP 3/3
Belles icônes pas chères !
Initiation au xhtml - 3 : Rappel sur les pointeurs internet (URI/URL)
Réaliser un formulaire de contact (1/4)
Initiation au xhtml - 2
Quiz en PHP 2/3
Comment faire migrer son site ?
Contrôler l’accès d’une partie du site avec .htaccess
Réaliser un formulaire de contact (2/4)
Tri et Histogramme
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
Abandonnons RSS 0.91 !
Des fils RSS 1.0, RSS 2.0 et Atom 1.0 pour votre site SPIPSyndication
Un Editeur RSS pour votre site 1/2
Femiweb
Editer plusieurs fichiers de syndication 1/3
Utilisation de la classe easyRSS
Un lecteur RSS pour votre site 1/2
Editer plusieurs fichiers de syndication 3/3
Syndication, comment s’y retrouver
Comité Départemental d’Education pour la Santé des Yvelines
Droit-médical.net
Atoute
Editer plusieurs fichiers de syndication 2/3
Fédération des Acteurs de l’Alcoologie et de l’Addictologie
Généralistes 2002
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
Abandonnons RSS 0.91 !
Des fils RSS 1.0, RSS 2.0 et Atom 1.0 pour votre site SPIP
Accueil
Boite à Outils
Syndication de contenu
Syndication de contenu - Archives
Un Editeur RSS pour votre site 2/2

Cet article a été publié le 29 janvier 2005, il est actuellement dépassé et n’a plus qu’un intérêt "historique". Pour éditer des fichiers de syndication, je vous conseille plutôt de voir Editez vos flux avec Fil_LE 1/2 et 2/2.
Après le premier article pour présenter l’Editeur RSS [1] et permettre de l’installer tel quel prêt à fonctionner, cette deuxième partie donne quelques explications sur son fonctionnement [2].
Le code présenté ici est celui du fichier “maker.php" [3]
Ce fichier utilise la classe "easyRSS" pour lire un fichier de syndication existant et pour l’éditer.
Je crois inutile de décortiquer tout le code de cette page, quelques éléments expliqués permettront de comprendre l’ensemble, car il est assez répétitif [4]. Voici le début :
include('easyRSS_reader.inc.php'); |
On commence par inclure "easyRSS_reader.inc.php" (c’est ici qu’il faudra indiquer le chemin vers ce fichier s’il ne se trouve pas dans le même dossier que "maker.php" [5]). On poursuit en vérifiant que l’URL est correcte, sinon on affiche un message d’erreur.
On poursuit en récupérant les différentes informations dans des variables qui serviront à l’affichage dans les champs du formulaire, sans oublier l’affichage d’un message d’erreur si le fichier n’est pas lisible normalement :
$ctitle = $rss -> get_channel_title(); |
Les informations des articles sont récupérées dans des variables :
$item1_title = $news_title[1]; |
Ce code est appliqué pour les 15 items.
Le début du formulaire concerne le champ de l’URL du fichier de syndication à lire :
<form method="post" action="<?=$PHP_SELF ?>" enctype="application/x-www-form-urlencoded"> |
Si l’URL a été transmise par l’envoi du formulaire (donc "$rss_url" existe), on affiche cette URL dans le champ après vérification ("$fil"), sinon, on indique ’http://’. A côté de chaque élément, on peut faire appel au fichier d’aide pour préciser de quoi il s’agit : <a target="_blank" href="aide.html#rss_url">?</a>
Tous les champs du formulaire sont conçus de la même manière, prenons un exemple :
<tr align="left" valign="middle"> |
Après envoi du formulaire pour lire un fichier RSS, les données récupérées seront affichées dans les champs correspondants (ici par : value="<?=$newtitle1 ?>" [6]). Après envoi du formulaire pour l’édition du fichier, chaque élément sera identifié par le nom du champ (ici : name="newtitle1").
L’éditeur est lancé si $_POST["ecrire"] existe, ce qui est le cas quand on envoie avec le bouton "Construire RSS". On inclue "easyRSS_maker.inc.php" (ici aussi, n’oubliez pas d’indiquer le chemin si ce fichier n’est pas dans le même dossier que "maker.php") :
if(isset($_POST["ecrire"])) { |
On déclare le Channel avec ses éléments obligatoires : Title, Link, Description, Language, et optionnels : Copyright, WebMaster :
$myrss -> channel(stripslashes(trim($_POST["ctitle"])), trim($_POST["clink"]), |
La fonction stripslashes() permet de supprimer les backslashes "\" devant les simples et doubles quotes (’ et "), trim() supprime les caractères blancs en début et fin de chaîne.
On récupére les nouveaux articles s’ils existent :
if(($_POST["newtitle1"])!='') {$myrss -> add_item(stripslashes(trim($_POST["newtitle1"])), trim($_POST["newlink1"]), trim($_POST["newauthor1"]), trim($_POST["newdate1"]), stripslashes(trim($_POST["newdesc1"])));} |
Le même principe est appliqué aux Items :
if(($_POST["item2_title"])!='') { $myrss -> add_item(stripslashes(trim($_POST["item2_title"])), trim($_POST["item2_link"]), trim($_POST["item2_author"]), trim($_POST["item2_date"]), stripslashes(trim($_POST["item2_desc"])));} |
Avec une particularité pour les Items 14 et 15, puisqu’ils seront supprimés si il y a de nouveaux Items 1 :
if((($_POST["newtitle2"])=='') && (($_POST["item14_title"])!='')) { $myrss -> add_item(stripslashes(trim($_POST["item14_title"])), trim($_POST["item14_link"]), trim($_POST["item14_author"]), trim($_POST["item14_date"]), stripslashes(trim($_POST["item14_desc"])));} |
Et enfin on crée le fichier RSS :
$myrss -> save('../backend.rss'); |
C’est backend.rss qu’il faudrait modifier si on voulait que le fichier ait un autre nom ou une extension différente. On peut aussi modifier le chemin : ici, ’../’ permet que le fichier soit enregistré à l’extérieur du répertoire, donc à la racine du site.
Au cours de cet article, je n’ai envisagé que des modifications simples de ce script :
changer l’emplacement du dossier easyRSS,
changer l’emplacement où est enregistré le fichier backend.rss,
changer le nom du fichier de syndication réalisé.
On peut envisager d’autres modifications, que je ne vais pas développer car sinon il faudrait un 3e article sur cet Editeur. Mais, avec toutes les informations de la rubrique Syndication de contenu, je crois que quelqu’un qui va chercher un peu dans le code peut les réaliser, et ce sera un bon exercice de PHP. Quelques exemples :
supprimer le champ RSS URL pour remplacer par l’adresse de votre fichier de syndication dans le code ou par un menu déroulant proposant vos différents fichiers de syndication,
supprimer les champs des éléments constants (Channel Sommaire, Channel Image, Language...) en les notant directement dans le code,
supprimer des champs inutilisés Webmaster, Copyright, Author (si l’auteur de tous les articles est la même personne, à quoi bon le mettre à chaque fois),
ajouter les champs facultatifs que l’on souhaite PICS Rating, Managing Editor, Publish Date, Last Build, Input Title, Input Name, Input Link...,
prendre en compte d’autres sous éléments : <dc:author>, <category>, <comments>, <guid>, <source>, <dc:date> ou <pubDate> [7],
modifier le nombre de nouveaux Items (si on veut pouvoir en ajouter 3 à la fois) ou le nombre d’Items (si on veut se limiter à 10),
etc.
Cette première version de l’Editeur RSS est encore imparfaite, elle est limitée au format 0.91, mais elle a le mérite d’exister et de permettre à ceux qui n’ont pas un site sous SPIP de se mettre sans grande difficulté à la syndication de contenu.
[1] Ce script a été mis au point pour le site du CYES.
[2] Après avoir mis au point cet éditeur et l’avoir utilisé sur le site du CYES, j’ai cherché à aller plus loin et à lui faire réaliser en même temps plusieurs fichiers de syndication (RSS 0.91, RSS 2.0, Atom 0.3, HTML et Javascript). Cette nouvelle version est décrite dans Editer plusieurs fichiers de syndication 1/2 et 2/2.
[3] Attention, ce fichier utilise la classe easyRSS version 1.5.1, il ne peut donc pas fonctionner seul. Tous ces fichiers sont contenus dans "easyRSS.zip" qui peut être téléchargé en bas du premier article.
[4] Les articles Utilisation de la classe easyRSS, Un lecteur RSS pour votre site 1/2 et Un lecteur RSS pour votre site 2/2 ont déjà présenté l’utilisation de cette classe pour afficher un fichier de syndication.
[5] Si vous utilisez easyRSS pour afficher d’autres fichiers de syndication, il ne faut pas que vous soyez gêné par un accès réservé par le fichier .htaccess. Il faut donc mieux dans ce cas mettre uniquement les fichiers "maker.php" et "aide.html" dans un dossier sécurisé.
[6] L’écriture de value="<?=$newtitle1 ?>" est une forme simplifiée équivalente à value="<?php echo $newtitle1; ?>"
[7] Voir l’article Fichiers De Syndication.