Projet

Général

Profil

Demande #3718

Modifier le script de génération du flux podcast pour ajouter les MP3 et les podcasts par sujets

Ajouté par Frédéric Couchet il y a presque 5 ans. Mis à jour il y a presque 5 ans.

Statut:
Fermé
Priorité:
Normale
Version cible:
-
Début:
29/05/2019
Echéance:
% réalisé:

100%

Temps estimé:

Description

Maintenant que nous proposons les fichiers MP3 en plus des fichiers OGG, il faut que le flux podcast propose les deux fichiers, en mettant en premier le fichier OGG.

Il faudrait modifier le script /srv/scripts/drupal6/ameliorer-rss-lav.sh (exécuté via la cron) qui pour le moment ajoute simplement une description au flux rss généré par Drupal. Ce script par du flux Drupal https://www.april.org/taxonomy_all_items/term/1917/all/feed et génère le flux https://april.org/lav.xml

La modif à faire étant pour chaque ligne enclosure du flux Drupal d'ajouter une 2e ligne enclosure en dessous avec

- .mp3 à la place de .ogg

- audio/mpeg à la place de audio/ogg (ou application/ogg car pour les premiers podcasts OGG on utilisait application/ogg)

Exemple : pour <enclosure url="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/20190528/libre-a-vous-20190528.ogg" length="0" type="audio/ogg" /> il faut ajouter en dessous <enclosure url="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/20190528/libre-a-vous-20190528.mp3" length="0" type="audio/mpeg" />


Fichiers

feed2lav.pl (2,62 ko) feed2lav.pl Frédéric Couchet, 14/06/2019 22:41
feed2lav.pl (4,16 ko) feed2lav.pl new revision adding podcasts for topics Gérald Sédrati-Dinet, 15/06/2019 14:09

Historique

#1

Mis à jour par Frédéric Couchet il y a presque 5 ans

Le script actuel est du bash mais il faudrait sans doute utiliser Python ou Perl qui ont sans doute des modules xml, rss.

#2

Mis à jour par Frédéric Couchet il y a presque 5 ans

  • Description mis à jour (diff)
#3

Mis à jour par Frédéric Couchet il y a presque 5 ans

  • % réalisé changé de 0 à 50

Gibus a fait un script en Perl que j'ai légèrement modifié (pour récupérer le contenu directement depuis la page web du flux initial). Il est dans les scripts sur la vm Drupal (feed2lav.pl).

Le « die "Couldn't get $url\n!" unless defined $in_file; » n'a pas l'air de fonctionner, si je mets une url qui n'existe pas ça affiche des erreurs perl au lieu de mourrir proprement. En fait, ça ne fonctionne pas si je mets une url en www.april.org qui n'existe pas mais c'est « normal ». En effet, Drupal génère dans ce cas une page de recherche. Donc, la commande get de Perl ne renvoie pas d'erreur. Mais bon, si le site Drupal est planté dans ce cas il y aura une erreur.

#4

Mis à jour par Frédéric Couchet il y a presque 5 ans

J'ai mis en production, les deux scripts sont ameliorer-rss-lav.sh et feed2lav.pl. Le flux est toujours le même https://april.org/lav.xml

#5

Mis à jour par Frédéric Couchet il y a presque 5 ans

  • % réalisé changé de 50 à 80

J'ai modifié le script feed2lav.pl pour qu'il écrive directement le fichier RSS. Je l'ai mis dans la cron à la place de ameliorer-rss-lav.sh

Prochaine action :

- ajouter les podcasts des sujets

#6

Mis à jour par Gérald Sédrati-Dinet il y a presque 5 ans

Frédéric Couchet a écrit :

J'ai modifié le script feed2lav.pl pour qu'il écrive directement le fichier RSS. Je l'ai mis dans la cron à la place de ameliorer-rss-lav.sh

Du coup, le source est publié quelque part ?

Prochaine action :

- ajouter les podcasts des sujets

Tu pourrais détailler en quoi ça consiste ? idéalement quelles balises (ou autre ?) à repérer, pour en faire quoi (sortir un fichier rss par sujet ?), etc. Et peut-être qu'en regardant le contenu du flux, je saurais ce que t'appelles "sujet" (le dossier principal d'une émission ? y en a qu'un par émission ? du coup il faudrait sortir un flux rss avec une entrée par émission ?), enfin bref, si t'arrives à détailler en quoi ça consiste "ajouter les podcasts des sujets", ça me donnerait une idée de si c'est faisable à court, moyen ou long terme.

#7

Mis à jour par Frédéric Couchet il y a presque 5 ans

Le script n'est pas publié non, peut-être qu'on devrait le mettre dans le git du projet LAV! il faudrait que je vois avec QGuLL. En attendant, je le joins à la tâche.

#8

Mis à jour par Frédéric Couchet il y a presque 5 ans

Pour comprendre la notion de podcast par sujets regarde https://april.org/libre-a-vous-diffusee-mardi-11-juin-2019-sur-radio-cause-commune-documentaire-sur-le-logiciel-libre.

Il y a le podcast de l'émission (dans Réécouter en ligne) et en dessous, dans « Podcasts des différents sujets abordés », les podcasts par sujets abordés) fichiers https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/20190611/libre-a-vous-20190611.ogg (et .mp3 pour la version MP3).

