112 lines
4.2 KiB
Markdown
112 lines
4.2 KiB
Markdown
---
|
|
title: Frames
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, media-streaming, plex, mapping, library, nodejs]
|
|
confidence: medium
|
|
contested: false
|
|
sources:
|
|
- https://selfh.st/apps/?tag=Media+Streaming
|
|
- https://github.com/.../frames
|
|
---
|
|
|
|
# 🎬 Frames
|
|
|
|
> Outil de mapping et d'organisation de bibliothèques Plex — réconcilie, fusionne et rééquilibre les métadonnées incohérentes.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Attribut | Valeur |
|
|
|----------|--------|
|
|
| **Nom** | Frames |
|
|
| **Slug** | app-frames |
|
|
| **Description** | Utilitaire Node.js pour analyser, fusionner et corriger les entrées d'une bibliothèque Plex |
|
|
| **Site officiel** | https://framesapp.io/ |
|
|
| **Repository** | https://github.com/framesapp/frames |
|
|
| **Stars** | 497 ⭐ |
|
|
| **Licence** | MIT |
|
|
| **Langage principal** | TypeScript (Node.js) |
|
|
| **Catégorie** | Media Streaming |
|
|
| **Tags** | [catalogue, media-streaming, plex, mapping, library, nodejs] |
|
|
|
|
## 📝 Description
|
|
|
|
Frames est un outil dédié à l'un des plus gros points de friction de [[app-plex]] : la qualité des métadonnées. Quand votre bibliothèque contient plusieurs versions du même film (rip 4K + version Director's Cut + version cinéma), Plex les affiche souvent comme des entrées distinctes, ou inversement, fusionne des films différents à cause d'un titre identique. Frames analyse la bibliothèque et propose un mapping cohérent.
|
|
|
|
Le logiciel se branche via l'API officielle Plex, lit les fichiers physiques (pour vérifier durée, codec, taille), compare aux métadonnées TMDB/IMDB, et expose une interface web de validation où l'on peut confirmer ou refuser chaque fusion proposée. C'est un **data janitor** pour bibliothèques qui ont pris du poids.
|
|
|
|
Points forts : UUID stable, scan incrémental, gestion des doublons exacte (hash) et floue (titre). Limites : projet mono-utilisateur, dépendant de la qualité de scan de Plex, et le re-mapping peut prendre du temps sur > 10 000 items.
|
|
|
|
## 🚀 Installation
|
|
|
|
### Via Docker (recommandé)
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
version: "3.8"
|
|
|
|
services:
|
|
frames:
|
|
image: ghcr.io/framesapp/frames:latest
|
|
container_name: frames
|
|
restart: unless-stopped
|
|
ports:
|
|
- "7000:7000"
|
|
environment:
|
|
- PLEX_URL=http://plex.local:32400
|
|
- PLEX_TOKEN=*** - TMDB_API_KEY=*** - TZ=Europe/Paris
|
|
volumes:
|
|
- ./config:/app/config
|
|
- ./cache:/app/cache
|
|
```
|
|
|
|
### Installation manuelle
|
|
|
|
```bash
|
|
git clone https://github.com/framesapp/frames
|
|
cd frames
|
|
npm install
|
|
npm run build
|
|
node dist/server.js
|
|
```
|
|
|
|
## ⚙️ Configuration
|
|
|
|
- **Connexion Plex** : URL du serveur (`http://IP:32400`) + X-Plex-Token.
|
|
- **TMDB** : clé API gratuite, indispensable pour valider les fusions.
|
|
- **Stratégie de matching** : choisir entre `exact` (hash SHA256), `fuzzy` (titre + année ±1) ou `hybrid`.
|
|
- **Bibliothèques cibles** : filtrer par section Plex (Films, Séries, etc.).
|
|
- **Dry-run** : mode lecture seule, recommandé avant tout vrai mapping.
|
|
|
|
## 🔗 Alternatives
|
|
|
|
- **Plex Meta Manager** — Plus puissant (collections automatiques, overlays) mais plus complexe.
|
|
- **FileBot** — Renommage de fichiers basé sur métadonnées, pas Plex.
|
|
- **Sonarr/Radarr + Custom Formats** — Empêche les doublons en amont, mais ne nettoie pas l'existant.
|
|
- **PlexDance** — Script Bash plus ancien, sans UI.
|
|
|
|
## 🔒 Sécurité
|
|
|
|
- Le `PLEX_TOKEN` donne un accès administrateur complet : le traiter comme un mot de passe (variable d'environnement, pas dans un repo Git).
|
|
- Limiter l'accès réseau à Frames (LAN ou VPN via [[app-wireguard]]).
|
|
- Faire un backup de la base SQLite Plex avant tout batch de fusions massives.
|
|
- Auditer régulièrement les fusions automatiques (mode `dry-run`).
|
|
|
|
## 📚 Ressources
|
|
|
|
- Repository : https://github.com/framesapp/frames
|
|
- Documentation : https://docs.framesapp.io/
|
|
- API Plex : https://www.plexopedia.com/plex-media-server/api/
|
|
- TMDB API : https://www.themoviedb.org/documentation/api
|
|
|
|
## 🔗 Pages Liées
|
|
|
|
- [[cat-media-streaming]] (catégorie parente)
|
|
- [[app-plex]] — Cible principale de Frames
|
|
- [[app-jellyfin]] — Alternative libre
|
|
- [[app-emby]] — Concurrent semi-ouvert
|
|
- [[app-traefik]] — Reverse proxy HTTPS
|
|
- [[securisation-home-lab]] — Bonnes pratiques
|
|
- [[recettes-docker-compose]] — Templates
|