J'ai finalement décidé de passer de l'application Apple Podcast à Overcast, mais je ne trouve pas le moyen de déplacer mes abonnements. A ( question similaire ) a été posée il y a un certain temps, mais iTunes a changé depuis, et la nouvelle application MacOS n'a pas ces menus. Je me demandais donc si quelqu'un connaissait un autre moyen d'obtenir un fichier OPML.
Réponse
Trop de publicités?L'application Podcasts semble stocker ses données dans une base de données sqlite. En utilisant les informations contenues dans cette base, nous pouvons créer un fichier OPML qu'Overcast (ou toute autre bonne application de podcast) acceptera.
Voici un script que j'ai créé pour créer le fichier OPML :
#!/bin/bash
sql() {
sqlite3 "${HOME}/Library/Group Containers/"*.groups.com.apple.podcasts/Documents/MTLibrary.sqlite "select ${1} from ZMTPODCAST ${2:+"where ${2} = '${3}'"};" |\
sed -e 's/&/\&/g' \
-e 's/</\</g' \
-e 's/>/\&lgt;/g' \
-e "s/'/\'/g"
}
opml_export=${HOME}/Desktop/podcasts.opml
cat > ${opml_export} << HEAD
<?xml version="1.0" encoding="utf-8"?>
<opml version="1.0">
<head><title>Podcast Subscriptions</title></head>
<body>
<outline text="feeds">
HEAD
sql ZUUID | while read -r uuid ; do
feed_url=$(sql ZFEEDURL ZUUID "${uuid}")
home_url=$(sql ZWEBPAGEURL ZUUID "${uuid}")
title=$(sql ZTITLE ZUUID "${uuid}")
cat <<EOT
<outline type="rss" text="${title}" title="${title}" xmlUrl="${feed_url}" htmlUrl="${home_url}" />
EOT
done >> ${opml_export}
cat >> ${opml_export} << TAIL
</outline>
</body>
</opml>
TAIL
Pour les personnes qui ne savent pas comment exécuter des scripts sur la ligne de commande, c'est facile :
- copier l'intégralité du texte de la case grise ci-dessus
- ouvrir l'application Terminal
- à l'invite de votre terminal, tapez :
pbpaste > export_podcasts.sh
coller le texte dans un fichier portant le nom approprié- frapper
return
puis tapez : chmod u+x export_podcasts.sh
, ce qui rend votre fichier exécutable- frapper
return
puis tapez : ./export_podcasts.sh
, en exécutant votre script.
Cela créera podcasts.opml
sur votre bureau.
Pour transférer ce fichier sur votre iPhone, vous pouvez utiliser AirDrop ou iCloud Drive :
AirDrop - Assurez-vous que votre Mac et votre iPhone ont activé AirDrop, vous pouvez faire un clic droit sur le fichier, puis Share > AirDrop
et touchez l'icône représentant l'avatar de votre iPhone et le nom de votre téléphone. Cela devrait automatiquement ouvrir le fichier sur votre iPhone et vous permettre de commencer l'importation dans Overcast.
iCloud Drive - Si iCloud Drive est configuré sur votre Mac et votre iPhone, vous pouvez déplacer podcasts.opml
dans un dossier iCloud Drive sur votre Mac, puis ouvrez le fichier à partir de l'application Fichiers sur l'iPhone. Vous devriez alors être invité à "Ouvrir avec Overcast", qui devrait alors importer les podcasts dans le fichier.