Chargement...
Chargement...
Integrez les donnees de Lumiere Cinema dans vos applications. API publique, sans authentification requise, JSON standard.
https://cinema.lumiere.film/api/v1/api/v1/filmsListe tous les films publics avec pagination, filtres par genre/statut et tri.
| Nom | Type | Description |
|---|---|---|
page | number | Numero de page (defaut: 1) |
limit | number | Resultats par page (1-50, defaut: 20) |
genre | string | Filtrer par genre (DRAMA, COMEDY, ACTION, etc.) |
status | string | Filtrer par statut (IN_PRODUCTION, RELEASED, etc.) |
sort | string | Tri: recent (defaut), title, progress |
{
"data": [
{
"id": "clx...",
"title": "Le Dernier Spectacle",
"slug": "le-dernier-spectacle",
"genre": "DRAMA",
"status": "IN_PRODUCTION",
"synopsis": "Un ancien projectionniste...",
"coverImageUrl": "/images/films/...",
"progressPct": 35,
"phasesCount": 10,
"tasksCount": 47,
"createdAt": "2026-01-15T10:00:00.000Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 20,
"totalPages": 1
}
}/api/v1/films/:idDetail d'un film par ID ou slug. Inclut les phases de production et les compteurs.
| Nom | Type | Description |
|---|---|---|
id | string | ID unique ou slug du film |
{
"data": {
"id": "clx...",
"title": "Le Dernier Spectacle",
"slug": "le-dernier-spectacle",
"genre": "DRAMA",
"catalog": "LUMIERE_ORIGINAL",
"status": "IN_PRODUCTION",
"synopsis": "...",
"coverImageUrl": "...",
"trailerUrl": null,
"progressPct": 35,
"estimatedBudget": 50000,
"createdAt": "2026-01-15T10:00:00.000Z",
"phases": [
{
"id": "...",
"phaseName": "PRE_PRODUCTION",
"status": "COMPLETED",
"order": 1,
"tasksCount": 8
}
],
"counts": {
"tasks": 47,
"scenarios": 3
}
}
}/api/v1/statsStatistiques publiques de la plateforme. Donnees en cache (5 min TTL via Redis).
{
"data": {
"films": 20,
"tasksCompleted": 156,
"contributors": 42,
"scenarios": 18,
"timestamp": "2026-02-24T14:30:00.000Z"
}
}/api/v1/contributorsClassement des contributeurs verifies par Lumens. Inclut competences et score de reputation.
| Nom | Type | Description |
|---|---|---|
page | number | Numero de page (defaut: 1) |
limit | number | Resultats par page (1-50, defaut: 20) |
{
"data": [
{
"id": "clx...",
"displayName": "Alice Martin",
"avatarUrl": null,
"role": "CONTRIBUTOR",
"level": "EXPERT",
"lumens": 2450,
"reputationScore": 92,
"skills": ["acting", "voice", "editing"],
"tasksCompleted": 34
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 42,
"totalPages": 3
}
}// Liste des films
const res = await fetch('https://cinema.lumiere.film/api/v1/films?limit=5&genre=DRAMA')
const { data, pagination } = await res.json()
console.log(data) // Film[]
console.log(pagination.total) // nombre total
// Detail d'un film par slug
const film = await fetch('https://cinema.lumiere.film/api/v1/films/le-dernier-spectacle')
const { data: filmDetail } = await film.json()
// Statistiques de la plateforme
const stats = await fetch('https://cinema.lumiere.film/api/v1/stats')
const { data: platformStats } = await stats.json()curl -s https://cinema.lumiere.film/api/v1/films | jq .
curl -s https://cinema.lumiere.film/api/v1/stats | jq .
curl -s "https://cinema.lumiere.film/api/v1/contributors?limit=5" | jq .L'API est publique et n'a pas de limite stricte actuellement. Un rate limiting sera ajoute dans une version future. Merci de ne pas depasser 60 requetes par minute.
Toutes les reponses sont en JSON. En cas d'erreur, le format est { "error": "message" } avec le code HTTP correspondant (404, 500, etc.).