Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Séances ciné

Application web (installable sur téléphone) qui liste les films à l'affiche et leurs séances pour un cinéma et un jour donnés. Par défaut : UGC Ciné Cité SQY Ouest, aujourd'hui, séances en VO.

Fonctionnalités

  • Heure de début du film (après les pubs) mise en avant :
    • cinémas UGC : heure exacte, calculée à partir de l'heure de fin annoncée par ugc.fr (fin − durée du film) ;
    • autres cinémas : estimation (≈) = heure de séance + durée de pubs typique de l'enseigne (réglable dans scraper/cinemas.json, clé adsMinutes).
  • Filtres :
    • type de séance : VO (par défaut, y compris les films francophones en français), VF (films doublés), toutes ; formats (IMAX, 4DX, Infinity Vision, 3D, séance adaptée…) ;
    • nationalité : films français (coproductions incluses) ou étrangers ;
    • genres ;
    • note minimale selon la source : presse Allociné, spectateurs Allociné, spectateurs UGC, IMDb, Rotten Tomatoes, Metacritic, ou moyenne de toutes ;
    • labels : UGC Aime, UGC Découvre, UGC Frissonne…, avant-premières, nouveautés de la semaine ;
    • séances déjà commencées (masquées par défaut).
  • Tris : prochaine séance, note (par source ou moyenne), titre, durée.
  • Deux vues : par film (avec affiche, notes, synopsis) ou chronologique (toutes les séances triées par heure).
  • Choix du cinéma avec recherche et favoris ; réglages mémorisés sur le téléphone.
  • Fonctionne hors connexion avec les dernières données consultées.
  • Chaque séance renvoie vers la page de réservation.

Fonctionnement

GitHub Actions (4 fois par jour)                      GitHub Pages
┌──────────────────────────────────────────┐          ┌──────────────────────────┐
│ scraper/scrape.py                        │          │ site/  (HTML/CSS/JS)     │
│  • Allociné : séances, pays, genres,     │  ──────▶ │ site/data/*.json         │ ◀── téléphone
│    notes presse/spectateurs              │  publie  │                          │
│  • ugc.fr : heure de fin, labels, note   │          └──────────────────────────┘
│  • Wikidata + IMDb : note IMDb           │
│  • OMDb (facultatif) : RT, Metacritic    │
└──────────────────────────────────────────┘

Un navigateur ne peut pas interroger directement Allociné ou UGC (restrictions CORS) : les données sont donc collectées côté serveur par GitHub Actions puis publiées comme fichiers statiques avec l'application. Les données sont collectées pour 7 jours, vers 6h, 11h, 16h et 19h (heure de Paris).

Cinémas inclus : tous les UGC (48), les MK2 parisiens et les cinémas autour de Saint-Quentin-en-Yvelines.

Mise en route (une seule fois)

  1. Rendre le dépôt public : Settings → General → Danger Zone → Change visibility. (GitHub Pages est gratuit pour les dépôts publics. Le dépôt ne contient aucune donnée personnelle ni clé.)
  2. Activer GitHub Pages : Settings → Pages → Build and deployment → Source : GitHub Actions.
  3. Lancer une première mise à jour : Actions → Mise à jour des séances → Run workflow.
  4. Ouvrir https://vquemener.github.io/claudecodecloud/ sur le téléphone, puis :
    • Android (Chrome) : menu ⋮ → Ajouter à l'écran d'accueil / Installer l'application ;
    • iPhone (Safari) : bouton Partager → Sur l'écran d'accueil.

Notes Rotten Tomatoes et Metacritic (facultatif)

Elles proviennent d'OMDb, qui demande une clé gratuite (1 000 requêtes/jour, largement suffisant grâce au cache) :

  1. Demander une clé sur https://www.omdbapi.com/apikey.aspx (offre FREE), puis l'activer via le lien reçu par e-mail.
  2. Dans le dépôt : Settings → Secrets and variables → Actions → New repository secret, nom OMDB_API_KEY, valeur = la clé.

Un secret GitHub est chiffré et n'est jamais visible dans le code, même sur un dépôt public : seul le programme de collecte y a accès pendant son exécution. Il n'apparaît pas non plus dans les journaux, où GitHub le masque automatiquement.

La note IMDb, elle, ne nécessite aucune clé (Wikidata + jeux de données publics IMDb).

Ajouter un cinéma

Éditer scraper/cinemas.json (directement sur github.com : icône crayon) et ajouter une entrée :

{"id": "B0007", "name": "Ciné 7", "city": "Élancourt", "chain": "Indépendant"}

L'identifiant id est celui d'Allociné : il figure dans l'adresse de la page du cinéma (allocine.fr/seance/salle_gen_csalle=B0007.html). Pour un cinéma UGC, ajouter aussi "ugcId" (numéro visible dans ugc.fr/cinema.html?id=6) afin d'avoir l'heure exacte de début du film, le label et la note UGC.

Développement local

python3 scraper/scrape.py --only B9052 --days 2 --no-external   # collecte rapide
cd site && python3 -m http.server 8000                           # puis http://localhost:8000

Options du collecteur : --days N, --only ID1,ID2, --no-external (sans IMDb/OMDb), --workers N.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages