Netflix - Copy this React, Tailwind Component to your project
Tu dois intégrer une **section dédiée aux films locaux**, inspirée de l’application Infuse. Voici la logique exacte à suivre : --- 📂 1. DÉTECTION DES FICHIERS LOCAUX - Demander à l’utilisateur de choisir un dossier contenant ses fichiers `.mp4`, `.mkv`, `.avi`, etc. - Scanner ce dossier récursivement (avec `fs` de Node.js via Electron). - Extraire les noms de fichiers, tailles, chemins complets. --- 🔍 2. UTILISER TMDb POUR RECONNAISSANCE AUTOMATIQUE - Pour chaque fichier détecté, extraire le nom du film (en nettoyant le nom du fichier). - Exemple : `The.Matrix.1999.1080p.BluRay.mkv` → `The Matrix` - Interroger l’API TMDb avec ce titre. - Si une correspondance est trouvée : - Associer l’affiche, la description, le titre, la date, etc. - Sinon, laisser une carte “inconnue” avec possibilité d’éditer manuellement plus tard. --- 🎞️ 3. SECTION "FILMS LOCAUX" - Créer une **section séparée** dans l’interface principale appelée **"Mes fichiers"** ou **"Contenu local"** - Cette section doit apparaître **en bas** de la home (ou dans un onglet dédié si tu préfères) - Style Netflix identique : - Affiche du film - Hover avec effets (zoom, bouton lecture, info) - Possibilité de classer ou filtrer (ordre alphabétique, année, taille du fichier) --- ▶️ 4. LECTURE DES FICHIERS LOCAUX - Quand on clique sur "Lire", ouvrir un lecteur vidéo **intégré** (type `<video>` ou `Video.js`) avec : - Le chemin local comme source : `file://chemin/du/fichier` - Mode plein écran, autoplay, et bouton retour --- 🔧 5. ENREGISTRER LES MÉTADONNÉES EN CACHE - Sauvegarder les infos TMDb et le chemin dans un fichier `cache.json` pour éviter de rescanner à chaque lancement. - Prévoir un bouton "Rafraîchir" pour rescanner le dossier manuellement. --- ✅ OBJECTIF FINAL - La section "Films Locaux" doit **ressembler parfaitement aux sections Netflix** visuellement - Mais son contenu vient du disque dur local, avec les **métadonnées enrichies** via TMDb - L’expérience utilisateur doit être **fluide, moderne, et sans bugs**
