Interface web pour noter rapidement les films non notés sur Trakt. Enrichissement TMDB (titres/résumés FR), notation 1-10 en un clic, bouton passer, filtres, tri, pagination. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
4.5 KiB
trakt-rater
Interface web pour noter rapidement les films non notés sur Trakt.
Affiche tous les films de ton historique Trakt qui n'ont pas encore de note (ou notés 10/10 à revoir), enrichis avec les titres et résumés en français via TMDB. Un clic suffit pour noter et passer au suivant.
Fonctionnalités
- Films filtrés depuis ton historique Trakt : non notés et notés 10/10
- Titres français, jaquettes et résumés via TMDB (fallback anglais si traduction absente)
- Note en un clic (1–10) — le film disparaît immédiatement
- Bouton « Passer » pour ignorer un film sans le noter (persistant dans le navigateur)
- Filtres : tous / non notés / 10/10
- Tri : date de visionnage / titre / année
- Pagination
Prérequis
Créer l'application Trakt
- Aller sur trakt.tv/oauth/applications/new
- Remplir le nom (ex.
trakt-rater) - Mettre comme Redirect URI :
http://localhost:8000/auth/callback(ou l'URL publique de ton instance si derrière un reverse proxy) - Récupérer le Client ID et le Client Secret
Docker
La méthode recommandée.
Démarrage rapide
# 1. Copier le compose et remplir les variables
cp docker-compose.yml docker-compose.local.yml
$EDITOR docker-compose.local.yml
# 2. Build de l'image
docker build -t trakt-rater:latest .
# 3. Démarrer
docker compose -f docker-compose.local.yml up -d
Logs :
docker logs -f trakt-rater
Puis ouvrir http://localhost:8000 et se connecter avec Trakt.
Variables d'environnement
| Variable | Défaut | Description |
|---|---|---|
TRAKT_CLIENT_ID |
(requis) | Client ID de l'application Trakt |
TRAKT_CLIENT_SECRET |
(requis) | Client Secret de l'application Trakt |
TRAKT_REDIRECT_URI |
http://localhost:8000/auth/callback |
Doit correspondre exactement à l'URI configurée sur Trakt |
TMDB_API_KEY |
(requis) | Clé API TMDB |
SECRET_KEY |
change-me |
Clé de signature des sessions (à changer) |
Unraid
Méthode 1 — Docker Compose Manager (recommandée)
Important : le Compose Manager d'Unraid pipe le fichier via stdin, donc
build: .ne fonctionnera pas. Il faut builder l'image manuellement d'abord.
Étape 1 — Builder l'image sur Unraid (terminal, à refaire après chaque mise à jour) :
cd /mnt/user/appdata
git clone <url-du-dépôt> trakt-rater-src
docker build -t trakt-rater:latest /mnt/user/appdata/trakt-rater-src/
Étape 2 — Ajouter le stack dans le Docker Compose Manager, coller :
services:
trakt-rater:
image: trakt-rater:latest
container_name: trakt-rater
restart: unless-stopped
ports:
- "8000:8000"
environment:
TRAKT_CLIENT_ID: "ton_client_id"
TRAKT_CLIENT_SECRET: "ton_client_secret"
TRAKT_REDIRECT_URI: "http://unraid.local:8000/auth/callback"
TMDB_API_KEY: "ta_clé_tmdb"
SECRET_KEY: "une-chaine-aléatoire"
Note : penser à mettre à jour le
TRAKT_REDIRECT_URIavec l'adresse de ton Unraid, et à l'ajouter dans les paramètres de l'application Trakt.
Mettre à jour l'image après un changement de code :
cd /mnt/user/appdata/trakt-rater-src
git pull
docker build -t trakt-rater:latest .
docker restart trakt-rater
Sans Docker
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
# Remplir .env avec tes clés
uvicorn main:app --reload
Structure du projet
main.py Application FastAPI (routes, cache, OAuth)
trakt.py Client Trakt API
tmdb.py Client TMDB API (enrichissement FR)
static/
index.html Interface web
style.css Thème sombre
app.js Logique frontend
requirements.txt Dépendances Python
Dockerfile Image Docker
docker-compose.yml Stack Docker Compose
.env.example Template de configuration
License
MIT