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