Suivre Canal+ avec des flux Atom

Note : ce projet n’est plus maintenu. Les flux et les API mentionnés dans cet article ne sont plus accessibles. Le texte est conservé à titre d’archive.

À l’occasion de la migration de mes services vers un nouveau serveur dédié, j’en ai profité pour revoir mon script de génération de flux Atom pour les émissions de Canal+ que je suivais.

Le code source est disponible sur GitHub.

Les flux proposés à l’époque étaient les suivants :

J’avais choisi d’utiliser Flask et Python. C’était une évolution importante par rapport à la première version, qui se limitait à un script exécuté périodiquement avec cron.

Ce projet m’a notamment permis de tester concurrent.futures afin d’effectuer plusieurs requêtes HTTP en parallèle. L’application tournait dans un conteneur Docker.

Il était également possible de l’associer à FlexGet et youtube-dl pour automatiser le téléchargement des émissions.

Le fonctionnement était assez simple : le script récupérait d’abord la liste des vidéos disponibles depuis l’API de Canal+, puis les informations détaillées de chaque vidéo, avant de générer le flux Atom correspondant.

Les deux points d’entrée utilisés étaient :

http://service.canal-plus.com/video/rest/getMEAs/cplus/<ID_EMISSION>
http://service.canal-plus.com/video/rest/getVideos/cplus/<ID_VIDEO>

Quelques améliorations restaient envisagées :

Mise à jour du 22 février 2016 : ajout du flux d’Intérieur Sport.