SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 307 visiteurs en ce moment

Accueil > Interactivité, échanges > Syndication > Syndication OPML > Archives Syndication OPML > Syndication - RSS 2.0 et OPML

Syndication - RSS 2.0 et OPML

13 août 2007 – par André Vincent – commentaires

1 vote

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Modifications mineures aux fichiers backend de syndication de SPIP visant à les rendre conformes aux spécifications RSS 2.0 ainsi que l’ajout d’un élément d’information sur le sujet de l’article ou de la brève. Aussi, en option, un squelette très simple d’exportation de tous les sites syndiqués au format OPML. Le tout pouvant être ajouté à n’importe quel jeu de squelettes, sans autre modification ou ajout de fonction supplémentaire.

Ces contributions sont basées sur les fichiers de la version 1.8.2pr3. Ils reprennent certaines fonctionnnalités disponibles uniquement avec la version 1.8.2. L’installation ne nécessite aucune modification particulière ou ajout de fonction supplémentaire.

Fichiers backend.html et backend-breves.html de base

Il s’agit ici de conserver exactement les mêmes fonctionnalités que celles disponibles avec la version de distribution 1.8.2 de SPIP, en y apportant quelques changements mineurs décrits ici.

1. Conformité aux spécifications RSS 2.0

Nous passons la version des fichiers backend à la version
2.0 tout simplement parce que SPIP utilise déjà les spécifications du RSS 2.0 et non plus celles de la version 0.91. Voici, entre autre, certaines caractéristiques des spécifications de RSS 2.0 déjà exploitées par les fichiers de syndication livrés avec SPIP et qui ne font partie des spécifications de RSS 0.91.

  • des contenus <description> de plus de 500 caractères
  • un élément <enclosure> permettant de lier à un item des contenus multimédia (de type podcasting, par exemple) ou tout autre type de document joint.
  • des espaces nommées du type :
    xmlns:dc="http://purl.org/dc/elements/1.1/
  • l’élément <image> est optionnel (en 0.91 il est obligatoire).
  • l’élément <category> permettant d’identifier le sujet ou la catégorie d’un <item> (article ou brève).

Cela dit, la plupart des « parser » RSS sont assez libéraux et ne tiennent pas compte de l’information concernant la version. Donc ce n’est pas vraiment "buggant". C’est juste pour bien identifier les choses et appeler un chat un chat...

2. Validité des dates et auteurs

Les fichiers de syndication livrés par défaut avec SPIP continuent encore à systématiquement générer les 3 erreurs de validation suivantes :

  • Undefined item element : date
    <date>2005-07-30 00:00:00</date>
  • author must include an email address
    <author>Nom Auteur</author>
  • An item must not include both author and dc:creator
    <dc:creator>Nom Auteur</dc:creator>

Donc, nous allons :

  • éliminer l’élément <date>. Le format de date généré par SPIP n’est pas conforme aux spécifications RSS. Et même s’il l’était, ça entrerait en conflit avec <dc:date> - "An item must not include both date and dc:date". De plus, le format utilisé par <dc:date> (que SPIP filtre déjà tout à fait correctement) s’adapte mieux à la langue du lecteur que <date> qui interprète presque toujours la date en anglais.
  • éliminer <author> au profit de <dc:creator> pour sensiblement les mêmes raisons ainsi que pour des raisons de sécurité anti-spam.

3. Rendre le logo du site optionnel

De plus, les fichiers de syndication de la version 1.8.2 introduisent une autre erreur de validation. En l’absence de logo du site, l’élément <url> est vide. Or cet élément est obligatoire pour <image>.

Nous allons donc rendre optionnel l’élément <image>, conditionnel à l’existence de #LOGO_SITE_SPIP.

Installation

  1. Téléchargez l’archive suivante sur votre poste et décompressez.
  2. Téléversez les deux fichiers qu’elle contient dans le dossier contenant vos squelettes ou le cas échéant à la racine de SPIP.
Zip - 2.3 ko
RSS 2.0 de base
Contient les fichiers backend.html et backend-breves.html

Vérification

Vérifiez la validité de votre fil de syndication à :
-  http://feedvalidator.org/

Ajout d’un sujet à chaque item

Nous reprenons les fichiers de base précédents et ajoutons à chaque article et brève un sujet à l’aide de l’élément <category>.

Nous avons arbitrairement choisi d’utiliser le #TITRE de la rubrique mère plutôt que les mots-clés pour diverses raisons :

  • Dans SPIP, chaque article ou brève possède obligatoirement une et une seule rubrique mère.
  • Pusieurs sites n’utilisent pas de mots-clés ou les utilisent à diverses fins autres que la catégorisation des articles ou brèves.
  • Afin d’assurer une compatibilité avec un éventuel module XMLRPC (en développement ailleurs...) qui utilise aussi le #TITRE des rubriques pour classer les articles par « catégorie » ou sujet.
  • Parce que la plupart des squelettes de type « weblog » développées pour SPIP utilisent souvent la structure hiérarchique des rubriques pour mimer la structure des « catégories » ou sujets caractéristiques des carnets de type « weblog ».
  • Pour la catégorisation des sujets par mots-clés, on pourra toujours éventuellement utiliser l’élément <dc:subject>.

Installation

  1. Téléchargez l’archive suivante sur votre poste et décompressez.
  2. Téléversez les deux fichiers qu’elle contient dans le dossier contenant vos squelettes ou le cas échéant à la racine de SPIP.
Zip - 2.5 ko
RSS 2.0 + Catégories
Contient les fichiers backend.html et backend-breves.html

Un squelette OPML d’exportation de sites syndiqués

Voir article complémentaire :

En complément d’information

Références et historiques :
-  La syndication de contenu - diaporama
-  Comment faire de la veille informative ou d’opinion via Internet
-  RSS et Syndication (1)
-  RSS et Syndication (2)
-  Web sémantique et RSS
-  RSS Quick Summary (dont un comparatif RSS 0.91 et 2.0)
-  Ressources Sur RSS

Spécifications
-  Spécifications RSS 2.0 (français)
-  Spécifications RSS 2.0 (anglais)
-  Spécifications RSS 0.91 (Userland) (anglais)
-  Spécifications RSS 0.91 (Netscape) (anglais)
-  OPML 1.0 Specifications

Les agrégateurs :
Presque tous les lecteurs de nouvelles - Newsreaders et modules d’agrégation

Les lecteurs les plus populaires :

-  Sage (Multi OS - extension pour Mozilla/Firefox - Logiciel libre)
-  RSSOwl (Multi OS - Logiciel libre - CPL)
-  Feed Reader (Windows - libre - GPL)
-  Netnewswire Lite (Mac OS X - freeware)
-  Liferea (Linux/Gnome - libre - GPL)
-  Straw (Linux/Gnome - libre - GPL)

Les annuaires d’agrégation :
-  syndic8 (inscription libre)
-  News is Free

Exemples d’agrégation dans SPIP :
-  REZO
-  Sedna RSS
-  SpipFeeder
-  Brest Ouvert

Les autres contributions portant sur la syndication dans SPIP
-  Un fil RSS 2.0 et un fil ATOM 0.3
-  SpipFeeder : un agrégateur rss.
-  Fils RSS/backends mis en page avec xsl & css

Outil de validation
-  Pour valider vos fils de syndication

Dernière modification de cette page le 15 août 2007

Retour en haut de la page

