Project

General

Profile

Demande #3718

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

Added by Frédéric Couchet about 3 years ago. Updated about 3 years ago.

Status:
Fermé
Priority:
Normale
Target version:
-
Start date:
05/29/2019
Due date:
% Done:

100%

Estimated time:

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" />


Files

feed2lav.pl (2.62 KB) feed2lav.pl Frédéric Couchet, 06/14/2019 10:41 PM
feed2lav.pl (4.16 KB) feed2lav.pl new revision adding podcasts for topics Gérald Sédrati-Dinet, 06/15/2019 02:09 PM

History

#1

Updated by Frédéric Couchet about 3 years ago

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

#2

Updated by Frédéric Couchet about 3 years ago

  • Description updated (diff)
#3

Updated by Frédéric Couchet about 3 years ago

  • % Done changed from 0 to 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

Updated by Frédéric Couchet about 3 years ago

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

Updated by Frédéric Couchet about 3 years ago

  • % Done changed from 50 to 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

Updated by Gérald Sédrati-Dinet about 3 years ago

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

Updated by Frédéric Couchet about 3 years ago

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

Updated by Frédéric Couchet about 3 years ago

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

Updated by Gérald Sédrati-Dinet about 3 years ago

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

Updated by Frédéric Couchet about 3 years ago

  • Subject changed from Modifier le script de génération du flux podcast pour ajouter les MP3 to Modifier le script de génération du flux podcast pour ajouter les MP3 et les podcasts par sujets
  • Status changed from Nouveau to Fermé
  • Assignee set to Gérald Sédrati-Dinet
  • % Done changed from 80 to 100

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

Also available in: Atom PDF