Création d'un flux Atom

Création d'un flux Atom

Pour moi, la création d’un flux RSS ou Atom est nécessaire lorsqu’un site dispose d’une section permettant de poster des articles ou des nouveauté. Dans mon cas, j’ai opté pour un flux Atom. Mais libre à vous de choisir si vous préférez la modernité avec un flux Atom ou s’orienter vers les flux RSS qui ont déjà fait leurs preuves. Pour ce faire, il existe plusieurs moyens de créer des flux.

jekyll-feed

Jekyll-feed est un plugin développé par l’équipe développant Jekyll. Il est simple d’installation et d’utilisation, car il utilise des variables définies par votre site et n’a pas besoin d’être configuré.

Si vous souhaitez plus d’information, je vous invite à jeter un coup d’œil au repository du projet.

jekyll-rss-feeds

Jekyll-rss-feeds est quant à lui, un repository regroupant des modèles de flux RSS. C’est très simple à mettre en place, car il suffit juste de copier/coller le code d’un ou des fichiers voulu sur votre site.

La documentation et les templates sont disponibles sur le repository.

Fait main

Dans mon cas, je voulais de la flexibilité et créer un flux Atom qui me convienne. J’ai donc choisi de le faire à la main. Je me suis inspiré des deux repository précédent et ai créé le mien. J’ai donc créé un fichier feed.xml et ai ajouté le code suivant.


<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">

  <id>{{ site.url | absolute_url | xml_escape }}</id>
  <title>{{ site.title | xml_escape }}</title>
  <link href="{{ site.url }}/feed.xml" rel="self" type="application/atom+xml"/>
  <link href="{{ site.url }}{{ site.baseurl }}" rel="alternate" type="text/html"/>
  <updated>{{ site.time | date_to_xmlschema }}</updated>
  <author>
    <name>LucasAlt</name>
    <uri>https://lucasalt.fr</uri>
  </author>
  <link href="https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode" rel="license"/>

  {% for post in site.posts %}
  <entry>
    <id>{{ post.id | absolute_url | xml_escape }}</id>
    <title>{{ post.title | smartify | strip_html | normalize_whitespace | xml_escape }}</title>
    <link href="{{ post.url | absolute_url }}" rel="alternate" type="text/html" title="{{ post.title | xml_escape }}"/>
    <updated>{{ post.last_modified_at | default: post.date | date_to_xmlschema }}</updated>
    <content type="html" xml:base="{{ post.url | absolute_url | xml_escape }}">{{ post.excerpt | strip_html }}</content>
  </entry>
  {% endfor %}

</feed>

La première partie du fichier permet de catégoriser notre site. Sans cette partie, notre flux serait perdus dans un amas d’autre. Elle permet donc de différencier les flux les uns des autres.

Balise Utilitée
id Permet de différencier chaque flux
title Donne un titre général à notre flux
link Renvoie le flux vers notre site
updated Donne la date de dernière mise à jour
author Affiche l’auteur du site

La seconde, la boucle for permet de créer une nouvelle entrée dans le fichier chaque fois qu’un nouvel article est posté sur le blog.

Balise Utilitée
id Permet de différencier chaque article
title Donne un titre à chaque article
link Permet de renvoyer l’utilisateur sur le site
updated Donne la date de publication de l’article
content Affiche le contenu de l’article

Si vous souhaitez en apprendre plus sur la création d’un flux Atom, je vous invite à lire ce tutoriel.

Partager : Twitter, Facebook

Newsletter

Soyez informé quand un nouvel article est posté sur le blog.
Désabonnez-vous quand vous le souhaitez.

Note

Comme vous avez pu le voir sur le site, il n'y a ni publicité ou ni lien affilié. Si vous aimez le contenu que je produis, n'hésitez pas à me soutenir sur Patreon.

Devenez un Patron!