Syndication RSS en javascript

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

Attention : l’API Google Feed n’est plus supportée par Google depuis décembre 2016. Ce plugin est donc obsolète. Pas de remplacement connu à ce jour.

Le plugin RssJs permet à l’aide de l’API Google Feed, d’afficher des informations de syndication sans passer par les sites syndiqués de spip. Ceci est particulièrement adapté aux sites hébergés par exemple chez free.fr, puisque l’ouverture / lecture de fichiers distants est désactivée, rendant la syndication intégrée à Spip inopérante. Avec cette solution, tout se passe entre le navigateur et le serveur de l’api google.

Ce plugin s’installe et s’active comme tous les plugins. Il n’installe aucune table supplémentaire. Il se contente d’appeler l’API Google Feed ainsi qu’un javascript d’activation et d’initialisation. Il propose deux modèles à insérer dans n’importe quel article pour afficher les informations d’un flux Rss donné.

Modèle rssjs

Ce modèle permet d’afficher un flux en donnant directement son url
<rssjs |url=adresse de mon flux |nbre_entrees=... |mode=.... |class=... >

Les paramètres :
-  url est l’adresse du flux rss à afficher. Ce paramètre est obligatoire.
-  nbre_entrees (facultatif). Indique le nombre d’items du flux à afficher, la valeur par défaut est 12.
-  mode (facultatif). Par défaut, le titre avec lien vers l’article original, ainsi que le contenu (balise content, summary ou description des items) sont affichés. Si mode=no_content, comme on peut le deviner seul le titre avec lien sera affiché. Si mode=snippet, c’est le début du contenu tronqué à 200 caractères et sans balises html qui sera affiché.
-  class. Le nom d’une class css affectée à la balise dl (voir plus bas).

Modèle rssjs_site

Ce modèle permet d’afficher un flux à partir des informations enregistrées dans les sites syndiqués de Spip (il est nécessaire de renseigner le champ « Adresse du fichier de syndication », mais pas d’activer la syndication).
<rssjs_site xx |nbre_entrees=... |mode=... |class=.... > ou <rssjs_site |id_site=xx |nbre_entrees=... |mode=.... |class=... >

Les paramètres :
-  xx est l’identifiant du site enregistré dont on veut afficher le flux. <rssjs_site 4 |> ou <rssjs_site |id_site=4> donnera le même résultat.
-  les autres paramètres sont identiques à ceux du modèle rssjs.

Pour aller plus loin

J’ai choisi de développer les utilisations en modèles car plus souples à mon sens, mais rien n’empêche d’inclure ces modèles dans un squelette.

Les fonctionnalités sont mises en place par le couple modèle / fonction javascript. Les deux modèles fournis utilisent la même fonction javascript disponible dans le fichier « js/rssjs.js » du dossier du plugin. Il est possible de surcharger l’appel à ce fichier en plaçant un fichier du même nom dans un dossier « js » du dossier « squelettes ». le fichier pourra contenir plusieurs fonctions d’initialisation de l’affichage suivant le modèle désiré. Le mécanisme d’initialisation du plugin est alors conservé.

L’affichage des informations de syndication se fait sur la base de balises dl dt dd. la balise dl a pour classe css « rssjs » par défaut. Il est possible d’ajouter une ou plusieurs classe à cette balise par le paramètre « class ».

Si un fichier « css/rssjs.css » existe dans le dossier squelettes, celui-ci sera appelé automatiquement.

Pour exemple voir le modèle « rssjs_complet » et la fonction javascript associée.

Plugin disponible sur la zone

Révisons

-  Construction d’un modèle / fonction javascript avec d’avantage d’informations affichées
-  Version spip 3

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

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