Mode-Affiches/README.md
2025-07-13 11:22:33 +00:00

9.4 KiB
Raw Permalink Blame History

Mode Affiches Alternatif — UseNet Enhanced

🚨 Problème connu
L'option Jellyseerr est temporairement hors service.
Je m'en occupe au plus vite pour un retour à la normale.
Merci pour votre patience et votre soutien ! 🙏

Userscript avancé pour transformer la liste de releases sur un indexeur privé en galerie daffiches responsive, overlay dinfo détaillé, et actions directes Radarr/Sonarr.

Merci au développeur du site pour le partenariat technique ! Qui a en plus ajouté le mode écran large :)

Merci à chatGPT pour les corrections (1 erreur de corrigée, 2 de créées lol), le décalage de l'overlay, l'intégration de Radarr en exemple et le ReadMe !


🚀 Fonctionnalités principales

  • Affichage galerie : Grille responsive pour films & séries (Accueil, Films, Séries)
  • Regroupement intelligent : Toutes les releases dun même film/série sont rassemblées sous une seule affiche
  • Overlay dynamique & configurable :
    • Clic sur une affiche = détails de toutes les releases du titre (scroll auto si +10 releases)
    • Sur option, ouverture dans un nouvel onglet de la fiche du média/Voir toutes les releases
    • Taille de police de loverlay réglable
  • Actions Radarr/Sonarr/4K/Overserr/Jellyseerr : (NB : j'ai pas pris le temps de tester Jellyseerr, je me suis basé sur Overseerr)
    • Boutons dajout direct (Radarr, Radarr 4K, Sonarr, Sonarr 4K) affichés uniquement si des instances sont configurées (via le menu)
    • Configuration facile des instances, sans exposer dURL du site ou de clés en dur
    • Fonctionne avec URL ou http://ip:port sans blackslash à la fin
    • Pour Overseerr/Jellyseerr, voir plus loin dans le ReadMe (Détails Techniques) car il faut modifier le reverse-proxy si vous en utilisez un
    • Qualité et dossier cible auto, choix du profil dynamique
  • Badges notes TMDB/IMDB :
    • Notes avec icônes, fond blanc translucide, texte noir gras
    • Lien direct vers la fiche TMDB
  • Largeur daffiche configurable : Slider 200360 px
  • Menu de configuration dynamique : Sélection des sections à transformer (Accueil, Films, Séries), instances Radarr/Sonarr, options dUI
  • Persistant : Toutes les préférences (sections actives, tailles, instances…) sont sauvegardées en LocalStorage
  • Bouton “Remonter en haut de page” : Apparition automatique au scroll
  • Sécurité et vie privée :
    • Le script ne contient aucune URL dindexeur
    • Grâce à une détection côté navigateur, il sactive uniquement sur le bon site, sans config manuelle
    • Mises à jour automatiques : Le script vérifie et propose les updates GitHub/Gitea de lui-même (il check les dépôts toutes les 12h)

🆕 Journal des mises à jour

8.4.5 (13/07/2025)

  • Amélioration de l'emplacement du menu

8.4.4 (13/07/2025)

  • Correction & refonte MàJ auto

8.4.3 (12/07/2025)

  • Ajout de la fonction dauto-update discrète depuis tig. et GitHub
  • Support amélioré pour charger la mise à jour depuis les deux sources simultanément
  • Correction mineure dans le processus douverture de longlet de mise à jour
  • Stabilisation générale du script, sans suppression de fonctionnalités

8.4.2 (12/07/2025)

  • Badges TMDB/IMDB : fond blanc opaque, texte noir gras, lien direct vers la fiche TMDB
  • Icônes Radarr/Sonarr/4K visibles uniquement si instances configurées
  • Config multi-instance Radarr/Sonarr, Overseerr, Jellyseerr, overlay moderne, taille de police ajustable
  • Nombreuses optimisations UX

📦 Installation

  1. Installez ViolentMonkey (ou TamperMonkey, GreaseMonkey…)
  2. Créez un nouveau script et collez-y le contenu de mode_affiches.js
  3. Activez le script. Il détectera automatiquement sil se trouve sur le bon indexeur (grâce à la collaboration avec le développeur)
  4. Configurez vos instances Radarr/Sonarr/4K si besoin, via le menu (aucune URL du site à renseigner)

🖥️ Aperçu visuel

Menu

Overlay

Affiches

Radarr

Overseerr


🧩 Détails techniques

  • Vanilla JS : Zéro dépendance externe
  • Détection automatique du site : Activation sans configuration dURL
  • Groupement local : Toutes les opérations sont faites côté navigateur, jamais dappel API “sauvage” à lindexeur
  • Overlay au clic : Ergonomie optimale
  • Mises à jour automatiques : Pas besoin de surveiller GitHub, le script le fait pour vous

Pré-requis côté serveur: activer CORS pour votre domaine

▶️ Nginx Proxy Manager

Dans longlet Advanced du proxy vers Overseerr/Jellyseerr, ajoutez (en adaptant lURL de lindexeur si besoin): rempalcez https://lesite.extension par la vraie URL de l'indexeur et ttp://192.168.0.195:5055 par l'IP et le port de l'application

location /api/v1/ {
    add_header 'Access-Control-Allow-Origin' 'https://lesite.extension' always;
    add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE' always;
    add_header 'Access-Control-Allow-Headers' 'Authorization, X-Api-Key, Content-Type, Accept' always;
    add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always;

    if ($request_method = 'OPTIONS') {
        add_header 'Access-Control-Allow-Origin' 'https://lesite.extension' always;
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE' always;
        add_header 'Access-Control-Allow-Headers' 'Authorization, X-Api-Key, Content-Type, Accept' always;
        add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always;
        add_header 'Access-Control-Max-Age' 86400 always;
        add_header 'Content-Type' 'text/plain charset=UTF-8' always;
        add_header 'Content-Length' 0 always;
        return 204;
    }

    proxy_pass http://192.168.0.195:5055;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}
Démo NPM1 1

▶️ Traefik

Dans la section middlewares de votre docker-compose.yml ou traefik config:

  overseerr-cors:
    headers:
      accessControlAllowOriginList:
        - "https://lesite.extension"
      accessControlAllowMethods:
        - "GET"
        - "POST"
        - "OPTIONS"
        - "PUT"
        - "DELETE"
      accessControlAllowHeaders:
        - "Authorization"
        - "X-Api-Key"
        - "Content-Type"
        - "Accept"
      accessControlExposeHeaders:
        - "Content-Length"
        - "Content-Range"
      accessControlMaxAge: 86400
      addVaryHeader: true

Ajoutez le middleware à votre service Overseerr/Jellyseerr:

  labels:
    - "traefik.http.routers.overseerr.middlewares=overseerr-cors@docker"

⚠️ Si vous voyez un message “CORS error” dans la console navigateur:
Cest la config proxy qui doit être adaptée (voir ci-dessus) Un simple curl qui marche ne suffit pas, le navigateur exige un header CORS valide et un endpoint OPTIONS qui répond 204/200


FAQ

Le script ne fonctionne pas ?
Vérifiez que vous êtes bien sur les pages sur lesquelles il agit. Vérifiez que l'URL est bien détectée (et non bloquée par une extension de votre navigateur Internet) Un bug ?
Joignez un extrait HTML de la page pour correction express


💡 Idées pour les prochaines versions

  • Section musique : recherche sur Spotify, recherche par genres/artistes similaires, intégration de Lidarr
  • ... ?

🤝 Crédits

Développé par Aerya — libre dutilisation & de modification, avec mention de la source.