# Cine France — Nouveaux films en salles Site web statique montrant les **nouveaux films en salles en France**, classés par **genre**, avec les **sorties de la semaine** et le **box-office hebdomadaire**. ## Données Toutes les données proviennent de [JP Box-Office](https://www.jpbox-office.com/) — le référent français pour les entrées au cinéma. | Section | Source JP Box-Office | |---------|---------------------| | Nouveautés / sorties | `v9_avenir.php?view=2&date=YYYY-MM-DD` | | Box-office hebdo | `v9_tophebdo.php?idsem=N&view=2` | | Classement annuel | `v9_charts_total.php?view=2&variable=AAAA` | | Fiches films | `fichfilm.php?id=N&view=2` | > « Entrées » = spectateurs en France métropolitaine. Les affiches sont téléchargées localement ; elles restent la propriété de leurs ayants droit (usage démo uniquement). ## Structure du projet ``` sites/cine-france/ ├── index.html # Page principale ├── README.md # Ce fichier ├── build_dataset.py # Générateur de données (Python 3) ├── data/ │ ├── cache/ # Cache HTTP des pages JPBO │ └── films.json # Données brutes (JSON) └── assets/ ├── style.css # Styles (CSS variables, burger, animations) ├── app.js # Comportement interactif (vanilla JS) ├── data.js # Données (window.CINE_DATA) └── posters/ # Affiches téléchargées localement ``` ## Générer les données ```bash cd sites/cine-france python build_dataset.py --weeks 8 --ahead 2 ``` Options : | Option | Description | |--------|-------------| | `--weeks N` | Nombre de semaines passées à couvrir (défaut : 8) | | `--ahead N` | Nombre de semaines futures à couvrir (défaut : 2) | | `--fresh` | Ignore le cache HTTP et retélécharge tout | | `--out PATH` | Chemin du fichier de sortie (défaut : `assets/data.js`) | Le script génère deux fichiers : - `assets/data.js` — définit `window.CINE_DATA` (pour le site) - `data/films.json` — version JSON exploitable ## Structure des données `window.CINE_DATA` contient : ```js { "genereLe": "2026-10-05", // Date de génération "source": { "nom", "url", "note" }, "genres": ["Comédie", "Drame", ...], // Tous les genres rencontrés "semaines": [ // Une entrée par semaine (plus récente en premier) { "idsem": 2962, "debut": "2026-09-28", "label": "Semaine du 28 septembre au 4 octobre", "classement": [ // Box-office de la semaine { "id": 12345, "rang": 1, "entrees": 253000, "cumul": 623000 } ], "entrees": 1234567, "nFilms": 20 } ], "films": [ // Tous les films (triés par date de sortie) { "id": 12345, "titre": "Titre", "titreComplet": "Titre (2026)", "genres": ["Drame", "Romance"], "genre": "Drame", // Premier genre "pays": "France", "duree": 112, // Durée en minutes "synopsis": "...", "affiche": "posters/pabc123.jpg", // Chemin local ou vide "entreesCumules": 1234567, "sortie": "2026-09-28", "entreesSemaine": 253000, "rangSemaine": 3, "entreesSemaineSortie": 85000 } ] } ``` ## Lancer le site Le site est **100 % statique** — aucun serveur n'est nécessaire : ```bash cd sites/cine-france # Ouvrir index.html dans le navigateur python -m http.server 8000 # ou simplement: open index.html ``` ## Style Le site reprend le design de [Coproconseil](../coproconseil/) : - Couleurs : `--c-navy` (principal) et `--c-gold` (accent) - Typographie : système sans serif - `.container` pour la largeur maximale - `.btn` pour les boutons - Menu burger responsive (toggle au clic) - Animations `reveal` au scroll (via IntersectionObserver) - Grille CSS pour les cartes de films ## Sections du site 1. **Header** — menu de navigation + titre 2. **Hero** — titre + statistiques (nombre de films, semaines, genres) 3. **Sorties de la semaine** — films sortis dans la semaine courante 4. **Box-office** — top 20 de la semaine la plus récente 5. **Par genre** — grille de films filtrable par genre 6. **Footer** — sources et mentions légales --- *Site généré le — Cine France, powered by JP Box-Office.*