Vos commentaires

  • Le 31 juillet 2007 à 17:40, par dinobib En réponse à : Syndication - OPML

    Est-ce que le squelette d’exportation en opml marche sur un spip 1.9.2.?

    quel modification faire vu le changement de .php3 en .php.

    Merci d’avance

    • Le 31 juillet 2007 à 18:07, par dinobib En réponse à : Syndication - OPML

      j’ai modifier le fichier sites_syndic.html de la maniére suivante

      #CACHE{3600}
      <?php
      $flag_preserver = true;
              @header('Content-type: text/x-opml[; charset=(#CHARSET)]');
              echo '<'.'?xml version="1.0" encoding="#CHARSET"?'.">\n";
      ?>
      <opml version="1.1">
              <head>
                      <title>[(#NOM_SITE_SPIP|texte_backend)]</title>
                      </head>
              <body>
              <BOUCLE_syndic(SITES){tout}{syndication=oui}>
                  <outline
                              text="[(#NOM_SITE|texte_backend)]"
                              description="[(#DESCRIPTIF|texte_backend)]"
                              title="[(#NOM_SITE|texte_backend)]"
                              type="rss"
                              version="RSS"
                              htmlUrl="#URL_SITE"
                              xmlUrl="#URL_SYNDIC" />
              </BOUCLE_syndic>

              </body>
      </opml>

      et ensuite insérer un lien comme ceci <a href="spip.php?page=sites_syndic">lien opml<a> mais tous ceci ne donne aucun résultat.
      Comment peut on modifier tout cela pour que cela marche avec spip 1.9.2

    • Le 13 août 2007 à 11:14, par André Vincent En réponse à : Syndication - OPML

      Les choses sont devenues beaucoup plus simple avec SPIP 1.9.2.

      • Téléchargez et placez dans votre dossier /squelettes/ le fichier suivant :
      • Vous appelez le fichier OPML dans vos squelettes par :
        <a href="spip.php?page=opml" title="OPML">OPML</a>
      • Dans les zones textes de vos articles, brèves, rubriques, etc... vous insérez :
        [OPML->spip.php?page=opml]

      Exemple :
      www.stages.alternatives.ca/spip.php...

    Répondre à ce message

  • Le 23 novembre 2005 à 12:25, par Fred En réponse à : Syndication - RSS 2.0 et OPML

    Dans le fichier : backend.html

    Il faut changer : BOUCLE_podcast(DOCUMENTS) (id_article) (mode=document)

    par : BOUCLE_podcast(DOCUMENTS)(id_article) (mode=document) (0,1)

    Sinon le flux RSS ne peut être validé.

    Fred

    • Le 30 décembre 2005 à 12:30, par André Vincent En réponse à : Syndication - RSS 2.0 et OPML

      Oui, tout à fait exact. Merci.

      Et en passant, tous les problèmes signalés dans le présent article ont été corrigés dans la version en développement (1.9) en plus d’apporter un contenu riche pour les lecteurs de nouvelles éclairés.

      André Vincent

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • GIS 4

    11 août 2012 – 1308 commentaires

    Présentation et nouveautés La version 4 de GIS abandonne la libraire Mapstraction au profit de Leaflet. Cette librairie permet de s’affranchir des librairies propriétaires tout en gardant les mêmes fonctionnalités, elle propose même de nouvelles (...)

  • Formidable, le générateur de formulaires

    23 janvier 2012 – 2051 commentaires

    Un générateur de formulaires facilement configurable pour les non-informaticiens et facilement extensible pour les développeurs. Introduction L’objectif était de créer un plugin permettant de générer des formulaires. Historiquement, 2 plugins (...)

  • Pages uniques

    11 décembre 2008 – 259 commentaires

    Allez, avouez... il ne vous est jamais arrivé d’avoir besoin d’articles qui ne sont rattachés à aucun rubriquage particulier ? Des articles uniques, n’ayant ni de thème, ni de rapport avec aucun autre ? Ou encore des articles pour lesquels vous avez (...)

  • ciar : plugin « Accès restreints issus de Giseh »

    28 novembre 2011 – 86 commentaires

    Cette version ajoute une gestion par groupe d’auteurs, ainsi que la compatibilité avec SPIP 3. Pour mémoire, le plugin « ciar » offre des accès restreints reprenant les fonctionnalités de ceux de Giseh. Le plugin est utilisable sans utiliser les autres (...)

  • Saisies

    27 mars 2010 – 474 commentaires

    Introduction Créer un formulaire est une tâche toujours un peu répétitive : les champs ont souvent les mêmes propriétés, le même accompagnement (message d’erreur, explication, ...) et la même structure HTML. Ce plugin est un outil pour les développeurs (...)