Contenu
- Introduction →
- Préconditions →
- Le Script →
- Avantages →
- Dernières Modifications →
Introduction
La procédure pour télécharger les émissions de Radio France,
c'est à dire de France Culture ou France Inter, peut être
automatisée. J'ai écris un script shell
à ce but.
Concrètement, plusieurs commandes sont exécutés qui, à la fin,
ne font pas autre chose que ce que j'ai décris dans mon article
sur Radio
France et les GAFAM.
Préconditions
- Linux
- Désolé. Mais je ne m'occupe pas de Microsoft™,
ni de Apple™. Si vous ne pouvez pas travailler sur
un ordinateur avec Linux, c'est Ω pour vous. Voici quelques
jolis chatons. Salut.
- Ruby
- Ici, c'est un logiciel, dont je parle. Il faut
l'installer, car il y a des commandes dans le script, qui en
ont besoin. Ruby est un language de programmation, mais il
vous faut seulement assurer que "
l'interprète
", c'est
à dire le logiciel qui exécute lui-même le code Ruby, est
installé chez vous. Vous le trouvez ici : Télécharger
Ruby
- Nokogiri
- Un autre petit logiciel. Avec ça, le script peut
identifier le fichier mp3 d'une émission radiophonique dans
le texte d'une page Web. Le but est d'y accéder en ignorant
toutes les connexions supplémentaires, que Radio France
souhaite établir vers des services externes à Radio France –
surtout américains – que vous ne voulez pas contacter.
Installez Nokogiri avec la gestion des paquets ou de la
manière qui est prévu avec votre distribution de Linux. Voici
des instructions pour quelques types de système : Installing
Nokogiri
- Curl
- Le troisième outil est probablement déjà présent sur
votre système. Si non, installez le avec la gestion des
paquets qui est prévu pour votre distribution de Linux.
- Wget
- Wget est un
téléchargeur
dans le sens strict du
mot. Je peux le remplacer par Curl, mais il y a une raison
pourquoi je l'utilise dans le script... Je vais m'y souvenir
et adapter ce paragraphe quand ça m'arrive. Pour l'instant :
Oui, vous pouvez modifier le script est imposer curl à la
place de wget... Consultez la man-page pour curl pour vous
assurer que les arguments seront bons. Ou installez wget et
ne faites rien autre.
- Torsocks
- Torsocks utilise le réseau Tor pour anonymiser l'accès
aux divers services Internet. Techniquement ce n'est pas
nécessaire. Mais comme il n'a pas beaucoup de sens de choisir
des connexions qui ont besoin d'anonymat contre d'autres qui
n'en ont pas besoin, moi – personnellement – j'anonymise tout
ce que je peux.
Torsocks est installé avec la gestion des paquets de votre
distribution Linux. Le script appelle l'outil torify, qui
simplifie l'usage de torsocks.
- Bash
- Si vous vous avancez jusqu'à ici, vous savez que la Bash
n'est pas vraiment indispensable pour faire marcher le
script. Je la mentionne, parce que je n'ai pas assez
d'expérience avec les autres interpréteurs de commandes.
Le Script
Maintenant je ne sais vraiment pas, ce qu'il faut. Je vous
présente le script dans son état actuel, on est le 21. Novembre
2020. Plus bas, vous verrez comment c'est utilisé.
SC=`basename "$0"`
if [ $# -ne 1 ]
then
clear
echo -e "ERREUR ! Il faut l'URL d'une page avec un audio-player"
echo -e "Exemple :\n\t"$SC" https://www.radiofrance.fr/franceculture/podcasts/serie-la-reine-margot-d-alexandre-dumas"
exit 1
fi
if [[ $1 == *"radiofrance"* ]]
then
echo "radiofrance.fr"
else
echo -e "ERREUR ! Téléchargements sont possibles seulement du site de"
echo -e "Radio France (radiofrance.fr)!"
exit 2
fi
page=`torify curl -L -s "$1"`
mp3=`echo "$page" | egrep --only-matching "https://media.radiofrance-podcast.net/podcast[^\"]*\.mp3"`
mp3=`echo $mp3|cut -d' ' -f1`
title=`echo "$page" | nokogiri -e 'puts $_.at_css("title/text()")'`
title=`echo "$title"|tr -s "[:space:][:punct:]" _`
OFL="$title".mp3
echo "Fetching $mp3."
echo "Writing to $OFL"
torify wget -c "$mp3" --output-document="$OFL"
Utiliser le script
Voici les étapes pour, enfin, télécharger une émission de
Radio France. J'ai choisi une émission de France Inter
Confinement : à l’heure où tout se fait à distance,
comment lutter contre la fracture numérique ?
. Mais
doucement... Nous nous occupons
du script, d'abord (c'était On s'occupe
,
mais On
est con. Tenez le à distance).
- Sauvegardez le script sous un nom et dans un dossier de
votre choix. Ne parsemez pas des fichiers exécutables partout
sur votre disque dur, mais désignez plutôt un endroit, qui
servira à accumuler des petits outils de ce genre. Pour
maintenant, je décide que le script est
/home/[utilisateur]/bin/get_broadcast
- Rendez le script exécutable :
:~$ chmod 755
/home/[utilisateur]/bin/get_broadcast
Si vous choisissez un dossier plus haut dans la hiérarchie
des dossiers de votre système, il vous faut les droits de
l'administrateur – root – pour pouvoir exécuter cette
commande.
- Accédez à la page de l'émission. Non pas de
Le
téléphone sonne
, mais de cette
édition du 20 novembre 2020. Vous trouvez toutes ces
pages en passant par le grille des programmes. La bonne page
a un bouton ÉCOUTER
- Copier la URL de la page dans le presse-papier. Ici,
c'est
https://www.franceinter.fr/emissions/le-telephone-sonne/le-telephone-sonne-20-novembre-2020
- Ouvrez votre interpréteur de commandes. Si vous n'avez
rien changé dans le code du script, c'est plutôt Bash. Mais
le script va trouver la Bash, si elle est vraiment
disponible, et l'utiliser de toute façon. Le fichier mp3
qu'on
va que nous allons recevoir de Radio France sera
stocké dans le répertoire, où vous exécutez le script. Vous
pouvez, donc, déjà décider où vous voulez le retrouver après,
et y aller tout de suite
:~$ cd [/chemin/au/répertoire]
- Appelez le script et comme seul argument, fournissez le
URL précédemment copié de votre navigateur Web :
:~/chemin/au/répertoire$
/home/[utilisateur]/bin/get_broadcast
https://www.franceinter.fr/emissions/le-telephone-sonne/le-telephone-sonne-20-novembre-2020
La commande sera plus courte, si vous pouvez faire
entrer le chemin /home/[utilisateur]/bin dans la
variable Path. Le script get_broadcast
sera trouvé partout, sans que vous aurez besoin d'indiquer
le chemin vers son répertoire.
Ça y est. Observez votre émission arriver...
Avantages
La procédure est la même pour France Culture
Le moment que vous téléchargez une émission de cette
manière, vous établissez qu'une seule connexion via http. Seule
votre recherche sur les sites de Radio France vous expose à des
potentiels abus. Si vous bloquez la plupart des scripts et
cookies, qui sont normalement présents sur franceculture.fr ou
franceinter.fr, et faites seulement exception pour
radiofrance.fr, franceinter.fr et
franceculture.fr, vous ne risquez plus rien.
Dernières Modifications
- 10 septembre 2022
- Radio France ont unifié les structures des pages Web. Il
n'y a plus de différence entre les pages et les procédures
pour differentes stations. Le Script a été actualisé
- 27 novembre 2020
- Guillemets exédentaires dans le script.
- 21 novembre 2020
- Plusieurs interventions pour corriger l'orthographie et
la grammaire.
- Cosmétique, surtout dans les styles et un peu dans la
composition des phrases.
- Wget est un autre outil qui est utilisé par le script et
que j'avais oublié dans la liste sous
préconditions
.
Ω