Files
Trakt-Rater/README.md
dev 26808fc2b0
Some checks failed
Docker / docker (push) Failing after 26s
Initial commit
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>
2026-03-04 13:33:58 +00:00

154 lines
4.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 (110) — 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
- Un compte [Trakt](https://trakt.tv) avec une application OAuth configurée
- Une clé API [TMDB](https://www.themoviedb.org/settings/api) (gratuite)
### Créer l'application Trakt
1. Aller sur [trakt.tv/oauth/applications/new](https://trakt.tv/oauth/applications/new)
2. Remplir le nom (ex. `trakt-rater`)
3. Mettre comme **Redirect URI** : `http://localhost:8000/auth/callback`
*(ou l'URL publique de ton instance si derrière un reverse proxy)*
4. Récupérer le **Client ID** et le **Client Secret**
---
## Docker
La méthode recommandée.
### Démarrage rapide
```bash
# 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 :
```bash
docker logs -f trakt-rater
```
Puis ouvrir [http://localhost:8000](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) :
```bash
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 :
```yaml
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_URI` avec 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 :
```bash
cd /mnt/user/appdata/trakt-rater-src
git pull
docker build -t trakt-rater:latest .
docker restart trakt-rater
```
---
## Sans Docker
```bash
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