# 🎭 Radarr ↔ TMDB Tagueur Automatique Un script Python qui dĂ©tecte automatiquement les spectacles vivants (stand-up, théùtre, one-man shows...) dans votre bibliothĂšque Radarr et leur applique un tag "spectacle". **Important** : Les concerts de musique sont explicitement exclus. ## 📋 Sommaire - [Installation](#installation) - [Configuration](#configuration) - [Utilisation](#utilisation) - [SĂ©curitĂ©](#sĂ©curitĂ©) - [Rollback](#rollback) - [Checklist](#checklist) ## 🚀 Installation ### 1. Cloner le repo ### 2. CrĂ©er un environnement virtuel (recommandĂ©) ### 3. Installer les dĂ©pendances Defaulting to user installation because normal site-packages is not writeable Collecting requests>=2.28.0 (from -r requirements.txt (line 1)) Downloading requests-2.32.5-py3-none-any.whl.metadata (4.9 kB) Collecting pyyaml>=6.0 (from -r requirements.txt (line 2)) Downloading pyyaml-6.0.3-cp313-cp313-win_amd64.whl.metadata (2.4 kB) Collecting python-dotenv>=1.0.0 (from -r requirements.txt (line 3)) Downloading python_dotenv-1.2.1-py3-none-any.whl.metadata (25 kB) Collecting charset_normalizer<4,>=2 (from requests>=2.28.0->-r requirements.txt (line 1)) Downloading charset_normalizer-3.4.4-cp313-cp313-win_amd64.whl.metadata (38 kB) Collecting idna<4,>=2.5 (from requests>=2.28.0->-r requirements.txt (line 1)) Downloading idna-3.11-py3-none-any.whl.metadata (8.4 kB) Collecting urllib3<3,>=1.21.1 (from requests>=2.28.0->-r requirements.txt (line 1)) Downloading urllib3-2.6.3-py3-none-any.whl.metadata (6.9 kB) Collecting certifi>=2017.4.17 (from requests>=2.28.0->-r requirements.txt (line 1)) Downloading certifi-2026.1.4-py3-none-any.whl.metadata (2.5 kB) Downloading requests-2.32.5-py3-none-any.whl (64 kB) Downloading charset_normalizer-3.4.4-cp313-cp313-win_amd64.whl (107 kB) Downloading idna-3.11-py3-none-any.whl (71 kB) Downloading urllib3-2.6.3-py3-none-any.whl (131 kB) Downloading pyyaml-6.0.3-cp313-cp313-win_amd64.whl (154 kB) Downloading python_dotenv-1.2.1-py3-none-any.whl (21 kB) Downloading certifi-2026.1.4-py3-none-any.whl (152 kB) Installing collected packages: urllib3, pyyaml, python-dotenv, idna, charset_normalizer, certifi, requests Successfully installed certifi-2026.1.4 charset_normalizer-3.4.4 idna-3.11 python-dotenv-1.2.1 pyyaml-6.0.3 requests-2.32.5 urllib3-2.6.3 ## ⚙ Configuration ### Fichier des secrets () **⚠ Important** : Ce fichier est situĂ© **UN NIVEAU AU-DESSUS** du repo Git pour ne jamais ĂȘtre commitĂ© par accident. #### Option 1 : CrĂ©ation automatique (recommandĂ©e) Lancez simplement le script. S'il ne trouve pas le fichier, il vous demandera les informations : Le script crĂ©era automatiquement avec vos secrets. #### Option 2 : CrĂ©ation manuelle CrĂ©ez le fichier (un dossier au-dessus du repo) : Contenu : **Obtenir vos clĂ©s API :** - **Radarr** : ParamĂštres → GĂ©nĂ©ral → ClĂ© API - **TMDB** : https://www.themoviedb.org/settings/api → CrĂ©er une clĂ© ### Fichier de configuration () Copiez l'exemple et adaptez : Modifiez selon vos besoins : ## 🎯 Utilisation ### Dry-run (par dĂ©faut - recommandĂ© pour tester) Analyse 5 films et montre ce qui serait taguĂ© sans rien modifier : **Sortie :** - Liste des films dĂ©tectĂ©s dans le terminal - Export CSV avec les dĂ©tails () ### Appliquer les tags Une fois satisfait du dry-run, appliquez rĂ©ellement les tags : ### Options disponibles Options : - : Limite Ă  N films - : Applique rĂ©ellement les tags (sinon dry-run) - : Utilise un autre fichier de config - ou : Mode verbeux (plus de logs) ### Exemples ## 🔒 SĂ©curitĂ© ### Protection des secrets ✅ **Bien** : - Les secrets sont dans (hors du repo) - Les clĂ©s API sont masquĂ©es lors de la saisie interactive - Les secrets ne sont jamais loguĂ©s ni affichĂ©s - Le fichier CSV d'export ne contient aucun secret ❌ **Ne faites jamais** : - Ne copiez pas dans le repo - Ne committez jamais vos clĂ©s API - Ne partagez pas votre fichier CSV s'il contient des chemins sensibles ### Sauvegarde avant modifications **Avant d'utiliser **, sauvegardez votre base Radarr : Ou exportez vos tags actuels via l'API. ## ↩ Rollback En cas d'erreur, vous pouvez retirer les tags facilement. ### MĂ©thode 1 : Via le CSV gĂ©nĂ©rĂ© Le fichier CSV contient tous les films taguĂ©s. Vous pouvez utiliser cette liste pour identifier les films Ă  corriger. ### MĂ©thode 2 : Via l'API Radarr (manuel) ### MĂ©thode 3 : Via l'interface Radarr 1. Allez dans Films 2. Filtrez par tag "spectacle" 3. SĂ©lectionnez les films concernĂ©s 4. Actions en masse → Supprimer le tag ## ✅ Checklist avant commit Voir [checklist.txt](checklist.txt) ## 🐛 DĂ©pannage ### Erreur : "Fichier ../.env.global non trouvĂ©" Le script va vous demander de crĂ©er le fichier interactivement. Suivez les instructions. ### Erreur : "Variable manquante dans ../.env.global" VĂ©rifiez que les 3 variables sont bien prĂ©sentes : - RADARR_URL - RADARR_APIKEY - TMDB_APIKEY Supprimez le fichier et relancez le script pour le recrĂ©er. ### Erreur de connexion Ă  Radarr VĂ©rifiez : - L'URL Radarr est accessible depuis la machine - La clĂ© API est correcte - Radarr est en ligne ### Rate limit TMDB Si vous avez beaucoup de films, vous pouvez atteindre la limite de requĂȘtes TMDB. Le script attend automatiquement, mais soyez patient. ## 📝 Notes - Le script analyse uniquement les films ayant un ID TMDB - Le mode "loose" (dĂ©faut) dĂ©tecte plus de spectacles mais peut avoir des faux positifs - Le mode "strict" est plus conservateur - Les concerts de musique sont TOUJOURS exclus, mĂȘme avec des mots-clĂ©s ambigus ## đŸ· Une petite touche d'humour > *"À cinquante ans, on ne tague plus les films avec ses doigts fatiguĂ©s. > On laisse Python faire le boulot pendant qu'on savoure un bon cafĂ©."* --- **Bon tagging !** 🎭