Deux siècles ont suffi à l’humanité pour dérégler le climat et enclencher une hausse des températures aux effets potentiellement dramatiques. Dans ce format visuel, « Le Monde » retrace cette évolution et les mécanismes à l’œuvre dans ce bouleversement.
Quelles listes ? Quasi tout ce qui existe : IMDb, Trakt, MDBList, Letterboxd, Steven Lu
ListSync de Woahai321 permet de gérer de manière simple, complète et franchement belle, des listes de contenus multimédia à télécharger. Listes synchronisées avec Overseerr et/ou Jellyseerr pour automatiser les demandes et téléchargements via les *arrs.
L’application est développement très actif.
Synchronisation automatique
Prise en charge de plusieurs plateformes de watchlist
Compatible avec Overseerr et Jellyseerr
Installation simplifiée avec Docker
Suivi en temps réel – Barres de progression et mises à jour instantanées
Gestion intuitive des listes – Ajoutez, modifiez et organisez vos listes facilement
Analyses complètes – Taux de réussite, indicateurs de performance et données historiques
Configuration via le web – Gérez tous les paramètres depuis le tableau de bord
Interface moderne et responsive – Parfaitement adaptée aux ordinateurs, tablettes et mobiles
Thèmes clair/sombre – Détection automatique des préférences système
Pour cet article, j’installe une instance locale. Mais selon les besoins, le compose et le .env ne sont pas les mêmes. Pour une utilisation/configuration plus poussée, je vous invite à suivre la documentation.
Je place le docker-compose.yml et le .env dans /home/aerya/docker/list-sync. Je n’indique aucune liste dans l’environnement, je ne me servirai que de l’interface Web.
J’utilise la version :main qui est la stable. J’ai ajouté la MàJ automatique du docker via un label Watchtower comme à mon habitude. Et j’ai mis en dur la timzeone mais ça marche aussi via le .env
Et le .env avec les variables. Donc me concernant uniquement l’URL d’Overseerr et ma clé API. Je ferai le reste depuis la WebUI.
#=======================================================================
# ListSync Full Local Deployment Environment Configuration
# This file contains all variables needed for complete local deployment
# Copy this to .env and configure your values
#=======================================================================
# === Core Required Configuration ===
# Your Overseerr/Jellyseerr API key (REQUIRED)
OVERSEERR_API_KEY=xxxMQ==
# Your Overseerr/Jellyseerr URL (REQUIRED)
OVERSEERR_URL=https://demande.domain.tld
# === Optional Discord Notifications ===
# Discord webhook URL for notifications (leave blank to disable)
DISCORD_WEBHOOK_URL=
# Timezone (set to your local timezone)
TZ=UTC+2
#=======================================================================
# === Local Development Domains ===
# Frontend domain (Next.js Dashboard)
FRONTEND_DOMAIN=http://localhost:3222
# Backend API domain (FastAPI Server)
BACKEND_DOMAIN=http://localhost:4222
# === API Configuration ===
# This will be used by the frontend to call the API
NEXT_PUBLIC_API_URL=http://localhost:4222/api
# === CORS Configuration ===
# Allow frontend domain to access backend API
CORS_ALLOWED_ORIGINS=http://localhost:3222,http://0.0.0.0:3222,http://127.0.0.1:3222
#=======================================================================
# === List Configuration ===
# Configure which lists to sync (comma-separated)
# IMDb Lists (examples: "top", "popular", or specific list IDs)
IMDB_LISTS=
# Trakt Lists (specific list IDs)
TRAKT_LISTS=
# Trakt Special Lists (trending, collected, watched)
TRAKT_SPECIAL_LISTS=
TRAKT_SPECIAL_ITEMS_LIMIT=20
# Letterboxd Lists
LETTERBOXD_LISTS=
# MDBList Lists
MDBLIST_LISTS=
# Steven Lu Lists
STEVENLU_LISTS=
# === Sync Configuration ===
# User ID in Overseerr (usually 1 for admin)
OVERSEERR_USER_ID=1
# Sync interval in hours (24 = once per day)
SYNC_INTERVAL=24
# Enable automated mode (true/false)
AUTOMATED_MODE=true
# Enable 4K requests (true/false)
OVERSEERR_4K=false
#=======================================================================
# NOTE: This is the FULL LOCAL DEPLOYMENT configuration
# - Web UI will be available at http://localhost:3222
# - API server will run at http://localhost:4222
# - Core sync functionality will run automatically
# - All services managed by Docker Compose
#=======================================================================
Les options sont sommaires mais suffisantes
Je peux ajouter une liste de test. Attention, les listes peuvent être pratiques mais risquent également d’ajouter un paquet de fichiers en téléchargement d’un coup voire lors d’une mise à jour (toutes les 24h ici). Je teste ça avec Decypharr et le cache d’AllDebrid donc je ne crains rien (hormis indexer des trucs qui ne m’intéressent pas plus que ça) mais il faut faire attention si on télécharge réellement des .torrents, encore plus sur des trackers privés. Idem avec des indexeurs Usenet où on est parfois limité en API hit ou téléchargement, c’est un coup à tuer le quota mensuel en 3 minutes.
Et je l’exécute maintenant, je vais attendre 24h pour terminer ce tuto
Et là… entre l’ajout à Overseerr, l’envoie à Radarr, la rechercher sur Prowlarr, le DL simulé par Decypharr (donc la recherche dans le cache d’AllDebrid), la validation dans Radarr, l’ajout dans Plex et la mise à jour des jaquettes par Kometa, ça a pris environ 3 minutes. LA VACHE ! J’en avais déjà certains, quand même.
Oui. Alors là on visualise bien pourquoi je ne suis pas fan des listes « des autres » pour ma consommation personnelle. Je vais clairement virer Dragons, Elio, KPop et Bad Guys… Chacun ses goûts. En revanche, pour partager ça avec d’autres, c’est pratique de prendre des listes Netflix, Disney, Apple, HBO etc, surtout avec des jaquettes et collections par Kometa. Mais je ne m’aventure pas sur ce terrain là, mon plaisir est de découvrir, tester et partager des « retex ».
De retour sur SyncList, on peut visualiser l’état des synchronisations et les déclencher manuellement (global ici ou par liste sur l’onglet Lists)
Dans l'écosystème des développeurs, avoir un profil GitHub attractif n'est plus un simple luxe, c'est devenu une nécessité. Votre profil GitHub constitue souvent la première impression que vous donnez aux recruteurs, collaborateurs et à la communauté open source. C'est pourquoi il est crucial de soigner son apparence, et notamment d'avoir une bannière d'en-tête qui vous représente.
J’avais complètement zappé de présenter le fabuleux SugestArr il y a quelques mois, remédions à ça de suite !
On ajoute tous les contenus découverts sur le Web, sur IMDB, TMDB, Trakt, par des connaissances, via des forums, via Overseerr ou Jellyseerr…
Cet outil de guiseppe99barchetta devrait vous ravir puisqu’il permet d’avoir des recommandations personnalisées et est, je trouve, relativement complet :
Prise en charge multi-médias : compatible avec Jellyfin, Plex et Emby pour récupérer le contenu.
Intégration TMDb : recherche de films et séries similaires via TMDb.
Requêtes automatisées : envoie des demandes de téléchargement pour les contenus recommandés vers Jellyseer ou Overseerr.
Interface web : interface conviviale pour la configuration et la gestion.
Journaux en temps réel : visualiser et filtrer les logs en direct (ex. INFO, ERROR, DEBUG).
Sélection des utilisateurs : possibilité de choisir quels utilisateurs peuvent initier des requêtes, avec gestion et validation des contenus demandés automatiquement.
Gestion des tâches cron : modification du planning des cron jobs directement depuis l’interface web.
Pré-validation de configuration : vérifie automatiquement les clés API et les URLs lors de l’installation.
Filtrage de contenu : exclut les demandes de contenus déjà disponibles sur les plateformes de streaming dans votre pays.
Support de bases de données externes : possibilité d’utiliser PostgreSQL ou MySQL en plus de SQLite pour plus de performance et d’évolutivité.
Y’a pas d’application AndroidTV/smarthone mais c’est responsive et on peut automatiser les ajouts.
Pour l’utiliser il faut une clé API TMDB et évidemment une ou des instances Plex/Emby/Jellyfin et Oberseerr/Jellyseerr.
Une fois lancé, on se connecte avec notre lecteur favori, on ajoute une clé TMDB
Dans le cas de Plex, ça liste les serveurs disponibles (pour faire simple j’ai sélectionné un local) et ça en détaille les librairies et utilisateurs. On peut aussi mettre une URL directement
On enchaine avec Overseerr ou Jellyseerr
Je reste sur du SQLite. Si vous voulez une BDD robuste à part, il faut revoir le docker-compose pour l’ajouter
Configuration rapide :
Note minimale sur TMDB et nombre minimum d’avis,
Je n’inclus pas le contenu sans note J’exclus le contenu déjà téléchargé et/ou vu
Je n’exclus aucun genre ni aucun service (Disney+, Netflix, Youtube, Canal+…)
Je sélectionne English pour la langue originale des contenus que je veux en recommandation. Je ne suis absolument pas fan de Plus belle la vie et autres trucs français. Je préfère les séries US notamment. Précision : ça ne limite pas aux contenus produits en langue anglais mais ça la priorise
Et je souhaite des recommandations de contenus produits à partir des années 90
Pour chaque film en historique de lecture je veux 8 suggestions, 5 pour chaque série,
Suggestarr me fera des recommandations par rapport aux 5 derniers contenus lus,
Le Search Size définissant combien de suggestions en tout je demande (si j’ai bien pigé ?) Et le cron, pour l’exécution. J’ai changé après la capture, j’ai mis toutes les 6h (0 */6 * * *)
Et la récap de fin avant le 1er lancement
Et ça ajoute les recommandations dans Overseerr ou Jellyseerr selon votre configuration. Attention du coup si, comme moi, tout est automatiquement validé, ça peut vite accroître les bibliothèques ! Mon setup étant tout récent je n’ai hélas pas de screen à vous montrer mais vous pouvez voir ce que ça donne avec la fin de cette vidéo YouTube avec UNRAiD.
Utilisateurs de qBittorrent, combien de fois avons-nous vu un .torrent marqué « stalled » ? Un téléchargement bloqué pour X raison et Sonarr ou Radarr qui attend… attend… encore et toujours…
Les *arrs n’ont pas d’outil de détection des téléchargements bloqués.
Pour lancer le Docker, on met les instances qu’on souhaite, je teste avec les 2 que j’ai. J’ai mis les IP:port mais on peut mettre une URL sans le backslash de fin
J’ai tout laissé par défaut mais on peut régler les variables
Name
Default
Description
BASEURL
http://127.0.0.1:7878
The URL of a radarr, sonarr or other starr instance.
APIKEY
7f3a8..cbc07
The API key of a radarr, sonarr or other starr instance.
PLATFORM
radarr
Indicates the type of starr platform, either radarr, sonarr, lidarr, readarr or whisparr.
MAX_STRIKES
3
Maximum number of strikes a download can accumulate before it is removed.
SCAN_INTERVAL
10m
How often Swaparr checks for stalled downloads.
MAX_DOWNLOAD_TIME
2h
Maximum allowed download time before it’s considered stalled.
IGNORE_ABOVE_SIZE
25GB
Files larger than this size will be ignored and not monitored.
REMOVE_FROM_CLIENT
true
Remove from both queue and download client (default) OR false only the queue of a starr instance.
DRY_RUN
false
Sandbox mode; try Swaparr without it performing destructive actions on your instances.
Swaparr gère les clients de téléchargement BitTorrent liés aux *arrs, toute les 10 minutes avec cette configuration. Et l’instance *arr pourra donc aller chercher un autre .torrent
aerya@StreamBox:~$ sudo docker logs swaparr-radarr
── Swaparr ─────
╭─╮ Platform: radarr
│ │ Max strikes: 3
│ │ Scan interval: 10m
│ │ Max download time: 2h
│ │ Ignore above size: 25GB
╰─╯ Remove from client: true
╭─╮ Be part of Swaparr's journey ⭐ Star us on GitHub!
╰─╯ Your support strengthens the open-source community.
────────────────
╭──────────────────────────────────────────────────────────────────────────╮
│ No downloads found │
╰──────────────────────────────────────────────────────────────────────────╯
─ Checking again in 10m..
╭──────────────────────────────────────────────────────────────────────────╮
│ No downloads found │
╰──────────────────────────────────────────────────────────────────────────╯
─ Checking again in 10m..
╭──────────────────────────────────────────────────────────────────────────╮
│ No downloads found │
╰──────────────────────────────────────────────────────────────────────────╯
─ Checking again in 10m..
Sonarr est conçu pour chercher automatiquement des épisodes et non des packs. Il peut arriver qu’il manque au moins 1 épisode de saison et c’est… pénible de devoir aller chercher ça à la main. d3v1l1989 a créé SeasonArr qui règle ce problème en permettant de chercher un pack de saison puis remplacer les épisodes déjà télécharger. Cet outil, en 1 clic, remplace la recherche interactive de Sonarr.
Mon setup *arrs/Plex étant tout frais, pour ces séries d’articles, il ne me manque rien en dehors d’épisodes non parus en MULTi/VF donc mes screen ne seront pas révélateurs. « pas de bol »
Il faut préalablement créer une clé JWT soit en console si nodejs est installé (sudo apt install nodejs) soit via ce site par exemple.
Une fois le compte créé on peut lier une ou plusieurs instances Sonarr
Seasonarr indexe alors les séries et on peut lister celles où il manque des épisodes. Comme indiqué plus haut, mon exemple n’est pas révélateur puisqu’il me manque seulement ces 2 épisodes qui existent en VOSTFR mais non en MULTi/VF comme je les veux.
Mais si pour une série il manque des épisodes dans des saisons « parues », on peut alors cliquer sur Season It! et Seasonarr se servira des indexeurs de l’instance Sonarr pour aller chercher des packs complets et remplacer tous les épisodes individuels complétés et manquant pour les saisons sélectionnées. On peut le faire par saison ou pour la série complète.
Il n’y a pas d’automatisation du process vu que ce n’est à faire qu’une fois de temps en temps, en théorie. Les options sont sommaires mais suffisantes.
Je viens de faire le test avec Got, je n’ai pas demandé à Sonarr de chercher les épisodes pour passer directement par Seasonarr
Après avoir cliqué sur Season It! (global, pas apr saison), Sonarr s’est bien mis en recherche
J’aime bien avoir une idée des notes IMDB/TMDB des contenus répertoriés par Plex. Kometa, un script Python empaqueté dans un Docker pour plus de simplicité, permet de m’auditer les jaquettes des contenus indexés et créer celles de collections et playlists. On peut presque faire la même chose sur Emby/Jellyfin, avec Posterizarr qui fonctionne aussi pour Plex)
On peut y mettre les infos qu’on souhaite, à l’endroit qu’on veut et créer/afficher ou non les listes par diffuseur etc. Tout est configurable, pour peu qu’on prenne le temps de lire la documentation.
Je partage ma configuration actuelle, qu’il faudrait encore peaufiner, et vous pouvez en trouver d’autres ici ou là.
Voici un Docker qui fonctionne très bien. Au besoin, pour UNRAiD, Synology, QNAP, Kubernetes, la doc est complète.
Et voici mon config.yml Il faut le domaine Plex + token, les clés API TMDB, FanART et MDBlist. Je voulais tester les playlists, pas encore pris le temps…
Attention, dans la partie « libraries » les noms des librairies doivent être ceux de Plex, ici Films et Séries TV