Cinemap · Étude de cas

Toutes les séances de cinéma, sur une carte.

Cinemap réunit sur une carte plus de 3 000 cinémas français et leurs séances de la semaine. On y trouve ce qui passe près de chez soi, où voir un film et à quelle heure, puis on compose son programme de la journée.

Cinemap, films à l’affiche autour de Paris avec la prochaine séance
Couverture
3 000+ cinémas en France
Plateforme
Web et PWA installable
Frontend
Svelte 5 et MapLibre
Backend
Rust et SQLite
Publication
En ligne depuis octobre 2026

Fonctionnalités

Du film qui donne envie à la séance réservée.

  1. Une carte de plus de 3 000 cinémas en France

  2. Les séances de la semaine, mises à jour chaque nuit

  3. Filtres VF ou VO, horaire et cinémas favoris

  4. Cinémas acceptant UGC Illimité ou Pathé CinéPass

  5. Un programme de la journée composé à partir de 1 à 4 films

  6. Une app installable, sans compte, partageable par lien

Rôle

De la donnée brute au site en ligne.

J’ai conçu Cinemap et écrit son backend en Rust : collecte des séances, enrichissement des fiches films, API, pages rendues côté serveur, puis déploiement continu sur un VPS.

En chiffres

3 100+

cinémas référencés en France

7 jours

de séances consultables à l’avance

0 cookie

mesure d’audience sans identifiant

Défi technique

Des séances justes pour 3 000 cinémas.

Chaque cinéma est rattaché à son identifiant AlloCiné plutôt qu’à un rapprochement par nom, ce qui évite d’afficher les séances d’un UGC sur un autre. Les cinémas sont géolocalisés avec l’API Adresse et croisés avec les données du CNC.

Chaque nuit, le backend relit toutes les pages de séances, page par page et à un rythme modéré, puis complète les films avec TMDB pour les affiches, les synopsis et le casting.

Architecture

Un binaire Rust, une base SQLite, une PWA.

Un seul binaire Rust (axum, sqlx, reqwest) sert l’API JSON, les pages HTML des films, cinémas et villes, et le sitemap. Les données tiennent dans SQLite ; les scrapers tournent via des timers systemd derrière nginx.

Le front est une PWA Svelte 5 avec une carte MapLibre. Favoris et programme restent dans le navigateur, sans compte. Chaque push sur main passe la CI GitHub Actions puis part en production.

Essayer Cinemap

Qu’est-ce qui passe près de chez vous ?