Le flux RSS Drupal https://www.april.org/taxonomy_all_items/term/1917/all/feed propose uniquement le podcast OGG de l'émission (champ Enclosure quand on édite la page).

Le script actuel feed3lav.pl ajoute un tag enclosure pour le fichier .mp3 et génère le flux https://april.org/lav.xml

L'idée d'amélioration du script serait qu'il génère en plus un bloc item par sujet traité avec au moins un title, et deux enclosures (ogg et mp3).

Par exemple pour l'émission du 11 juin, le script devrait ajouter un bloc item pour chacun des « Podcasts des différents sujets abordés ». Le premier sujet est « Interview François Zaïdi réalisateur du documentaire LOL - Logiciel libre une histoire sérieuse », le bloc item pourrait ressembler à :


<item>

  <title>Interview François Zaïdi réalisateur du documentaire LOL - Logiciel libre une histoire sérieuse</title>

  <description><p><a href="https://april.org/libre-a-vous"><em>Libre à vous !</em></a>, l'émission pour comprendre et agir avec l'April, chaque mardi de 15h30 à 17h sur la radio <em>Cause commune</em> (93.1 FM en Île-de-France et sur <a href="https://causecommune.fm">Internet</a>.</p>

  <p><em>« Libre à vous ! »</em> diffusée mardi 11 juin 2019, partie » Émission Interview François Zaïdi réalisateur du documentaire LOL - Logiciel libre une histoire sérieuse »</p>
  </description>

  <link>https://www.april.org/libre-a-vous-diffusee-mardi-11-juin-2019-sur-radio-cause-commune-documentaire-sur-le-logiciel-libre</link>

  <category>Libre à vous !</category>

  <category>Podcast Libre à vous !</category>

  <pubDate>Tue, 11 Jun 2019 13:30:00 +0000</pubDate>

  <enclosure url="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/20190611/libre-a-vous-20190611-interview-francois-zaidi-realisateur-documentaire-lol-logiciel-libre-une-histoire-serieuse.ogg" length="0" type="audio/ogg" />

  <enclosure url="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/20190611/libre-a-vous-20190611-interview-francois-zaidi-realisateur-documentaire-lol-logiciel-libre-une-histoire-serieuse.mp3" length="0" type="audio/mpeg" />

</item>

La difficulté étant de savoir comment récupérer les informations utiles à mettre dans le bloc item. Toutes les informations utiles sont dans le champ <description> de l'item de l'émission du 11 juin du flux Drupal (https://www.april.org/taxonomy_all_items/term/1917/all/feed ) dans la partie :

<p><strong>Podcasts des différents sujets abordés</strong></p>

<ul>
<li><a href="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/20190611/libre-a-vous-20190611-interview-francois-zaidi-realisateur-documentaire-lol-logiciel-libre-une-histoire-serieuse.ogg">Interview François Zaïdi réalisateur du documentaire LOL - Logiciel libre une histoire sérieuse</a> (format OGG) (et <a href="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/20190611/libre-a-vous-20190611-interview-francois-zaidi-realisateur-documentaire-lol-logiciel-libre-une-histoire-serieuse.mp3">format MP3</a>) (11 minutes 23 secondes)</li>
<li><a href="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/20190611/libre-a-vous-20190611-openstreetmap-state-of-the-map-france-christian-quest-jean-christophe-becquet-noemie-lehuby.ogg">Openstreetmap (State of the map France) avec Christian Quest Jean-Christophe Becquet et Noémie Lehuby</a> (format OGG) (et <a href="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/20190611/libre-a-vous-20190611-openstreetmap-state-of-the-map-france-christian-quest-jean-christophe-becquet-noemie-lehuby.mp3">format MP3</a>) (51 minutes 43 secondes)</li>
<li><a href="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/20190611/libre-a-vous-20190611-pepites-libres-films-libres-blender-jean-christophe-becquet.ogg">Pépites libres sur des films libres de la fondation Blender par Jean-Christophe Becquet</a> (format OGG) (et <a href="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/20190611/libre-a-vous-20190611-pepites-libres-films-libres-blender-jean-christophe-becquet.mp3">format MP3</a>) (6 minutes 55 secondes)</li>
<li><a href="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/20190611/libre-a-vous-20190611-annonces.ogg">Annonces</a> (format OGG) (et <a href="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/20190611/libre-a-vous-20190611-annonces.mp3">format MP3</a>) (6 minutes 25 secondes)</li>
</ul>

#9

Mis à jour par Gérald Sédrati-Dinet il y a presque 5 ans

Voilà le script modifié en pièce jointe. Il nécessite 2 nouvelles dépendances: DateTime (package debian libdatetime-perl) et DateTime::Format::DateParse (package debian libdatetime-format-dateparse-perl). Un item par sujet est ajouté après l'item de l'émission correspondante. J'ai ajouté qqs commentaires dans le script pour qu'il soit maintenable.

#10

Mis à jour par Frédéric Couchet il y a presque 5 ans

  • Sujet changé de Modifier le script de génération du flux podcast pour ajouter les MP3 à Modifier le script de génération du flux podcast pour ajouter les MP3 et les podcasts par sujets
  • Statut changé de Nouveau à Fermé
  • Assigné à mis à Gérald Sédrati-Dinet
  • % réalisé changé de 80 à 100

Le script a été mis dans le dépôt du projet « Libre à Vous ! » sur agir.april.org

Formats disponibles : Atom PDF