Un squelette OPML d’exportation de flux RSS

Voici un squelette d’exportation (au format OPML) de TOUS les sites syndiqués dans SPIP

Le format OPML est le plus couramment utilisé pour échanger des listes de flux RSS. La plupart des logiciels d’agrégation ou lecteurs de nouvelles et quelques CMS comportent un module d’importation et d’exportation de flux RSS utilisant le format OPML. Le format OPML est également utilisé par nombre de sites d’agrégation de flux RSS.

Avec ce squelette, vous pouvez ainsi offrir à vos visiteurs d’importer dans le logiciel ou le CMS de leur choix TOUS vos sites syndiqués.

Installation

opml.html

Téléversez le fichier opml.html dans le dossier de vos squelettes.

Utilisation de base

Au choix :

  • Placez dans vos squelettes un lien sous cette forme :
    • <a href="spip.php?page=opml" title="OPML">OPML</a>
    • ou <a href="index.php?page=opml" title="OPML">OPML</a>
  • Placez dans n’importe quelle zone de texte d’un article, brève, rubrique, etc. :
    • [OPML -> spip.php?page=opml]
    • ou [OPML -> index.php?page=opml]

Exemple

-  Le fichier OPML de tous les flux RSS sur Éducation, société et technologie

Icônes OPML
PNG, SVG, PDF, EPS, AI

Vous pouvez aussi remplacer le libellé textuel par l’un des icônes du OPML Icon Project

-   OPML 1.1

Autres utilisations

Pour insérer un joli lecteur de nouvelles de tous vos sites syndiqués (gracieuseté de http://grazr.com, vous pouvez proposer à vos lecteur le code suivant à insérer sur leur site ou l’insérer vous même dans l’un de vos articles, en remplaçant «  »" class='spip_url spip_out auto' rel='nofollow external'>www.mon-site.org» par l’adresse URL de votre site.

Le code à insérer

<div style="width:100%;">
  <iframe style="height:600px;width:100%;border:0;" src="http://grazr.com/gzpanel.html?theme=sateen_blue&view=o&addbar=on&font=Trebuchet%20MS,%20Helvetica&file=http://www.mon-site.org/spip.php?page=opml">
  </iframe>
</div>
 

Pour aller plus loin

Le squelette peut facilement être adapté pour diffuser non pas les sites syndiqués externes, mais tous les flux ou certains flux RSS internes en provenance des rubriques, des brèves, par langues ou par catégories (mots-clés).

Le squelette pourrait sans doute aussi être développé sous forme de modèle ou de plugin.

En complément d’information

Le code complet du squelette

[(#CACHE{3600})[(#HTTP_HEADER{Content-type: text/xml[; charset=(#CHARSET)]})]]<?xml version="1.0"[ encoding="(#CHARSET)"]?>
<opml version="1.0">
 
[(#REM) 
Documentation
	http://www.scriptol.fr/xml/OPML-1.0.html
Pour validation
	http://feedvalidator.org/check.cgi?url=http://edu.ca.edu/spip.php?page=opml
	http://www.kbcafe.com/rss/rsv.aspx?xml=http://edu.ca.edu/spip.php?page=opml
]
 
<head>
	<title>[(#NOM_SITE_SPIP|texte_backend)]</title>
	<dateCreated>[(#DATE|date_822)]</dateCreated>
</head>
<body>
 
<BOUCLE_syndic(SITES){tout}{syndication=oui} {par nom_site}>
<outline 
	text="[(#NOM_SITE|texte_backend)]"
	description="[(#DESCRIPTIF|supprimer_tags|texte_backend)]"
	title="[(#NOM_SITE|texte_backend)]"
	type="rss" 
	version="RSS"
	htmlUrl="#URL_SITE"
	<BOUCLE_lang(RUBRIQUES) {id_rubrique}>[language="(#LANG)"]</BOUCLE_lang>
	xmlUrl="#URL_SYNDIC" 
/>
</BOUCLE_syndic>
 
</body>
</opml>

Spécifications (en français)

-  OPML 1.0 - Specifications
-  OPML 2.0 - Draft

TO DO

  • Développer un modèle pour insertion sous forme de #BALISE ou <raccourci> avec possibilité de sélection plus fine sur une ou plusieurs rubriques en particulier ou affectées d’un mot-clé, passé en paramètre.
  • Faire évoluer la contribution _importer/opml vers un plugin d’importation OPML dans SPIP.

.

Discussion

9 discussions

  • Bonjour,

    Désolé, je patauge un peu
    Ce squelette sert à un Importer des flux, pas à les exporter !?
    Je cherche à migrer de SPIP vers WordPress ...
    Cordialement

    Répondre à ce message

  • 1

    Bonjour, désolé si la question a déjà été posée.
    Ce squelette est-il compatible avec SPIP 2.1 ? Les versions 1.9 et 2.0 sont les seules mentionnées dans la compatibilité...

    Merci, A+ !

    • Salut, en regardant vite fait le squelette en question je pense qu’il n’y a pas de problème pour la compat avec SPIP 2.1. J’ajoute cette mention à l’article et fais nous signe si tu as un problème.

      ++

    Répondre à ce message

  • Bonjour,

    j’ai repris ce script et j’y ai ajouté le rubricage qui me manquait. Le fichier est valide et sera interprété avec les rubriques dans les agrégateurs qui le supporte. Sinon il sera interprété comme une simple liste de site avec flux comme le fichier présenté dans cet article.

    http://www.biotechno.fr/Les-icones-...

    Répondre à ce message

  • 1

    Bonjour,

    je voulais savoir si cet article était obsolète où si on pouvait l’utiliser sur SPIP 2 sans trop de travail supplémentaire.

    Pour ma part j’ai pleins d’erreurs à la génération de cette liste : http://validator.opml.org/?url=http...

    De plus, il est indiqué que le format OPML 2.0 est en cours de conception alors qu’il est bien précisé sur le site que le format 2.0 est opérationnel et que le format 1.1 ne doit pas être utilisé (considérer qu’il s’agit du format 1.0).

    Je pense que je vais essayer de faire deux pages opml 2.0 et 1.0 valide reprenant la liste mais organisée par rubriques (les rubriques du site).

    bien cordialement

    patr

    Répondre à ce message

  • 1

    Les spécifications actuelles (et en français) :
    -  OPML 1.0
    -  OPML 2.0

    Répondre à ce message

  • 1

    Il faut modifier un peu la partie language=, de manière à éviter tout problème avec un site appartenant à une rubrique dont la langue ne serait pas renseignée (ce qui m’est arrivé) :

    <BOUCLE_lang(RUBRIQUES) {id_rubrique}>[language="(#LANG)"]</BOUCLE_lang>

    Sinon, nickel

    Répondre à ce message

  • 1
    Grégoire G

    Bonjour

    Il y a un oubli dans le code. il manque un | après #DESCRIPTIF

    description="[(#DESCRIPTIFsupprimer_tags|texte_backend)]"

    Il faut écrire

    description="[(#DESCRIPTIF|supprimer_tags|texte_backend)]"

    Répondre à ce message

  • 2

    Merci pour la contribution, ça fonctionne très bien et je l’ai ajouté sur mon site.

    J’en ai profité pour ajouter mon propre site dans le fichier :

    <outline 
    	id="0"
    	text="[(#NOM_SITE_SPIP|texte_backend)]"
    	description="[(#DESCRIPTIF_SITE_SPIPsupprimer_tags|texte_backend)]"
    	title="[(#NOM_SITE_SPIP|texte_backend)]"
    	type="rss" 
    	version="RSS"
    	htmlUrl="#URL_SITE_SPIP"
    	language="#LANG"
    	xmlUrl="#URL_PAGE{backend}" 
    />
    • André Vincent

      Oui, c’est bien ça l’idée. Ce squelette est extensible et modulable à souhait.

      Quant à l’application très précise que vous en faites, vous auriez aussi pu inscrire votre propre site parmi vos sites syndiqués et vous auriez obtenu le même résultat.

    • bonjour,

      J’ai ce code lorsque j’installe le lecteur opml

      Invalid file format
      Error : 2007-09-13 « fr » xmlUrl=« » />

      Merci

    Répondre à ce message

  • dinobib

    Merci et bravo de partager ceci avec tout le monde
    Marche sans problème

    Répondre à ce message

Ajouter un commentaire

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

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom

Dernière modification de cette page le 20 avril 2013