Capture d'écran de l'interface Plex. On peut voir un bouton "download" injecté par l'extension Chrome plexDL pour télécharger un film à droite du bouton "lecture"
Accueil / PlexDL : l’extension Chrome pour le téléchargement des films Plex

PlexDL : l’extension Chrome pour le téléchargement des films Plex

Il manquait une fonction essentielle à Plex : le téléchargement direct depuis l’interface web. C’est pourquoi j’ai développé PlexDL, une extension Chrome pour Plex qui permet le téléchargement facilement d’épisodes, saisons ou séries complètes, en un clic.

Développée à la base pour mon père, qui voulait conserver ses séries même hors connexion, cette extension s’est vite révélée utile bien au-delà du cercle familial.

Pourquoi créer une extension Chrome pour le téléchargement des médias sur Plex ?

Mon père utilise Plex sur mon NAS pour regarder ses séries. Mais il a une habitude bien à lui : il aime garder certains fichiers localement. Pas par méfiance, mais parce qu’il veut pouvoir accéder à ses séries même si le NAS tombe ou qu’il n’y a pas de connexion.

J’ai exploré WebDAV, Nextcloud, même des explorateurs de fichiers bruts… mais rien n’était assez simple ou ergonomique. Je me suis alors dit : pourquoi ne pas tirer parti de l’interface Plex elle-même ?

Elle a déjà les fonctionnalités que j’aurais implémentées : jolie, complète, avec recherche, métadonnées, filtres. Il ne lui manque qu’une chose : un bouton “Download”.

PlexDL : une extension Chrome qui ajoute le téléchargement à Plex

Plutôt que de développer une interface de plus, j’ai choisi de m’infiltrer dans celle de Plex. L’extension PlexDL injecte un bouton “Download” directement à côté du bouton “Lecture” dans Plex Web.

Tu es sur une série ? Il télécharge toutes les saisons.
Sur une saison ? Il télécharge tous les épisodes.
Sur un épisode ? Il télécharge… l’épisode (bravo Sherlock).

Le tout est 100 % local :

  • Aucun appel externe
  • Aucune API tierce
  • Pas de serveur intermédiaire
  • Juste Plex, Chrome, et ta souris

Fonctionnement technique : comment PlexDL télécharge depuis Plex

Pour les barbus du fond de la salle, l’extension récupère le token Plex stocké en local, et utilise l’API XML de Plex pour :

  1. Parcourir les saisons et épisodes via /library/metadata/.../children
  2. Obtenir les liens directs des fichiers vidéo
  3. Lancer les téléchargements via l’API Chrome : chrome.downloads.download

Les fichiers sont enregistrés dans le dossier de téléchargement, avec leurs noms originaux.

Capture d'écran d'une partie de l'interface plex. Lorsque l'extension chrome lance un téléchargement, la progression est indiqué nativement dans plex

La petite subtilité : la file d’attente de Chrome

Chrome limite les connexions par domaine à 6 (et Plex n’utilise pas HTTP/2). Donc :

  • Les 6 premiers fichiers sont lancés simultanément
  • Les suivants attendent dans la file

Si tu veux gérer cette file manuellement, tu peux passer par chrome://downloads ou supprimer les .crdownload en attente dans ton dossier.

Une installation manuelle (pour l’instant)

PlexDL est en version alpha. Elle n’est pas (encore ?) sur le Chrome Web Store, mais tu peux l’installer facilement :

Bash
git clone https://github.com/badraxas/PlexDL.git

Puis dans Chrome :

  1. Va sur chrome://extensions
  2. Active le mode développeur
  3. Clique sur “Charger l’extension non empaquetée”
  4. Sélectionne le dossier PlexDL

Ensuite, ouvre https://app.plex.tv, va sur un épisode ou une série, clique sur “Download” et c’est parti.

Capture d'écran de l'interface plex montrant un bouton "download" à droite du bouton "lecture"

Une extension pensée pour les non-technophiles

L’idée derrière PlexDL, c’était aussi de ne pas avoir besoin de s’y connaître.
Pas de ligne de commande, pas de configuration compliquée. Si tu sais cliquer sur “Lecture” dans Plex, tu sauras cliquer sur “Download”.

Et franchement, c’est ce qui fait la force de l’extension. Tout le monde peut l’utiliser sans souci.

En attendant, le code est open-source, disponible ici : https://github.com/badraxas/PlexDL

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut