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

Cet éditeur utilise Fil_LE de Dominique Wojylac. Fil_LE comprend 2 classes :
rss_read [2] qui sera utilisé pour récupérer les informations du fil que l’on veut mettre à jour,
rss_write [3] qui permet l’édition des différents fils.
Ces 2 classes sont complétées par plusieurs fichiers :
rss_w.functions.php qui regroupe plusieurs fonctions,
des "templates / plugins" (un pour chaque format, indiquant les règles de rédaction de chaque fil) [4],
des fichiers de documentation : Comparatif_formats.html (tableau comparatif des différents formats de flux), doc_rss_write.html (documentation sur rss_write).
"Les données nécessaires à la génération des flux sont stockées dans des tableaux, et sont ensuite utilisées pour générer les valeurs correspondants aux balises exigées dans le format du flux. (exemple channel['copyright'] servira pour les balises "<copyright>" (format RSS 2.0) ou "<dc:rights>" (format RDF 1.0). D’autre part une fois les tableaux renseignés, plusieurs flux de formats différents pourront être générés, sans besoin de réinitialiser lesdites données."
La date de publication du fil n’est pas celle qui est récupérée mais bien celle du moment où on édite les flux.
editeur.php contient des fonctions qui contrôlent que les différentes données (date, URL, texte) sont bien dans le bon format, si ce n’est pas le cas l’édition n’a pas lieu et un message apparaît indiquant l’erreur.
Avant d’essayer les modifications d’editeur.php que vous souhaitez, je vous suggère de dupliquer ce fichier pour pouvoir retrouver le code d’origine au cas où les transformations ne se passent pas comme prévu, et de renommer celui sur lequel vous travaillerez (par exemple mon_site.php).
Supprimer un ou plusieurs formats est très simple, il suffit de retirer la case à cocher du format non désiré à la ligne 245 du code de editeur.php, par exemple <input type="checkbox" name="format_flux[0]" value="rss20" border="0" checked="checked" /> pour le format RSS 2.0.
Ajouter un format demande plus de modifications :
Il faut ajouter la case à cocher pour se format supplémentaire, par exemple pour Atom 0.3 [5] :
<input type="checkbox" name="format_flux[2]" value="atom03" border="0" checked="checked" /> |
Il faut ajouter un plugin dans le dossier rss_write pour indiquer la mise en forme du format choisi (pour cela inspirez-vous des plugins existants et des caractéristiques du format). Ce plugin devra être nommé rss_w.format.php où format sera identique à value= de la case à cocher.
Si vous avez choisi d’indiquer dans vos fils Webmaster, Logo, Date, Auteur... plutôt que de cocher à chaque fois les cases correspondantes avant d’éditer vos fils, il est plus simple de cocher par défaut dans le code des cases choisies (<input type="checkbox" name="... />) en ajoutant checked="checked" à la place du bout de code PHP qui coche cette case si le choix est repéré.
Voici par exemple pour la case Webmaster, le code :
<input type="checkbox" name="channel_option[author]" value="true" border="0" onchange="next_op(this.form, 'refresh')" <?php echo option_checked(($channel_option['author']) or ($channel['author'])); ?>> |
qui devient si on coche cette case par défaut :
<input type="checkbox" name="channel_option[author]" value="true" border="0" onchange="next_op(this.form, 'refresh')" checked="checked" /> |
Ensuite, il ne faut pas oubliez de supprimer le code PHP (ou de le neutraliser par // en début de ligne) qui permet l’affichage du champ correspondant si l’option est choisie ou présente dans le fil récupéré, sinon, le champ ne sera pas visible. Par exemple, pour le champ Webmaster, ce sont les lignes 271 et 276 qu’il faut supprimer ou neutraliser.
La valeur de certains éléments ne changent pas, comme le Titre du site, son URL, la Description, le Webmaster... on peut donc préférer les inscrire directement dans le code plutôt que de les récupérer à chaque fois.
Il y a pour cela 2 façons,
soit de les noter dans le code de ecrire.php ce qui permet l’utilisation pour tous les fils édités,
soit dans un plugin spécifique lorqu’il s’agit d’une information particulière à un format.
Voici un exemple de chaque méthode :
1) Indiquer le Copyright :
Il suffit à la ligne 281 de editeur.php de remplacer :
<td><input type="text" name="channel[copyright]" value="<?php echo $channel['copyright']; ?>" size="60" border="0"></td> |
par :
<td><input type="text" name="channel[copyright]" value="Copyright CYES" size="60" border="0"></td> |
pour cet exemple, j’ai remplacé la récupération dans le fil par "Copyright CYES", valeur destinée au site du
2) Indiquer l’URL du flux pour Atom 1.0 :
Si vous éditez un flux Atom 1.0, vous devez indiquez l’"URL du flux". Plutôt que de remplir à chaque fois le champ correspondant, il est possible d’indiquer cette adresse qui ne change pas directement dans le plugin "rss_w.atom10.php" à la ligne 12 en remplaçant :
'<link rel="self" type="application/atom+xml" href="'.$this -> rss_channel['url_flux'].'" />'.$n. |
voici un exemple :
'<link rel="self" type="application/atom+xml" href="http://www.monsite.org/atom10.xml" />'.$n. |
Si vous avez une favicon sur votre site, vous pouvez l’indiquer, le format Atom 1.0 le permet, en remplaçant la ligne 20 de "rss_w.atom10.php" par :
element_op ('logo', $this -> rss_image['url']). |
Si le texte mis dans un champ se trouve tronqué, il peut être utile de modifier la limitation. Par exemple le titre d’un item est limité à 100 caractères. En changeant maxlength="100" à la ligne 352 vous pouvez augmenter la taille à la valeur souhaitée.
Si vous voulez modifier l’emplacement, le nom ou l’extension d’un ou plusieurs fils, il faut modifier la boucle qui génère les fichiers (lignes 139-146 de editeur.php) :
for ($i = 0; $i < 4; $i++) { |
voici un exemple :
if ($format_flux[0]) { |
Si vous voulez récupérer les informations du dernier fil édité à partir d’un autre fichier que celui au format RSS 2.0, il faut modifier la ligne 229 dans editeur.php en remplaçant :
else {echo '../rss20.xml';} |
en indiquant le chemin et le nom du fichier, par exemple pour Atom 1.0 [6] :
else {echo '../atom10.xml';} |
Comme indiqué dans l’article Création à distance d’un fichier de syndication on peut modifier editeur.php pour que les fils soient enregistrés sur un autre serveur, en remplaçant les lignes 139 à 146 par [7] :
for ($i = 0; $i < 4; $i++) { |
L’édition du fil Atom 1.0 proposée à l’article précédent n’utilise pas toutes les posssibilités de ce format, on peut en effet indiquer :
la date de publication de l’article <published> mais aussi la date de mise à jour <updated>
en plus d’indiquer le nom de la rubrique dans <category> on peut préciser l’URL de la rubrique.
Si ces possibilités vous intéressent, il va falloir changer plusieurs choses, ce sera donc un bon exercice de PHP :
récupérer les informations du fil précédent au format RSS 2.0 ne suffit pas car celui-ci ne contient pas ces éléments. Plusieurs solutions sont possibles, la plus simple est de récupérer les données du dernier fil au format Atom 1.0 en modifiant comme indiqué plus haut la ligne 229 d’editeur.php ; si vous indiquer dans vos fils les éléments du logo du site, il faudra aussi modifier les plugins des autres formats pour noter directement dans ceux-ci les informations manquantes, ce qui est possible puisque ce sont des données qui ne changent pas (Atom 1.0 n’indique que l’URL de l’image) [8].
modifier editeur.php : il faut prévoir les options supplémentaires et les champs correspondants, modifier la ligne 135 pour que "modified" n’utilise pas "pubdate" mais "updated" [9] et ajouter dans la boucle d’envoi des items (lignes 127-136) les informations pour l’URL de la rubrique.
[1] Ce script a été mis au point pour le site du CODES 78 - CYES.
[2] Pour plus d’informations sur rss_read, voyez lecture de flux rss, documentation rss_read ainsi que nos articles Afficher un fil RSS/Atom sur votre site 1/3, 2/3, 3/3, Lecteur RSS/Atom pour votre site 1/2 et 2/2.
[3] Pour plus d’informations sur rss_write, voyez écriture de flux rss, documentation rss_write et génération de flux rss (le présent article reprend certaines explications de cette page).
[4] "Le système de plugins (un par type de flux) permet de modifier des éléments de ceux-ci sans toucher au code de la classe. Les évolutions et adaptations sont ainsi possibles. Ces plugins font appels à diverses fonctions qui peuvent être elles aussi modifiées indépendamment de la classe. Cette dernière étant consacrée à l’intialisation des données entrant dans la composition du flux."
[5] En fait, j’ai supprimé le format Atom 0.3 qui est maintenant obsolète, "format_flux[2]" est donc disponible. Si on ajoute encore un format, il faudra utiliser "format_flux[4]" et ne pas oublier de modifier la ligne 139 avec :
for ($i = 0; $i < 5; $i++) { |
[6] Si c’est très facile de changer rss20.xml pour rdf10.xml par contre pour Atom, il va falloir apporter des modifications à rss_read.inc.php qui actuellement ne récupère pas toutes les informations de ce format.
[7] Evidemment, dans cet exemple, il faut remplacer "mon_serveur" "login" et "password" par les identifiants de connexion FTP indiqués par votre hébergeur.
[8] Si vous préférez, on peut aussi noter ces informations directement dans editeur.php
[9] Attention, ceci n’est pas possible avec toutes les versions de rss_read.inc.php il faut s’assurer dans le code de celui-ci que ces différentes dates sont bien distinguées.
Votre question est complètement en dehors du sujet de cette page qui propose un éditeur de flux pour des sites qui ne sont pas dynamiques.
Avec Spip les fichiers de syndication sont générés automatiquement, leur contenu dépend du "squelette" spécifique. Voyez les articles Abandonnons RSS 0.91 ! et Des fils RSS 1.0, RSS 2.0 et Atom 1.0 pour votre site SPIP et prenez exemple sur les squelettes proposés pour faire le votre.